Skip to content

nodejs 24.0.1 tries and fails to link v8's maglev on s390x #58954

@khardix

Description

@khardix

Version

24.0.1

Platform

Linux ce914293929347cba01065b95f8f20e8 6.15.4-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jun 27 15:32:46 UTC 2025 s390x GNU/Linux

Subsystem

No response

What steps will reproduce the bug?

Try to build nodejs 24.0.1 on s390x without touching any configure options specifically mentioning v8 or it's maglev subsystem.

How often does it reproduce? Is there a required condition?

Always.

What is the expected behavior? Why is that the expected behavior?

Node compiles and links into usable artifacts.

What do you see instead?

The compilation proceeds up until trying to link v8, at which point ld fails with bunch of duplicate definitions in maglev. One example for all:

/usr/bin/ld: obj/tools/v8_gypfiles/../../deps/v8/src/maglev/v8_compiler.maglev-compilation-info.o (symbol from plugin): in function `v8::internal::maglev::MaglevCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope(v8::internal::Isolate*)':
(.text+0x0): multiple definition of `v8::internal::maglev::MaglevCompilationInfo::ReopenAndCanonicalizeHandlesInNewScope(v8::internal::Isolate*)'; obj/tools/v8_gypfiles/../../deps/v8/src/maglev/v8_base_without_compiler.maglev-compilation-info.o:/builddir/build/BUILD/nodejs24-24.0.1-build/node-v24.0.1/out/Release/../../deps/v8/src/maglev/maglev-compilation-info.cc:162: first defined here

The full build log: nodejs24-s390x-maglev-builder-live.log.gz

Additional information

  • The issue does not manifest on x86_64.
  • The issue does not manifest on v22, namely version 22.17.0 compiles and links successfully in the same environment and with the same configuration options.
  • According to configure.py output, 'v8_enable_maglev': 0, but the sources are still compiled and attempted to be linked.
  • I don't need maglev to work on s390x; disabling it's compilation properly is acceptable outcome.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions