* alpha-tdep.c (alpha_dwarf2_init_abi): New.

* alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
        * alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
        * alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
        unwind routines.
        * alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
        * config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
        * config/alpha/nbsd.mt (TDEPFILES): Likewise.

        * alpha-linux-tdep.c: Remove unnecessary includes.
        * Makefile.in (alpha-linux-tdep.o): Update.
This commit is contained in:
Richard Henderson 2003-06-04 06:22:17 +00:00
parent ffdab7f627
commit baa490c486
9 changed files with 49 additions and 19 deletions

View file

@ -1,3 +1,22 @@
2003-06-03 Richard Henderson <rth@redhat.com>
* alpha-tdep.c (alpha_dwarf2_init_abi): New.
* alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
* alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
* alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
unwind routines.
* alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
* config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
* config/alpha/nbsd.mt (TDEPFILES): Likewise.
* alpha-linux-tdep.c: Remove unnecessary includes.
* Makefile.in (alpha-linux-tdep.o): Update.
2003-06-03 Richard Henderson <rth@redhat.com>
* alphabsd-tdep.c (alphabsd_supply_fpreg): Fix typo last change.
(alphabsd_fill_fpreg): Likewise.
2003-06-03 J. Brobecker <brobecker@gnat.com>
* alphanbsd-tdep.c (alphanbsd_sigcontext_addr): Replace

View file

@ -1509,9 +1509,8 @@ ada-valprint.o: ada-valprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \
aix-thread.o: aix-thread.c $(defs_h) $(gdb_assert_h) $(gdbthread_h) \
$(target_h) $(inferior_h) $(regcache_h) $(gdbcmd_h) $(language_h) \
$(ppc_tdep_h)
alpha-linux-tdep.o: alpha-linux-tdep.c $(defs_h) $(frame_h) $(frame_base_h) \
$(frame_unwind_h) $(dwarf2_frame_h) $(gdbcore_h) $(gdb_assert_h) \
$(osabi_h) $(symtab_h) $(symfile_h) $(value_h) $(alpha_tdep_h)
alpha-linux-tdep.o: alpha-linux-tdep.c $(defs_h) $(frame_h) $(gdb_assert_h) \
$(osabi_h) $(alpha_tdep_h)
alpha-nat.o: alpha-nat.c $(defs_h) $(gdb_string_h) $(inferior_h) $(gdbcore_h) \
$(target_h) $(regcache_h) $(alpha_tdep_h) $(gregset_h)
alpha-osf1-tdep.o: alpha-osf1-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \
@ -1521,7 +1520,7 @@ alpha-tdep.o: alpha-tdep.c $(defs_h) $(doublest_h) $(frame_h) \
$(value_h) $(gdbcmd_h) $(gdbcore_h) $(dis_asm_h) $(symfile_h) \
$(objfiles_h) $(gdb_string_h) $(linespec_h) $(regcache_h) \
$(reggroups_h) $(arch_utils_h) $(osabi_h) $(block_h) $(gdb_assert_h) \
$(elf_bfd_h) $(alpha_tdep_h)
$(elf_bfd_h) $(alpha_tdep_h) $(dwarf2_frame_h)
alpha-mdebug-tdep.o: alpha-mdebug-tdep.c $(defs_h) $(frame_h) \
$(frame_unwind_h) $(frame_base_h) $(symtab_h) $(gdbcore_h) \
$(block_h) $(gdb_assert_h) $(alpha_tdep_h)

View file

@ -20,15 +20,8 @@
#include "defs.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "dwarf2-frame.h"
#include "gdbcore.h"
#include "gdb_assert.h"
#include "osabi.h"
#include "symtab.h"
#include "symfile.h"
#include "value.h"
#include "alpha-tdep.h"
@ -131,15 +124,12 @@ alpha_linux_sigcontext_addr (struct frame_info *next_frame)
}
static void
alpha_linux_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
alpha_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep;
/* Hook into the DWARF CFI frame unwinder. */
frame_unwind_append_predicate (gdbarch, dwarf2_frame_p);
frame_base_append_predicate (gdbarch, dwarf2_frame_base_p);
set_gdbarch_dwarf2_build_frame_info (gdbarch, dwarf2_build_frame_info);
alpha_dwarf2_init_abi (info, gdbarch);
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);

View file

@ -24,6 +24,7 @@
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "dwarf2-frame.h"
#include "inferior.h"
#include "symtab.h"
#include "value.h"
@ -1581,6 +1582,14 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
void
alpha_dwarf2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
frame_unwind_append_predicate (gdbarch, dwarf2_frame_p);
frame_base_append_predicate (gdbarch, dwarf2_frame_base_p);
set_gdbarch_dwarf2_build_frame_info (gdbarch, dwarf2_build_frame_info);
}
void
_initialize_alpha_tdep (void)
{

View file

@ -93,6 +93,7 @@ extern void alpha_software_single_step (enum target_signal, int);
extern CORE_ADDR alpha_after_prologue (CORE_ADDR pc);
extern void alpha_mdebug_init_abi (struct gdbarch_info, struct gdbarch *);
extern void alpha_dwarf2_init_abi (struct gdbarch_info, struct gdbarch *);
extern void alpha_supply_int_regs (int, const void *, const void *,
const void *);

View file

@ -68,6 +68,12 @@ alphafbsd_init_abi (struct gdbarch_info info,
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* Hook into the DWARF CFI frame unwinder. */
alpha_dwarf2_init_abi (info, gdbarch);
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
set_gdbarch_pc_in_sigtramp (gdbarch, alphafbsd_pc_in_sigtramp);
set_gdbarch_use_struct_convention (gdbarch, alphafbsd_use_struct_convention);

View file

@ -198,6 +198,12 @@ alphanbsd_init_abi (struct gdbarch_info info,
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* Hook into the DWARF CFI frame unwinder. */
alpha_dwarf2_init_abi (info, gdbarch);
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
set_gdbarch_pc_in_sigtramp (gdbarch, alphanbsd_pc_in_sigtramp);
/* NetBSD/alpha does not provide single step support via ptrace(2); we

View file

@ -1,3 +1,3 @@
# Target: FreeBSD/Alpha
TDEPFILES= alpha-tdep.o alphabsd-tdep.o alphafbsd-tdep.o
TDEPFILES= alpha-tdep.o alpha-mdebug-tdep.o alphabsd-tdep.o alphafbsd-tdep.o
TM_FILE= tm-fbsd.h

View file

@ -1,4 +1,4 @@
# Target: Alpha running NetBSD
TDEPFILES= alpha-tdep.o alphabsd-tdep.o alphanbsd-tdep.o corelow.o \
nbsd-tdep.o solib.o solib-svr4.o
TDEPFILES= alpha-tdep.o alpha-mdebug-tdep.o alphabsd-tdep.o alphanbsd-tdep.o \
corelow.o nbsd-tdep.o solib.o solib-svr4.o
TM_FILE= tm-nbsd.h