]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
authorDaniel Jacobowitz <drow@false.org>
Thu, 11 Sep 2003 15:03:43 +0000 (15:03 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 11 Sep 2003 15:03:43 +0000 (15:03 +0000)
register do need a frame.

gdb/ChangeLog
gdb/dwarf2loc.c

index 9933378c8f8f4dc98192483be07bde031b3c10a4..ea86ab5f52be066d891d50678984a4a9d166ab35 100644 (file)
@@ -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-09  Jeff Johnston  <jjohnstn@redhat.com>
 
         * ia64-tdep.c (ia64_sigtramp_frame_init_saved_regs):
index a4141a0432c0e9de640388e5803de09654c1be30..fac5c4ac1a1cee261e570a450bd12906faa8669d 100644 (file)
@@ -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