PR lto/61012 (ICE on undefined symbol)
Jan Hubicka
hubicka@ucw.cz
Thu May 22 05:40:00 GMT 2014
Hi,
this patch fixes an ICE on undefined symbol. The testcase does not really go easily to testsuite
because it needs the undefined symbols to trigger. THe bug is however clear - one of the
loops is not properly skipping the static symbols.
Bootstrapped/regtested x86_64-linux, comitted to mainline and branch.
Honza
PR lto/61012
* lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
mixed with variables.
Index: lto-symtab.c
===================================================================
--- lto-symtab.c (revision 210672)
+++ lto-symtab.c (working copy)
@@ -453,7 +453,12 @@ lto_symtab_merge_decls_1 (symtab_node *f
cgraph or a varpool node. */
if (!prevailing)
{
- prevailing = first;
+ for (prevailing = first;
+ prevailing; prevailing = prevailing->next_sharing_asm_name)
+ if (lto_symtab_symbol_p (prevailing))
+ break;
+ if (!prevailing)
+ return;
/* For variables chose with a priority variant with vnode
attached (i.e. from unit where external declaration of
variable is actually used).
More information about the Gcc-patches
mailing list