Closed
Description
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=