Re: [rfa/6.0] Fix a thinko in dwarf2loc

Daniel Jacobowitz
2003-08-17T20:58:25Z

On Fri, Aug 01, 2003 at 03:32:45PM -0400, Daniel Jacobowitz wrote:
> Any variable with DW_OP_reg* requires a frame to read it - what
> symbol_read_needs_frame () really means is "is this variable meaningful when
> the program is not running".
>
> This would show up in the testsuite, but GCC doesn't tend to put locals in
> registers without optimization or register keywords everywhere. Symptom is
> that a watchpoint was not deleted when we left its scope, since we thought
> it was global.
>
> OK?

Ping...

[Does dwarf2loc fall under the maintenance umbrella of the dwarf2
reader?]

> 2003-08-01 Daniel Jacobowitz <drow@mvista.com>
>
> * dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
> register do need a frame.
>
> --- gdb-5.3.20030801/gdb/dwarf2loc.c.orig 2003-08-01 14:58:57.000000000 -0400
> +++ gdb-5.3.20030801/gdb/dwarf2loc.c 2003-08-01 15:00:05.000000000 -0400
> @@ -318,7 +318,7 @@ dwarf2_loc_desc_needs_frame (unsigned ch
>
> free_dwarf_expr_context (ctx);
>
> - return baton.needs_frame;
> + return baton.needs_frame || ctx->in_reg;
> }
>
> static void