This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[hpux] Improve sigtramp frame identification
- From: Randolph Chung <randolph at tausq dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Sat, 19 Nov 2005 20:48:37 +0800
- Subject: [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;