* 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.
This commit is contained in:
parent
5e4f33793e
commit
6c72f9f974
8 changed files with 52 additions and 17 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -193,12 +193,6 @@ struct linked_proc_info
|
|||
}
|
||||
*linked_proc_desc_table = NULL;
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -27,14 +27,9 @@
|
|||
|
||||
#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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue