http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58733
--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- With gold I get: markus@x4 lto % cat 20090302_0.C /* { dg-lto-do link } */ /* { dg-require-effective-target fpic } */ /* { dg-lto-options {{-fPIC -flto -flto-partition=1to1 -r -nostdlib}} } */ struct Foo { bool Mumble(); static void Bar() { if (foo_->Mumble()) foo_ = 0; } static void Baz() { Bar(); } static Foo *foo_; }; void Unused() { Foo::Bar(); Foo::Baz(); } markus@x4 lto % g++ -fPIC -flto -r -nostdlib 20090302_0.C lto1: internal compiler error: in operator[], at vec.h:719 0x54b227 vec<inline_summary, va_gc, vl_embed>::operator[](unsigned int) ../../gcc/gcc/vec.h:719 0x54cd04 vec<inline_summary, va_gc, vl_embed>::operator[](unsigned int) ../../gcc/gcc/vec.h:1167 0x54cd04 inline_summary ../../gcc/gcc/ipa-inline.h:244 0x54cd04 lto_balanced_map() ../../gcc/gcc/lto/lto-partition.c:502 0x547d76 do_whole_program_analysis ../../gcc/gcc/lto/lto.c:3161 0x547d76 lto_main() ../../gcc/gcc/lto/lto.c:3301 markus@x4 lto % cat 20090302_0.res 1 20090302_0.o 5 181 afeebb30522d796 PREVAILING_DEF _ZN3Foo3BarEv 184 afeebb30522d796 PREVAILING_DEF _ZN3Foo3BazEv 187 afeebb30522d796 PREVAILING_DEF _Z6Unusedv 203 afeebb30522d796 UNDEF _ZN3Foo4foo_E 200 afeebb30522d796 UNDEF _ZN3Foo6MumbleEv _ZN3Foo3BazEv/1 (Baz) @0x7f5f7ba71000 Type: function definition analyzed Visibility: externally_visible prevailing_def public weak comdat comdat_group:_ZN3Foo3BazEv one_only References: Referring: _ZN3Foo3BazEv.localalias.0/7 (alias) With bfd the symbols are PREVAILING_DEF_IRONLY_EXP: markus@x4 foo % cat 20090302_0.res 1 20090302_0.o 5 181 8c3642f7b0939cf4 PREVAILING_DEF_IRONLY_EXP _ZN3Foo3BarEv 184 8c3642f7b0939cf4 PREVAILING_DEF_IRONLY_EXP _ZN3Foo3BazEv 187 8c3642f7b0939cf4 PREVAILING_DEF_IRONLY_EXP _Z6Unusedv 203 8c3642f7b0939cf4 UNDEF _ZN3Foo4foo_E 200 8c3642f7b0939cf4 UNDEF _ZN3Foo6MumbleEv markus@x4 foo % _ZN3Foo3BazEv/1 (Baz) @0x7f5166ec1000 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: