diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2loc.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8546227..72e53fe 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 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 |