Skip to content

Node 15 build fails with LTO enabled #35957

Description

@astefanutti

Node 15.0.1 build fails when LTO is enabled with the following message:

/tmp/ccikGPmp.s: Assembler messages:
/tmp/ccikGPmp.s:26: Error: symbol `PushAllRegistersAndIterateStack' is already defined
make[2]: *** [/tmp/ccdIdoeH.mk:2: /tmp/node.aneJAa.ltrans0.ltrans.o] Error 1
make[2]: *** Waiting for unfinished jobs....
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.

The build with same configuration used to be successful for Node 14.x and previous versions.

It seems related to the v8 version upgrade from 8.4 to 8.6. It may be the PushAllRegistersAndIterateStack assembly gets inlined multiple times, which leads to duplicated symbols in the LTO compilation unit.

  • Version: 15.0.1
  • Platform: Linux

What steps will reproduce the bug?

$ ./configure --enable-lto && make -j$(getconf _NPROCESSORS_ONLN) V=

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.linuxIssues and PRs related to the Linux platform.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions