aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2loc.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2003-09-11 15:02:51 +0000
committerDaniel Jacobowitz <drow@false.org>2003-09-11 15:02:51 +0000
commitf630a401b42ad72e62a648f81bb604325e6fe6b8 (patch)
treea451fa6a1b1422be53fb0aec4afcec706c68e4be /gdb/dwarf2loc.c
parent0ddabb4c3c6addd3027c39a76d5b623e0176f883 (diff)
downloadgdb-f630a401b42ad72e62a648f81bb604325e6fe6b8.zip
gdb-f630a401b42ad72e62a648f81bb604325e6fe6b8.tar.gz
gdb-f630a401b42ad72e62a648f81bb604325e6fe6b8.tar.bz2
* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
register do need a frame.
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r--gdb/dwarf2loc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index a4141a0..fac5c4a 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