summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2003-09-11 15:02:51 +0000
committerDaniel Jacobowitz <dan@debian.org>2003-09-11 15:02:51 +0000
commit2a61e527bc76a3c6a3a9ab299f61c3b1a247b556 (patch)
tree9983dd9cfafa99df756b307bfdc1433dda0f75eb /gdb
parentde1408fe0693d6a1b80fbf17a371c4c2898ae4f4 (diff)
downloadgdb-2a61e527bc76a3c6a3a9ab299f61c3b1a247b556.tar.gz
* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
register do need a frame.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2loc.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8546227250b..72e53fe327b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
+ register do need a frame.
+
2003-09-11 Andrew Cagney <cagney@redhat.com>
Since the IRIX 4 configuration was forcing K&R mode it hasn't been
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index a4141a0432c..fac5c4ac1a1 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -304,6 +304,7 @@ dwarf2_loc_desc_needs_frame (unsigned char *data, unsigned short size)
{
struct needs_frame_baton baton;
struct dwarf_expr_context *ctx;
+ int in_reg;
baton.needs_frame = 0;
@@ -316,9 +317,11 @@ dwarf2_loc_desc_needs_frame (unsigned char *data, unsigned short size)
dwarf_expr_eval (ctx, data, size);
+ in_reg = ctx->in_reg;
+
free_dwarf_expr_context (ctx);
- return baton.needs_frame;
+ return baton.needs_frame || in_reg;
}
static void