This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[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
- Date: Fri, 1 Aug 2003 15:32:45 -0400
- Subject: [rfa/6.0] Fix a thinko in dwarf2loc
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?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
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