Re: [google/4.6] For -gfission, remove address table entry when removing location list entry (issue5900045)

2012-03-23 Thread Sterling Augustine
On Fri, Mar 23, 2012 at 3:40 PM, Cary Coutant  wrote:
>
> 2012-03-23   Cary Coutant  
>
>        * 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

This patch is OK for Google 4.6.

Sterling


[google/4.6] For -gfission, remove address table entry when removing location list entry (issue5900045)

2012-03-23 Thread Cary Coutant
2012-03-23   Cary Coutant  

* 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