http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-05 17:46:27 UTC --- Indeed, with #c3 testcase I can reproduce it after #undef HAVE_GAS_WEAKREF in auto-host.h. When assembler doesn't support weakrefs, gcc performs what the assembler does, i.e. transparently uses the weakref arg symbols instead of the weakref symbols, and if there is any direct reference to the weakref arg symbol in the source doesn't make it .weak, if there are none, makes it .weak. Without -flto this seems to work fine, with -flto it doesn't.