From 77d112846632e45f800d6203365c9435e734083a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 4 May 1994 19:37:36 +0000 Subject: [PATCH] For PR 1927. Changed m68k-aout to set flags to 0; m68k-sunos still uses 1. * aout0.c: New file. * targets.c (aout0_big_vec): Declare. (bfd_target_vector): Add aout0_big_vec. * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout. * config/m68k-aout.mt (SELECT_VECS): Removed. * config/m68k-0aout.mt: New file. * configure.in (aout0_big_vec): New target vector: use aout0.o, aout32.o and stab-syms.o. * Makefile.in: Rebuilt dependencies. (BFD32_BACKENDS): Add aout0.o. (CFILES): Add aout0.c. * libaout.h (struct aout_backend_data): Add field exec_hdr_flags. * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0. MY(backend_data): Initialize exec_hdr_flags field. * aoutf1.h (sunos_32_set_arch_mach): Make static. (aout32_sunos4_write_object_contents): Set flags from backend info. (MY_exec_hdr_flags): If not defined, define as 1. (sunos4_aout_backend): Initialize exec_hdr_flags field. * aout-encap.c (encap_write_object_contents): Set flags from backend info. (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE. * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2. (MY(write_object_contents)): Set flags from backend info. * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field. * i386mach3.c (MY(backend_data)): Likewise. * mipsbsd.c (MY(backend_data)): Likewise. * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set flags from backend info. (sparclynx_aout_backend): Initialize exec_hdr_flags field. --- bfd/.Sanitize | 1 + bfd/ChangeLog | 35 +++++++++++++++++++++++++++++++++++ bfd/aout-encap.c | 3 ++- bfd/aout0.c | 30 ++++++++++++++++++++++++++++++ bfd/mipsbsd.c | 5 ++++- 5 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 bfd/aout0.c diff --git a/bfd/.Sanitize b/bfd/.Sanitize index 2b1cd910a9c..c57b3f92725 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -58,6 +58,7 @@ aix386-core.c aout-adobe.c aout-encap.c aout-target.h +aout0.c aout32.c aout64.c aoutf1.h diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 910379bacb6..8e08583d41b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,38 @@ +Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com) + + Changed m68k-aout to set flags to 0; m68k-sunos still uses 1. + * aout0.c: New file. + * targets.c (aout0_big_vec): Declare. + (bfd_target_vector): Add aout0_big_vec. + * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout. + * config/m68k-aout.mt (SELECT_VECS): Removed. + * config/m68k-0aout.mt: New file. + * configure.in (aout0_big_vec): New target vector: use aout0.o, + aout32.o and stab-syms.o. + * Makefile.in: Rebuilt dependencies. + (BFD32_BACKENDS): Add aout0.o. + (CFILES): Add aout0.c. + + * libaout.h (struct aout_backend_data): Add field exec_hdr_flags. + * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0. + MY(backend_data): Initialize exec_hdr_flags field. + * aoutf1.h (sunos_32_set_arch_mach): Make static. + (aout32_sunos4_write_object_contents): Set flags from backend + info. + (MY_exec_hdr_flags): If not defined, define as 1. + (sunos4_aout_backend): Initialize exec_hdr_flags field. + * aout-encap.c (encap_write_object_contents): Set flags from + backend info. + (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE. + * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2. + (MY(write_object_contents)): Set flags from backend info. + * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field. + * i386mach3.c (MY(backend_data)): Likewise. + * mipsbsd.c (MY(backend_data)): Likewise. + * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set + flags from backend info. + (sparclynx_aout_backend): Initialize exec_hdr_flags field. + Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) * config.bfd (i386-*-gnu*): Treat like i386-*-mach*. diff --git a/bfd/aout-encap.c b/bfd/aout-encap.c index dff9f749989..56c19369ff8 100644 --- a/bfd/aout-encap.c +++ b/bfd/aout-encap.c @@ -148,7 +148,7 @@ int need_coff_header; { need_coff_header = 1; /* set this flag now, since it will change the values of N_TXTOFF, etc */ - N_SET_FLAGS (outheader, N_FLAGS_COFF_ENCAPSULATE); + N_SET_FLAGS (outheader, aout_backend_info (abfd)->exec_hdr_flags); text_size += sizeof (struct coffheader); } #endif @@ -232,5 +232,6 @@ int need_coff_header; #define MY_write_object_content encap_write_object_contents #define MY_object_p encap_object_p +#define MY_exec_hdr_flags N_FLAGS_COFF_ENCAPSULATE #include "aout-target.h" diff --git a/bfd/aout0.c b/bfd/aout0.c new file mode 100644 index 00000000000..cb61b50d0bf --- /dev/null +++ b/bfd/aout0.c @@ -0,0 +1,30 @@ +/* BFD backend for SunOS style a.out with flags set to 0 + Copyright (C) 1990, 91, 92, 93, 1994 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#define ARCH 32 +#define TARGETNAME "a.out-zero-big" +#define MY(OP) CAT(aout0_big_,OP) + +#include "bfd.h" + +#define MY_exec_hdr_flags 0 + +/* Include the usual a.out support. */ +#include "aoutf1.h" diff --git a/bfd/mipsbsd.c b/bfd/mipsbsd.c index 72261fbad67..020e5a2993e 100644 --- a/bfd/mipsbsd.c +++ b/bfd/mipsbsd.c @@ -1,5 +1,5 @@ /* BFD backend for MIPS BSD (a.out) binaries. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright (C) 1993, 1994 Free Software Foundation, Inc. Written by Ralph Campbell. This file is part of BFD, the Binary File Descriptor library. @@ -319,6 +319,7 @@ MY(canonicalize_reloc)(abfd, section, relptr, symbols) static CONST struct aout_backend_data MY(backend_data) = { 0, /* zmagic contiguous */ 1, /* text incl header */ + 0, /* exec_hdr_flags */ PAGE_SIZE, /* text vma */ MY_set_sizes, 0, /* text size includes exec header */ @@ -359,6 +360,7 @@ bfd_target aout_mips_little_vec = BFD_JUMP_TABLE_RELOCS (MY), BFD_JUMP_TABLE_WRITE (MY), BFD_JUMP_TABLE_LINK (MY), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), (PTR) MY_backend_data, }; @@ -398,6 +400,7 @@ bfd_target aout_mips_big_vec = BFD_JUMP_TABLE_RELOCS (MY), BFD_JUMP_TABLE_WRITE (MY), BFD_JUMP_TABLE_LINK (MY), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), (PTR) MY_backend_data, }; -- 2.30.2