2012-03-23 Cary Coutant <ccout...@google.com> * dwarf2out.c (resolve_addr): Remove address table entry for symbol when removing location list entry.
Index: dwarf2out.c =================================================================== --- dwarf2out.c (revision 185594) +++ dwarf2out.c (working copy) @@ -23803,11 +23803,15 @@ resolve_addr (dw_die_ref die) if (!resolve_addr_in_expr ((*curr)->expr)) { dw_loc_list_ref next = (*curr)->dw_loc_next; + dw_loc_descr_ref l = (*curr)->expr; + if (next && (*curr)->ll_symbol) { gcc_assert (!next->ll_symbol); next->ll_symbol = (*curr)->ll_symbol; } + if (l->dw_loc_oprnd1.val_index != -1U) + remove_addr_table_entry (l->dw_loc_oprnd1.val_index); *curr = next; } else -- This patch is available for review at http://codereview.appspot.com/5900045