This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa/6.0] Fix a thinko in dwarf2loc
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com, jimb at redhat dot com, ezannoni at redhat dot com
- Date: Sun, 17 Aug 2003 16:58:22 -0400
- Subject: Re: [rfa/6.0] Fix a thinko in dwarf2loc
- References: <20030801193245.GA2529@nevyn.them.org>
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
>
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer