This patch fixes an ICE in remove_addr_table_entry, where we try to remove the .debug_addr entries for an expression where they've already been removed earlier in the loop.
-cary 2013-03-05 Sterling Augustine <saugust...@google.com> Cary Coutant <ccout...@google.com> PR debug/55364 * gcc/dwarf2out.c (resolve_addr): Don't call remove_loc_list_addr_table_entries a second time for the same expression. Index: gcc/dwarf2out.c =================================================================== --- gcc/dwarf2out.c (revision 196479) +++ gcc/dwarf2out.c (working copy) @@ -22691,8 +22691,6 @@ resolve_addr (dw_die_ref die) else { loc->replaced = 1; - if (dwarf_split_debug_info) - remove_loc_list_addr_table_entries (loc->expr); loc->dw_loc_next = *start; } }