diff options
Diffstat (limited to 'bfd/sparclynx.c')
-rw-r--r-- | bfd/sparclynx.c | 83 |
1 files changed, 42 insertions, 41 deletions
diff --git a/bfd/sparclynx.c b/bfd/sparclynx.c index 08f7a2f..3d98ff3 100644 --- a/bfd/sparclynx.c +++ b/bfd/sparclynx.c @@ -1,6 +1,6 @@ /* BFD support for Sparc binaries under LynxOS. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000 - Free Software Foundation, Inc. + Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, + 2001 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #endif -#define MY(OP) CAT(sparclynx_aout_,OP) +#define MY(OP) CAT (sparclynx_aout_,OP) #define TARGETNAME "a.out-sparc-lynx" #include "bfd.h" @@ -43,6 +43,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "aout/stab_gnu.h" #include "aout/ar.h" +void NAME (lynx,set_arch_mach) PARAMS ((bfd *, int)); +static void choose_reloc_size PARAMS ((bfd *)); +static boolean NAME (aout,sparclynx_write_object_contents) PARAMS ((bfd *)); + /* This is needed to reject a NewsOS file, e.g. in gdb/testsuite/gdb.t10/crossload.exp. <kingdon@cygnus.com> I needed to add M_UNKNOWN to recognize a 68000 object, so this will @@ -52,30 +56,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ || (mtype) == M_68020 \ || (mtype) == M_SPARC) -/* -The file @code{aoutf1.h} contains the code for BFD's -a.out back end. Control over the generated back end is given by these -two preprocessor names: -@table @code -@item ARCH_SIZE -This value should be either 32 or 64, depending upon the size of an -int in the target format. It changes the sizes of the structs which -perform the memory/disk mapping of structures. - -The 64 bit backend may only be used if the host compiler supports 64 -ints (eg long long with gcc), by defining the name @code{BFD_HOST_64_BIT} in @code{bfd.h}. -With this name defined, @emph{all} bfd operations are performed with 64bit -arithmetic, not just those to a 64bit target. - -@item TARGETNAME -The name put into the target vector. -@item -@end table - -*/ - -/*SUPPRESS558*/ -/*SUPPRESS529*/ +/* The file @code{aoutf1.h} contains the code for BFD's + a.out back end. Control over the generated back end is given by these + two preprocessor names: + @table @code + @item ARCH_SIZE + This value should be either 32 or 64, depending upon the size of an + int in the target format. It changes the sizes of the structs which + perform the memory/disk mapping of structures. + + The 64 bit backend may only be used if the host compiler supports 64 + ints (eg long long with gcc), by defining the name @code{BFD_HOST_64_BIT} in @code{bfd.h}. + With this name defined, @emph{all} bfd operations are performed with 64bit + arithmetic, not just those to a 64bit target. + + @item TARGETNAME + The name put into the target vector. + @item + @end table */ void NAME(lynx,set_arch_mach) (abfd, machtype) @@ -85,9 +83,9 @@ NAME(lynx,set_arch_mach) (abfd, machtype) /* Determine the architecture and machine type of the object file. */ enum bfd_architecture arch; long machine; + switch (machtype) { - case M_UNKNOWN: /* Some Sun3s make magic numbers without cpu types in them, so we'll default to the 68000. */ @@ -140,7 +138,8 @@ NAME(lynx,set_arch_mach) (abfd, machtype) NAME(lynx,set_arch_mach) (ABFD, N_MACHTYPE (EXEC)); \ choose_reloc_size(ABFD); -/* Determine the size of a relocation entry, based on the architecture */ +/* Determine the size of a relocation entry, based on the architecture. */ + static void choose_reloc_size (abfd) bfd *abfd; @@ -206,6 +205,8 @@ NAME(aout,sparclynx_write_object_contents) (abfd) } #define MY_set_sizes sparclynx_set_sizes +static boolean sparclynx_set_sizes PARAMS ((bfd *)); + static boolean sparclynx_set_sizes (abfd) bfd *abfd; @@ -228,15 +229,15 @@ sparclynx_set_sizes (abfd) } static CONST struct aout_backend_data sparclynx_aout_backend = -{ - 0, 1, 0, 1, 0, sparclynx_set_sizes, 0, - 0, /* add_dynamic_symbols */ - 0, /* add_one_symbol */ - 0, /* link_dynamic_object */ - 0, /* write_dynamic_symbol */ - 0, /* check_dynamic_reloc */ - 0 /* finish_dynamic_link */ -}; + { + 0, 1, 0, 1, 0, sparclynx_set_sizes, 0, + 0, /* add_dynamic_symbols */ + 0, /* add_one_symbol */ + 0, /* link_dynamic_object */ + 0, /* write_dynamic_symbol */ + 0, /* check_dynamic_reloc */ + 0 /* finish_dynamic_link */ + }; #define MY_bfd_debug_info_start bfd_void @@ -251,10 +252,10 @@ static CONST struct aout_backend_data sparclynx_aout_backend = #ifdef LYNX_CORE -char *lynx_core_file_failing_command (); -int lynx_core_file_failing_signal (); +char * lynx_core_file_failing_command (); +int lynx_core_file_failing_signal (); boolean lynx_core_file_matches_executable_p (); -const bfd_target *lynx_core_file_p (); +const bfd_target * lynx_core_file_p (); #define MY_core_file_failing_command lynx_core_file_failing_command #define MY_core_file_failing_signal lynx_core_file_failing_signal |