This is the mail archive of the gdb-patches@sourceware.org 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]

[hpux] Improve sigtramp frame identification


the old code used to be hardcoded to look for a "_sigreturn" function, but according to the ABI, the signal frame can be identified by a specific bit in the unwind record. Use that instead.

committed
randolph
2005-11-19  Randolph Chung  <tausq@debian.org>

	* hppa-hpux-tdep.c (hppa_hpux_sigtramp_unwind_sniffer): Rely on the
	unwind record to determine a signal frame, instead of hardcoding
	a function name.

Index: hppa-hpux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-hpux-tdep.c,v
retrieving revision 1.43
diff -u -p -r1.43 hppa-hpux-tdep.c
--- hppa-hpux-tdep.c	29 Oct 2005 21:31:45 -0000	1.43
+++ hppa-hpux-tdep.c	19 Nov 2005 12:43:47 -0000
@@ -1246,12 +1274,12 @@ static const struct frame_unwind hppa_hp
 static const struct frame_unwind *
 hppa_hpux_sigtramp_unwind_sniffer (struct frame_info *next_frame)
 {
+  struct unwind_table_entry *u;
   CORE_ADDR pc = frame_pc_unwind (next_frame);
-  char *name;
 
-  find_pc_partial_function (pc, &name, NULL, NULL);
+  u = find_unwind_entry (pc);
 
-  if (name && strcmp(name, "_sigreturn") == 0)
+  if (u && u->HP_UX_interrupt_marker)
     return &hppa_hpux_sigtramp_frame_unwind;
 
   return NULL;

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