aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-05-04 19:37:36 +0000
committerIan Lance Taylor <ian@airs.com>1994-05-04 19:37:36 +0000
commit77d112846632e45f800d6203365c9435e734083a (patch)
treee6532056ff258dd3c17399d38895ba4976acfb23
parentb7ba9a57bd3acde22fc8eb3dd5e3aa6919d9c3cd (diff)
downloadgdb-77d112846632e45f800d6203365c9435e734083a.zip
gdb-77d112846632e45f800d6203365c9435e734083a.tar.gz
gdb-77d112846632e45f800d6203365c9435e734083a.tar.bz2
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.
-rw-r--r--bfd/.Sanitize1
-rw-r--r--bfd/ChangeLog35
-rw-r--r--bfd/aout-encap.c3
-rw-r--r--bfd/aout0.c30
-rw-r--r--bfd/mipsbsd.c5
5 files changed, 72 insertions, 2 deletions
diff --git a/bfd/.Sanitize b/bfd/.Sanitize
index 2b1cd91..c57b3f9 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 910379b..8e08583 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 dff9f74..56c1936 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 0000000..cb61b50
--- /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 72261fb..020e5a2 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,
};