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 9deea608d36db6ff24568dca2cfa3179e986c410..c5b4a562dc8699732e5890553c0a7ddeb4660184 100644 (file)
@@ -1,3 +1,9 @@
+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 
index ed0abf9ee9eb446eeb0177925b22a27a40d8bbdf..c6cf45eebe60137eddec421fc65ec58021decc52 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;