aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@netbsd.org>2002-04-21 19:47:19 +0000
committerJason Thorpe <thorpej@netbsd.org>2002-04-21 19:47:19 +0000
commit82a4efa15c51958ff400c4204fe54472403d1f42 (patch)
treeb45212612c87a8579c287aa0a16458424839f577 /gdb
parent44dffaac91fc144998a2048f66d0a980f297c886 (diff)
downloadgdb-82a4efa15c51958ff400c4204fe54472403d1f42.zip
gdb-82a4efa15c51958ff400c4204fe54472403d1f42.tar.gz
gdb-82a4efa15c51958ff400c4204fe54472403d1f42.tar.bz2
* alphafbsd-tdep.c: Update copyright years. Include
alpha-tdep.h. (alphafbsd_use_struct_convention): Make static. (alphafbsd_init_abi): New function. (_initialize_alphafbsd_tdep): New function. * config/alpha/tm-fbsd.h: Update copyright years. (USE_STRUCT_CONVENTION): Remove.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/alphafbsd-tdep.c21
-rw-r--r--gdb/config/alpha/tm-fbsd.h8
3 files changed, 30 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 055a828..76bb45c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,15 @@
2002-04-21 Jason Thorpe <thorpej@wasabisystems.com>
+ * alphafbsd-tdep.c: Update copyright years. Include
+ alpha-tdep.h.
+ (alphafbsd_use_struct_convention): Make static.
+ (alphafbsd_init_abi): New function.
+ (_initialize_alphafbsd_tdep): New function.
+ * config/alpha/tm-fbsd.h: Update copyright years.
+ (USE_STRUCT_CONVENTION): Remove.
+
+2002-04-21 Jason Thorpe <thorpej@wasabisystems.com>
+
* alpha-tdep.c (alpha_abi_handler): New structure to describe
an Alpha ABI variant.
(alpha_abi_handler_list): Declare.
diff --git a/gdb/alphafbsd-tdep.c b/gdb/alphafbsd-tdep.c
index e2d4749..6a3f7e8 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,18 @@ alphafbsd_use_struct_convention (int gcc_p, struct type *type)
return 0;
}
+
+static void
+alphafbsd_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ set_gdbarch_use_struct_convention (gdbarch, alphafbsd_use_struct_convention);
+}
+
+void
+_initialize_alphafbsd_tdep (void)
+{
+ alpha_gdbarch_register_os_abi (ALPHA_ABI_FREEBSD, alphafbsd_init_abi);
+}
diff --git a/gdb/config/alpha/tm-fbsd.h b/gdb/config/alpha/tm-fbsd.h
index 00d3c27..55b3877 100644
--- a/gdb/config/alpha/tm-fbsd.h
+++ b/gdb/config/alpha/tm-fbsd.h
@@ -1,5 +1,5 @@
/* Target-dependent definitions for FreeBSD/Alpha.
- Copyright 2000, 2001 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -23,12 +23,6 @@
#include "alpha/tm-alpha.h"
-/* FreeBSD uses the old gcc convention for struct returns. */
-
-#undef USE_STRUCT_CONVENTION
-#define USE_STRUCT_CONVENTION(gcc_p, type) \
- alphafbsd_use_struct_convention (gcc_p, type)
-
/* FreeBSD doesn't mark the outermost frame. While some FreeBSD/Alpha
releases include (a minimal amount of) debugging info in its
startup code (crt1.o), the safest thing is to consider the user