[Bug lto/83967] LTO removes C functions declared as weak in assembler(depending on files order in linking)
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 23 09:10:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83967
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Still not 100% sure which Handler should prevail in resolving the symbol for
Dispatch. Currently it seems the non-weak one prevails which looks correct.
I think in both cases the resolution from GNU ld is bogus. Take the working
one:
190 16b2980a71930688 PREEMPTED_REG Handler
that's clearly wrong -- Handler prevails!
190 801577c96f9ccef3 PREVAILING_DEF_IRONLY Handler
that's wrong because in the assembler file Handler is used to resolve the
symbol at Dispatch.
gold seems to get it correct as PREVAILING_DEF (but not _IRONLY).
More information about the Gcc-bugs
mailing list