aboutsummaryrefslogtreecommitdiff
path: root/gdb/alphafbsd-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/alphafbsd-tdep.c')
-rw-r--r--gdb/alphafbsd-tdep.c33
1 files changed, 31 insertions, 2 deletions
diff --git a/gdb/alphafbsd-tdep.c b/gdb/alphafbsd-tdep.c
index e2d4749..3c1e64d 100644
--- a/gdb/alphafbsd-tdep.c
+++ b/gdb/alphafbsd-tdep.c
@@ -1,5 +1,5 @@
/* Target-dependent code for FreeBSD/Alpha.
- Copyright 2001 Free Software Foundation, Inc.
+ Copyright 2001, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -21,7 +21,9 @@
#include "defs.h"
#include "value.h"
-int
+#include "alpha-tdep.h"
+
+static int
alphafbsd_use_struct_convention (int gcc_p, struct type *type)
{
enum type_code code;
@@ -51,3 +53,30 @@ 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);
+
+ tdep->jb_pc = 2;
+ tdep->jb_elt_size = 8;
+}
+
+void
+_initialize_alphafbsd_tdep (void)
+{
+ alpha_gdbarch_register_os_abi (ALPHA_ABI_FREEBSD, alphafbsd_init_abi);
+}