2005-11-19 Randolph Chung <tausq@debian.org>
authorRandolph Chung <tausq@debian.org>
Sat, 19 Nov 2005 12:47:21 +0000 (12:47 +0000)
committerRandolph Chung <tausq@debian.org>
Sat, 19 Nov 2005 12:47:21 +0000 (12:47 +0000)
* 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
gdb/hppa-hpux-tdep.c

index 9deea60..c5b4a56 100644 (file)
@@ -1,5 +1,11 @@
 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.
+
+2005-11-19  Randolph Chung  <tausq@debian.org>
+
        * hppa-tdep.c (skip_prologue_hard_way): Add one more insn pattern 
        for "std rp,-0x10(sp)".
        (hppa_frame_cache): Likewise.
index ed0abf9..c6cf45e 100644 (file)
@@ -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;