Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH/i386newframe] Fix amd64 stack frame base address
@ 2003-05-19 16:59 Mark Kettenis
  2003-05-19 17:09 ` Elena Zannoni
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Kettenis @ 2003-05-19 16:59 UTC (permalink / raw)
  To: gdb-patches

This makes the DWARF CFI and amd64 unwinders agree on what's the base
of the stack frame.

Comitted.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* x86-64-tdep.c (x86_64_frame_this_id,
	x86_64_sigtramp_frame_this_id, x86_64_unwind_dummy_id): Add offset
	to the frame base such that we use the same defenition for the top
	of stack as DWARF CFI does.

Index: x86-64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/x86-64-tdep.c,v
retrieving revision 1.67.2.4
diff -u -p -r1.67.2.4 x86-64-tdep.c
--- x86-64-tdep.c 18 May 2003 17:57:00 -0000 1.67.2.4
+++ x86-64-tdep.c 19 May 2003 16:57:10 -0000
@@ -966,7 +966,7 @@ x86_64_frame_this_id (struct frame_info 
   if (inside_entry_file (cache->pc))
     return;
 
-  (*this_id) = frame_id_build (cache->base, cache->pc);
+  (*this_id) = frame_id_build (cache->base + 16, cache->pc);
 }
 
 static void
@@ -1064,7 +1064,7 @@ x86_64_sigtramp_frame_this_id (struct fr
   struct x86_64_frame_cache *cache =
     x86_64_sigtramp_frame_cache (next_frame, this_cache);
 
-  (*this_id) = frame_id_build (cache->base, frame_pc_unwind (next_frame));
+  (*this_id) = frame_id_build (cache->base + 16, frame_pc_unwind (next_frame));
 }
 
 static void
@@ -1133,7 +1133,7 @@ x86_64_unwind_dummy_id (struct gdbarch *
   frame_unwind_register (next_frame, X86_64_RBP_REGNUM, buf);
   fp = extract_unsigned_integer (buf, 8);
 
-  return frame_id_build (fp, frame_pc_unwind (next_frame));
+  return frame_id_build (fp + 16, frame_pc_unwind (next_frame));
 }
 
 void


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH/i386newframe] Fix amd64 stack frame base address
  2003-05-19 16:59 [PATCH/i386newframe] Fix amd64 stack frame base address Mark Kettenis
@ 2003-05-19 17:09 ` Elena Zannoni
  0 siblings, 0 replies; 2+ messages in thread
From: Elena Zannoni @ 2003-05-19 17:09 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: gdb-patches

Mark Kettenis writes:
 > This makes the DWARF CFI and amd64 unwinders agree on what's the base
 > of the stack frame.
 > 
 > Comitted.

thanks! this fixes the assertion failure I was seeing. Running the
testsuite right now.

elena


 > 
 > Mark
 > 
 > 
 > Index: ChangeLog
 > from  Mark Kettenis  <kettenis@gnu.org>
 > 
 > 	* x86-64-tdep.c (x86_64_frame_this_id,
 > 	x86_64_sigtramp_frame_this_id, x86_64_unwind_dummy_id): Add offset
 > 	to the frame base such that we use the same defenition for the top
 > 	of stack as DWARF CFI does.
 > 
 > Index: x86-64-tdep.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/x86-64-tdep.c,v
 > retrieving revision 1.67.2.4
 > diff -u -p -r1.67.2.4 x86-64-tdep.c
 > --- x86-64-tdep.c 18 May 2003 17:57:00 -0000 1.67.2.4
 > +++ x86-64-tdep.c 19 May 2003 16:57:10 -0000
 > @@ -966,7 +966,7 @@ x86_64_frame_this_id (struct frame_info 
 >    if (inside_entry_file (cache->pc))
 >      return;
 >  
 > -  (*this_id) = frame_id_build (cache->base, cache->pc);
 > +  (*this_id) = frame_id_build (cache->base + 16, cache->pc);
 >  }
 >  
 >  static void
 > @@ -1064,7 +1064,7 @@ x86_64_sigtramp_frame_this_id (struct fr
 >    struct x86_64_frame_cache *cache =
 >      x86_64_sigtramp_frame_cache (next_frame, this_cache);
 >  
 > -  (*this_id) = frame_id_build (cache->base, frame_pc_unwind (next_frame));
 > +  (*this_id) = frame_id_build (cache->base + 16, frame_pc_unwind (next_frame));
 >  }
 >  
 >  static void
 > @@ -1133,7 +1133,7 @@ x86_64_unwind_dummy_id (struct gdbarch *
 >    frame_unwind_register (next_frame, X86_64_RBP_REGNUM, buf);
 >    fp = extract_unsigned_integer (buf, 8);
 >  
 > -  return frame_id_build (fp, frame_pc_unwind (next_frame));
 > +  return frame_id_build (fp + 16, frame_pc_unwind (next_frame));
 >  }
 >  
 >  void


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-05-19 17:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-19 16:59 [PATCH/i386newframe] Fix amd64 stack frame base address Mark Kettenis
2003-05-19 17:09 ` Elena Zannoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox