[PATCH/SPARC] Fix prologue analysis for PLT slots

Mark Kettenis kettenis@chello.nl
Mon Dec 15 20:41:00 GMT 2003


Committed to the branch.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>
 
	* sparc-tdep.c (sparc32_frame_cache): Use
	frame_unwind_address_in_block to obtain the current PC for use in
	call to sparc32_analyze_prologue.
	* sparc64-tdep.c (sparc64_frame_cache): Likewise.

Index: sparc-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc-tdep.c,v
retrieving revision 1.127.2.7
diff -u -p -r1.127.2.7 sparc-tdep.c
--- sparc-tdep.c 15 Nov 2003 20:48:40 -0000 1.127.2.7
+++ sparc-tdep.c 15 Dec 2003 20:38:56 -0000
@@ -567,7 +567,10 @@ sparc32_frame_cache (struct frame_info *
 
   cache->pc = frame_func_unwind (next_frame);
   if (cache->pc != 0)
-    sparc32_analyze_prologue (cache->pc, frame_pc_unwind (next_frame), cache);
+    {
+      CORE_ADDR addr_in_block = frame_unwind_address_in_block (next_frame);
+      sparc32_analyze_prologue (cache->pc, addr_in_block, cache);
+    }
 
   if (cache->frameless_p)
     {
Index: sparc64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc64-tdep.c,v
retrieving revision 1.3.4.2
diff -u -p -r1.3.4.2 sparc64-tdep.c
--- sparc64-tdep.c 2 Nov 2003 20:26:32 -0000 1.3.4.2
+++ sparc64-tdep.c 15 Dec 2003 20:38:57 -0000
@@ -627,7 +627,10 @@ sparc64_frame_cache (struct frame_info *
 
   cache->pc = frame_func_unwind (next_frame);
   if (cache->pc != 0)
-    sparc64_analyze_prologue (cache->pc, frame_pc_unwind (next_frame), cache);
+    {
+      CORE_ADDR addr_in_block = frame_unwind_address_in_block (next_frame);
+      sparc64_analyze_prologue (cache->pc, addr_in_block, cache);
+    }
 
   if (cache->frameless_p)
     {



More information about the Gdb-patches mailing list