On Fri, Mar 08, 2019 at 03:03:07PM +0100, Martin Liška wrote: > I'm going to install Jakub's test-case for a PR that's fixed > on trunk.
This fails on i686-linux regtest when linker plugin is disabled (I use that in my setup, because my ld is 64-bit and 32-bit plugins don't really work very well with 64-bit linker). The problem is that XYZ is extern in both sources, no idea why it actually works with linker plugin. That said, dropping extern from one of the two doesn't really work, the ICE when the fix is reverted goes away. But with the following change the ICE is still in there when r268789 and r268981 is reverted (both in this i686-linux setup and normal x86_64-linux with linker plugin), and with vanilla cc1/lto1 works. So, I've committed this to trunk as obvious. 2019-03-08 Jakub Jelinek <ja...@redhat.com> PR c/85870 * gcc.dg/lto/pr85870_0.c: Add dg-extra-ld-options with -r -nostdlib -flinker-output=nolto-rel. --- gcc/testsuite/gcc.dg/lto/pr85870_0.c.jj 2019-03-08 21:43:52.032655832 +0100 +++ gcc/testsuite/gcc.dg/lto/pr85870_0.c 2019-03-08 23:25:15.150784557 +0100 @@ -1,6 +1,7 @@ /* PR c/85870 */ /* { dg-lto-do link } */ /* { dg-lto-options { { -flto -O2 } } } */ +/* { dg-extra-ld-options { -r -nostdlib -flinker-output=nolto-rel } } */ typedef struct abc_s { char a1; Jakub