* 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.
This commit is contained in:
David Edelsohn 1996-09-03 19:52:15 +00:00
parent 9fca2fd3c6
commit 0cd98b92ab
4 changed files with 59 additions and 20 deletions

View File

@ -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

View File

@ -1,3 +1,15 @@
Tue Sep 3 12:16:20 1996 Doug Evans <dje@canuck.cygnus.com>
* 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)

32
bfd/aout-sparcle.c Normal file
View File

@ -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"

View File

@ -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