]> 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:02:51 +0000 (15:02 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 11 Sep 2003 15:02:51 +0000 (15:02 +0000)
register do need a frame.

gdb/ChangeLog
gdb/dwarf2loc.c

index 8546227250bdf5424e9b8a0d54e83fba61059897..72e53fe327bcd71fe6d790f0b1a06221b527dc1d 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-11  Andrew Cagney  <cagney@redhat.com>
 
        Since the IRIX 4 configuration was forcing K&R mode it hasn't been
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