aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog19
-rw-r--r--gdb/Makefile.in7
-rw-r--r--gdb/alpha-linux-tdep.c14
-rw-r--r--gdb/alpha-tdep.c9
-rw-r--r--gdb/alpha-tdep.h1
-rw-r--r--gdb/alphafbsd-tdep.c6
-rw-r--r--gdb/alphanbsd-tdep.c6
-rw-r--r--gdb/config/alpha/fbsd.mt2
-rw-r--r--gdb/config/alpha/nbsd.mt4
9 files changed, 49 insertions, 19 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c309bb2..60f181d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 3a68642..43b35c2 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -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)
diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c
index 519638d..de53b3e 100644
--- a/gdb/alpha-linux-tdep.c
+++ b/gdb/alpha-linux-tdep.c
@@ -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);
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index da514bf..f2b354f 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -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"
@@ -1582,6 +1583,14 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
}
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)
{
struct cmd_list_element *c;
diff --git a/gdb/alpha-tdep.h b/gdb/alpha-tdep.h
index eaeaa56..c0e28e6 100644
--- a/gdb/alpha-tdep.h
+++ b/gdb/alpha-tdep.h
@@ -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 *);
diff --git a/gdb/alphafbsd-tdep.c b/gdb/alphafbsd-tdep.c
index 3d8eafb..680e303 100644
--- a/gdb/alphafbsd-tdep.c
+++ b/gdb/alphafbsd-tdep.c
@@ -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);
diff --git a/gdb/alphanbsd-tdep.c b/gdb/alphanbsd-tdep.c
index 0fdbb63..efb7ab9 100644
--- a/gdb/alphanbsd-tdep.c
+++ b/gdb/alphanbsd-tdep.c
@@ -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
diff --git a/gdb/config/alpha/fbsd.mt b/gdb/config/alpha/fbsd.mt
index 4b4ecbf..24d2fd8 100644
--- a/gdb/config/alpha/fbsd.mt
+++ b/gdb/config/alpha/fbsd.mt
@@ -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
diff --git a/gdb/config/alpha/nbsd.mt b/gdb/config/alpha/nbsd.mt
index 7fd9c50..065a28c 100644
--- a/gdb/config/alpha/nbsd.mt
+++ b/gdb/config/alpha/nbsd.mt
@@ -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