From 0cd98b92abaaed57d5c1e94de388d31dd1ef7e9b Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Tue, 3 Sep 1996 19:52:15 +0000 Subject: * Makefile.in (aout-sparcle.o): New target. * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian. * config.bfd (sparclet-*-aout*): Add case. * configure.in (sparcle_aout_vec): Add case. * configure: Regenerated. * libaout.h (machine_type): Add M_SPARCLET_LE. * targets.c (sparcle_aout_vec): Declare. (bfd_target_vector): Add sparcle_aout_vec. * aout-sparcle.c: New file. --- bfd/.Sanitize | 1 + bfd/ChangeLog | 12 ++++++++++++ bfd/aout-sparcle.c | 32 ++++++++++++++++++++++++++++++++ bfd/libaout.h | 34 ++++++++++++++-------------------- 4 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 bfd/aout-sparcle.c diff --git a/bfd/.Sanitize b/bfd/.Sanitize index 2113c38..5558c7f 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -62,6 +62,7 @@ aout-adobe.c aout-arm.c aout-encap.c aout-ns32k.c +aout-sparcle.c aout-target.h aout0.c aout32.c diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d73c4f7..8c1b154 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,15 @@ +Tue Sep 3 12:16:20 1996 Doug Evans + + * Makefile.in (aout-sparcle.o): New target. + * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian. + * config.bfd (sparclet-*-aout*): Add case. + * configure.in (sparcle_aout_vec): Add case. + * configure: Regenerated. + * libaout.h (machine_type): Add M_SPARCLET_LE. + * targets.c (sparcle_aout_vec): Declare. + (bfd_target_vector): Add sparcle_aout_vec. + * aout-sparcle.c: New file. + start-sanitize-v850 Tue Sep 3 00:57:02 1996 Jeffrey A Law (law@cygnus.com) diff --git a/bfd/aout-sparcle.c b/bfd/aout-sparcle.c new file mode 100644 index 0000000..42a1e75 --- /dev/null +++ b/bfd/aout-sparcle.c @@ -0,0 +1,32 @@ +/* BFD backend for sparc little-endian aout binaries. + Copyright (C) 1996 Free Software Foundation, Inc. + Written by Cygnus Support. + +This file is part of BFD, the Binary File Descriptor library. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGETNAME "a.out-sparc-little" +#define MY(OP) CAT(sparcle_aout_,OP) + +#include "bfd.h" +#include "bfdlink.h" +#include "libaout.h" + +#define MACHTYPE_OK(mtype) ((mtype) == M_SPARCLET_LE) + +/* Include the usual a.out support. */ +#define TARGET_IS_LITTLE_ENDIAN_P +#include "aoutf1.h" diff --git a/bfd/libaout.h b/bfd/libaout.h index 6d39bec..846acb2 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -222,11 +222,9 @@ enum machine_type { M_532_NETBSD = 137, /* NetBSD/ns32k binary */ M_SPARC_NETBSD = 138, /* NetBSD/sparc binary */ M_SPARCLET = 142, /* SPARClet */ + M_SPARCLET_LE = 143, /* SPARClet little endian */ M_MIPS1 = 151, /* MIPS R2000/R3000 binary */ M_MIPS2 = 152, /* MIPS R4000/R6000 binary */ -/* start-sanitize-rce */ - M_RCE = 155, /* Motorola RCE binary */ -/* end-sanitize-rce */ M_HP200 = 200, /* HP 200 (68010) BSD binary */ M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary */ M_HPUX = (0x20c % 256)/* HP 200/300 HPUX binary */ @@ -586,26 +584,22 @@ NAME(aout,bfd_free_cached_info) PARAMS ((bfd *)); \ if (bfd_get_outsymbols (abfd) != (asymbol **) NULL \ && bfd_get_symcount (abfd) != 0) \ - { \ - if (bfd_seek (abfd, (file_ptr)(N_SYMOFF(*execp)), SEEK_SET) \ - != 0) \ - return false; \ + { \ + if (bfd_seek (abfd, (file_ptr)(N_SYMOFF(*execp)), SEEK_SET) != 0) \ + return false; \ \ - if (! NAME(aout,write_syms)(abfd)) return false; \ + if (! NAME(aout,write_syms)(abfd)) return false; \ + } \ \ - if (bfd_seek (abfd, (file_ptr)(N_TRELOFF(*execp)), SEEK_SET) \ - != 0) \ - return false; \ + if (bfd_seek (abfd, (file_ptr)(N_TRELOFF(*execp)), SEEK_SET) != 0) \ + return false; \ + if (!NAME(aout,squirt_out_relocs) (abfd, obj_textsec (abfd))) \ + return false; \ \ - if (!NAME(aout,squirt_out_relocs) (abfd, obj_textsec (abfd))) \ - return false; \ - if (bfd_seek (abfd, (file_ptr)(N_DRELOFF(*execp)), SEEK_SET) \ - != 0) \ - return false; \ - \ - if (!NAME(aout,squirt_out_relocs)(abfd, obj_datasec (abfd))) \ - return false; \ - } \ + if (bfd_seek (abfd, (file_ptr)(N_DRELOFF(*execp)), SEEK_SET) != 0) \ + return false; \ + if (!NAME(aout,squirt_out_relocs)(abfd, obj_datasec (abfd))) \ + return false; \ } #endif -- cgit v1.1