This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH/i386newframe] Fix amd64 stack frame base address


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]