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]

[PATCH] Multi-arch SIGTRAMP_START and SIGTRAMP_END


Subject says it all.

Checked in.

Mark

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

	* gdbarch.sh (SIGTRAMP_START, SIGTRAMP_END): New methods.
	* gdbarch.h, gdbarch.c: Re-generate.
	* blockframe.c (find_pc_sect_partial_function): Convert to use
	SIGTRAMP_START_P predicate.

Index: blockframe.c
===================================================================
RCS file: /cvs/src/src/gdb/blockframe.c,v
retrieving revision 1.38
diff -u -p -r1.38 blockframe.c
--- blockframe.c 22 Aug 2002 22:25:17 -0000 1.38
+++ blockframe.c 6 Sep 2002 20:15:49 -0000
@@ -816,8 +816,7 @@ find_pc_sect_partial_function (CORE_ADDR
 
   /* If sigtramp is in the u area, it counts as a function (especially
      important for step_1).  */
-#if defined SIGTRAMP_START
-  if (PC_IN_SIGTRAMP (mapped_pc, (char *) NULL))
+  if (SIGTRAMP_START_P () && PC_IN_SIGTRAMP (mapped_pc, (char *) NULL))
     {
       cache_pc_function_low = SIGTRAMP_START (mapped_pc);
       cache_pc_function_high = SIGTRAMP_END (mapped_pc);
@@ -825,7 +824,6 @@ find_pc_sect_partial_function (CORE_ADDR
       cache_pc_function_section = section;
       goto return_cached_value;
     }
-#endif
 
   msymbol = lookup_minimal_symbol_by_pc_section (mapped_pc, section);
   pst = find_pc_sect_psymtab (mapped_pc, section);
Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.158
diff -u -p -r1.158 gdbarch.sh
--- gdbarch.sh 24 Aug 2002 00:21:34 -0000 1.158
+++ gdbarch.sh 6 Sep 2002 20:15:50 -0000
@@ -636,6 +636,8 @@ f:2:IN_SOLIB_RETURN_TRAMPOLINE:int:in_so
 # Some code also depends on SIGTRAMP_START and SIGTRAMP_END but other
 # does not.
 f:2:PC_IN_SIGTRAMP:int:pc_in_sigtramp:CORE_ADDR pc, char *name:pc, name:::legacy_pc_in_sigtramp::0
+F:2:SIGTRAMP_START:CORE_ADDR:sigtramp_start:CORE_ADDR pc:pc
+f:2:SIGTRAMP_END:CORE_ADDR:sigtramp_end:CORE_ADDR pc:pc:::::0
 # A target might have problems with watchpoints as soon as the stack
 # frame of the current function has been destroyed.  This mostly happens
 # as the first action in a funtion's epilogue.  in_function_epilogue_p()


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