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 9deea60..c5b4a56 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 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 for "std rp,-0x10(sp)". (hppa_frame_cache): Likewise. diff --git a/gdb/hppa-hpux-tdep.c b/gdb/hppa-hpux-tdep.c index ed0abf9..c6cf45e 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.7.4