[Bug ipa/93369] [10 regression] g++.dg/lto/pr64076 fails

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Apr 4 10:11:58 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93369

--- Comment #17 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Note that to fully fix the problem we need to resolve the way aliases works.
In this case ODR violation makes one COMDAT section to contain only ctor, while
other contains ctor and its thunk.  The first COMDAT wins which makes the thunk
to call alias of a symbol prevailed by different COMDAT.
This still work w/o LTO and to immitate what happens in linker correctly
we need ability to load both constructors

https://gcc.gnu.org/pipermail/gcc-patches/2020-March/542733.html

For invalid code like this that does not matter much, but the patch has also a
valid testcase.

I can also however patch around and silence the verifier ICE, but it would be
just symptomatic workaround


More information about the Gcc-bugs mailing list