diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9deea608d3..c5b4a562dc 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 ed0abf9ee9..c6cf45eebe 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;