For PR 1927.
authorIan Lance Taylor <ian@airs.com>
Wed, 4 May 1994 19:37:36 +0000 (19:37 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 4 May 1994 19:37:36 +0000 (19:37 +0000)
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
bfd/ChangeLog
bfd/aout-encap.c
bfd/aout0.c [new file with mode: 0644]
bfd/mipsbsd.c

index 2b1cd91..c57b3f9 100644 (file)
@@ -58,6 +58,7 @@ aix386-core.c
 aout-adobe.c
 aout-encap.c
 aout-target.h
+aout0.c
 aout32.c
 aout64.c
 aoutf1.h
index 910379b..8e08583 100644 (file)
@@ -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*.
index dff9f74..56c1936 100644 (file)
@@ -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 (file)
index 0000000..cb61b50
--- /dev/null
@@ -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"
index 72261fb..020e5a2 100644 (file)
@@ -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,
 };