[Bug target/81879] Bad compilation of small program if LTO is used
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Feb 24 22:31:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81879
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-02-24
CC| |marxin at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed. I can confirm that the difference in resolution file is the problem:
750 6dacea834fb099d1 PREVAILING_DEF_IRONLY _ZNKSt5ctypeIcE8do_widenEc
vs.
750 1b64a3a32ab1e36a PREEMPTED_REG _ZNKSt5ctypeIcE8do_widenEc
Note that on a native x86_64-linux-gnu system, the resolution is also
PREVAILING_DEF_IRONLY with -static option.
It's also visible with:
x86_64-w64-mingw32-nm --plugin
/usr/lib64/gcc/x86_64-w64-mingw32/8.2.0/liblto_plugin.so simpler.o | grep
do_widen
00000000 T _ZNKSt5ctypeIcE8do_widenEc
while on a native linux system:
nm s2.o | grep do_widen
00000000 W _ZNKSt5ctypeIcE8do_widenEc
T == The symbol is in the text (code) section.
W == The symbol is a weak object.
More information about the Gcc-bugs
mailing list