https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69188
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed| |2016-12-01 CC| |hubicka at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Known to work| |4.9.4 Ever confirmed|0 |1 Known to fail| |5.4.0, 6.2.0, 7.0 --- Comment #18 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. lto1: internal compiler error: in lto_varpool_replace_node, at lto/lto-symtab.c:122 0x62e519 lto_varpool_replace_node /space/rguenther/src/gcc-git/gcc/lto/lto-symtab.c:122 0x62f67a lto_symtab_merge_symbols_1 /space/rguenther/src/gcc-git/gcc/lto/lto-symtab.c:882 0x62f67a lto_symtab_merge_symbols() /space/rguenther/src/gcc-git/gcc/lto/lto-symtab.c:939 0x62352e read_cgraph_and_symbols /space/rguenther/src/gcc-git/gcc/lto/lto.c:2930 0x62352e lto_main() /space/rguenther/src/gcc-git/gcc/lto/lto.c:3304 Please submit a full bug report, The test is just using -O -fprofile-generate -flto -fPIC and letting option auto-deduce work at link time (no options given). One file is built with -O0. 118 static void 119 lto_varpool_replace_node (varpool_node *vnode, 120 varpool_node *prevailing_node) 121 { 122 gcc_assert (!vnode->definition || prevailing_node->definition); 123 gcc_assert (!vnode->analyzed || prevailing_node->analyzed); 124 125 prevailing_node->clone_referring (vnode); 126 if (vnode->force_output) (gdb) p vnode->definition $1 = 1 (gdb) p prevailing_node->definition $2 = 0 (gdb) p vnode->analyzed $3 = 1 (gdb) p prevailing_node->analyzed $4 = 0