diff options
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/alphafbsd-tdep.c | 21 | ||||
-rw-r--r-- | gdb/config/alpha/tm-fbsd.h | 8 |
3 files changed, 30 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 055a8288fe5..76bb45ce78f 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 e2d47491067..6a3f7e8fe99 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 00d3c27dc0b..55b3877018e 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 |