According to node developers it is bug in GIMPLE and inline assembler causing that node build with enabled LTO fails with missing PushAllRegistersAndIterateStack symbol. More details about how to build nodejs 21.0.0 to reproduce this issue is on https://github.com/nodejs/node/issues/50347
There are some known issues with top-level inline-asm and lto. It would be better if folks moved away from toplevel inline-asm really.
(In reply to Andrew Pinski from comment #1) > There are some known issues with top-level inline-asm and lto. > > It would be better if folks moved away from toplevel inline-asm really. May I ask to drop some comment about that with some instruction what needs to be done instead under https://github.com/nodejs/node/issues/50347 ?
Dup of bug 46820 (and others). Again the big issue is top-level inline-asm is just broken for LTO really. Things like PushAllRegistersAndIterateStack in this case should be put into a .s file. I see they did that for deps/v8/src/heap/base/asm/arm64/push_registers_masm.S already too. *** This bug has been marked as a duplicate of bug 46820 ***
And: v8/src/heap/base/asm/ia32/push_registers_masm.asm