From 765697c9ece06d58afb62cabe1b533d1c0fcb2bd Mon Sep 17 00:00:00 2001 From: Randolph Chung Date: Sat, 19 Nov 2005 12:47:21 +0000 Subject: [PATCH] 2005-11-19 Randolph Chung * 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. --- gdb/ChangeLog | 6 ++++++ gdb/hppa-hpux-tdep.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9deea608d36..c5b4a562dc8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-11-19 Randolph Chung + + * 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. + 2005-11-19 Randolph Chung * hppa-tdep.c (skip_prologue_hard_way): Add one more insn pattern diff --git a/gdb/hppa-hpux-tdep.c b/gdb/hppa-hpux-tdep.c index ed0abf9ee9e..c6cf45eebe6 100644 --- a/gdb/hppa-hpux-tdep.c +++ b/gdb/hppa-hpux-tdep.c @@ -1246,12 +1246,12 @@ static const struct frame_unwind hppa_hpux_sigtramp_frame_unwind = { 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; -- 2.30.2