* alpha-linux-tdep.c (alpha_linux_pc_in_sigtramp): New function.
authorJason Thorpe <thorpej@netbsd.org>
Thu, 25 Apr 2002 05:06:08 +0000 (05:06 +0000)
committerJason Thorpe <thorpej@netbsd.org>
Thu, 25 Apr 2002 05:06:08 +0000 (05:06 +0000)
(alpha_linux_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_linux_pc_in_sigtramp.
* alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): New function.
(alpha_osf1_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_osf1_pc_in_sigtramp.
* alpha-tdep.c (alpha_osf_in_sigtramp): Remove.
* alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): New function.
(alphafbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphafbsd_pc_in_sigtramp.
* alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): New function.
(alphanbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphanbsd_pc_in_sigtramp.
* config/alpha/tm-alpha.h (IN_SIGTRAMP): Remove.
* config/alpha/tm-alphalinux.h (IN_SIGTRAMP): Remove.

gdb/ChangeLog
gdb/alpha-linux-tdep.c
gdb/alpha-osf1-tdep.c
gdb/alpha-tdep.c
gdb/alphafbsd-tdep.c
gdb/alphanbsd-tdep.c
gdb/config/alpha/tm-alpha.h
gdb/config/alpha/tm-alphalinux.h

index f77061ef834edc052b1cc55d38281e3eea348799..8d3540900464f01a5b9af21ae40d6b964af6d828 100644 (file)
@@ -1,3 +1,21 @@
+2002-04-24  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * alpha-linux-tdep.c (alpha_linux_pc_in_sigtramp): New function.
+       (alpha_linux_init_abi): Set gdbarch_pc_in_sigtramp to
+       alpha_linux_pc_in_sigtramp.
+       * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): New function.
+       (alpha_osf1_init_abi): Set gdbarch_pc_in_sigtramp to
+       alpha_osf1_pc_in_sigtramp.
+       * alpha-tdep.c (alpha_osf_in_sigtramp): Remove.
+       * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): New function.
+       (alphafbsd_init_abi): Set gdbarch_pc_in_sigtramp to
+       alphafbsd_pc_in_sigtramp.
+       * alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): New function.
+       (alphanbsd_init_abi): Set gdbarch_pc_in_sigtramp to
+       alphanbsd_pc_in_sigtramp.
+       * config/alpha/tm-alpha.h (IN_SIGTRAMP): Remove.
+       * config/alpha/tm-alphalinux.h (IN_SIGTRAMP): Remove.
+
 2002-04-24  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * config/alpha/nbsd.mh (NATDEPFILES): Remove solib-legacy.o.
index f9b060dc9601c494a8556064fedfe79b1891a5d0..ed7a7c640ae431f96a67a4c5166ad2c6b117f98d 100644 (file)
@@ -85,12 +85,20 @@ alpha_linux_sigtramp_offset (CORE_ADDR pc)
   return -1;
 }
 
+static int
+alpha_linux_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
+{
+  return (alpha_linux_sigtramp_offset (pc) >= 0);
+}
+
 static void
 alpha_linux_init_abi (struct gdbarch_info info,
                       struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  set_gdbarch_pc_in_sigtramp (gdbarch, alpha_linux_pc_in_sigtramp);
+
   tdep->dynamic_sigtramp_offset = alpha_linux_sigtramp_offset;
 }
 
index 97ac6fb1e741a73deb7344903cb956524e63ff50..cba9134b07a297ee6ad2d0d373ce6d85e5d155e4 100644 (file)
@@ -37,12 +37,20 @@ alpha_osf1_skip_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc)
   return 0;
 }
 
+static int
+alpha_osf1_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
+{
+  return (func_name != NULL && STREQ ("__sigtramp", func_name));
+}
+
 static void
 alpha_osf1_init_abi (struct gdbarch_info info,
                      struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  set_gdbarch_pc_in_sigtramp (gdbarch, alpha_osf1_pc_in_sigtramp);
+
   tdep->skip_sigtramp_frame = alpha_osf1_skip_sigtramp_frame;
 }
 
index ef0b2cd5ef54ddb1280d0192e121ce1284ee0b09..035b8d9d780a8d29e7d2ae8b27ddc0eb2cff9b44 100644 (file)
@@ -193,12 +193,6 @@ struct linked_proc_info
   }
  *linked_proc_desc_table = NULL;
 \f
-int
-alpha_osf_in_sigtramp (CORE_ADDR pc, char *func_name)
-{
-  return (func_name != NULL && STREQ ("__sigtramp", func_name));
-}
-
 static CORE_ADDR
 alpha_frame_past_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc)
 {
index 6a3f7e8fe99c2d487337fb088201431766d3a7ec..2e52252fc1a70f8e31fe6dbf7279b3cee8e5b729 100644 (file)
@@ -54,12 +54,21 @@ alphafbsd_use_struct_convention (int gcc_p, struct type *type)
   return 0;
 }
 
+static int
+alphafbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
+{
+  /* FIXME */
+  return 0;
+}
+
 static void
 alphafbsd_init_abi (struct gdbarch_info info,
                     struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  set_gdbarch_pc_in_sigtramp (gdbarch, alphafbsd_pc_in_sigtramp);
+
   set_gdbarch_use_struct_convention (gdbarch, alphafbsd_use_struct_convention);
 }
 
index 3f3ae529e52e849485a9bd350345ed619ed59619..c29b3f92fdc8a06115eee8e291e1aea830f2b76c 100644 (file)
@@ -123,12 +123,20 @@ alphanbsd_sigtramp_offset (CORE_ADDR pc)
   return -1;
 }
 
+static int
+alphanbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
+{
+  return (alphanbsd_sigtramp_offset (pc) >= 0);
+}
+
 static void
 alphanbsd_init_abi (struct gdbarch_info info,
                     struct gdbarch *gdbarch)
 {
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
 
+  set_gdbarch_pc_in_sigtramp (gdbarch, alphanbsd_pc_in_sigtramp);
+
   /* NetBSD/alpha does not provide single step support via ptrace(2); we
      must use software single-stepping.  */
   set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);
index 61d956176b05e839fa18f4b172de4744fffb2eb2..a37933288ce26064502ee28e1b8b11f29a705640 100644 (file)
@@ -45,11 +45,6 @@ struct symbol;
 
 #define FUNCTION_START_OFFSET 0
 
-/* Are we currently handling a signal ?  */
-
-#define IN_SIGTRAMP(pc, name) alpha_osf_in_sigtramp ((pc), (name))
-extern int alpha_osf_in_sigtramp (CORE_ADDR, char *);
-
 #define BREAKPOINT {0x80, 0, 0, 0}     /* call_pal bpt */
 
 /* Special symbol found in blocks associated with routines.  We can hang
index 023575827535a07a9fd647c15bda41e7c1810257..fae17438300134b100610c1f0c84634c53fd555e 100644 (file)
 
 #include "alpha/tm-alpha.h"
 
-/* Are we currently handling a signal ?  */
-
-extern LONGEST alpha_linux_sigtramp_offset (CORE_ADDR);
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc, name)  (alpha_linux_sigtramp_offset (pc) >= 0)
-
 /* Get start and end address of sigtramp handler.  */
 
+extern LONGEST alpha_linux_sigtramp_offset (CORE_ADDR);
 #define SIGTRAMP_START(pc)     (pc - alpha_linux_sigtramp_offset (pc))
 #define SIGTRAMP_END(pc)       (SIGTRAMP_START(pc) + 3*4)