aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog18
-rw-r--r--bfd/configure.in30
-rw-r--r--bfd/targets.c12
3 files changed, 43 insertions, 17 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f344edb..3fcd06f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,19 @@
+Fri Sep 25 19:14:48 1992 John Gilmore (gnu@cygnus.com)
+
+ Add Adobe a.out support.
+
+ * aout-adobe.c: New file. So far, only reads a.out.adobe. FIXME.
+ * config/adobe.mt: Add.
+ * configure.in (*-adobe-* target): Add.
+ * targets.c (a_out_adobe_vec): Add.
+ * Makefile.in: add aout-adobe.c.
+
+ * configure.in: Put two dashes in all entries to be matched.
+ Add comments to remind people to do this.
+ Reorder all entries that match manufacturer names, to occur
+ last, so they will only be matched if no more specific match
+ occurs. Remove manufacturers `aout', `bout', `coff', and `elf'.
+
Fri Sep 25 15:03:22 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
* elf.c (section_from_elf_index): Return bfd_abs_section, not 0,
@@ -13,8 +29,6 @@ Fri Sep 25 11:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
types.
* seclet.h: #ifndef around it to allow multiple inclusion
* srec.c: minor doc fix
-
-
Mon Sep 21 14:33:58 1992 Ian Lance Taylor (ian@cygnus.com)
diff --git a/bfd/configure.in b/bfd/configure.in
index d7967ec..9917913 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -15,6 +15,8 @@ case "${host_cpu}" in
rs6000) my_host=rs6000
;;
+we32k) my_host=we32k ;;
+
mips)
case "${host_vendor}" in
dec) my_host=decstation ;;
@@ -146,6 +148,11 @@ fi
# per-target:
+# WHEN ADDING ENTRIES TO THIS MATRIX:
+# Make sure that the left side always has two dashes. Otherwise you
+# can get spurious matches. Even for unambiguous cases, do this as a
+# convention, else the table becomes a real mess to understand and maintain.
+
case "${target}" in
rs6000-ibm-* ) bfd_target=rs6000 ;;
@@ -154,8 +161,9 @@ a29k-amd-ebmon ) bfd_target=a29k-coff ;;
a29k-amd-udi ) bfd_target=a29k-coff ;;
a29k-amd-* ) bfd_target=a29k-aout ;;
+we32k-*-* ) bfd_target=we32k ;;
+
h8300-hitachi-* ) bfd_target=h8300-coff ;;
-*-hitachi-* ) echo "bad hitachi cpu"; exit 1 ;;
i960-wrs-* ) bfd_target=i960-bout ;;
m68k-wrs-* ) bfd_target=m68k-aout ;;
@@ -166,6 +174,7 @@ m683?2-wrs-* ) bfd_target=m68k-aout ;;
m683?2-netx-* ) bfd_target=m68k-aout ;;
sparc-wrs-* ) bfd_target=sparc-aout ;;
+z8k*-*-* ) bfd_target=z8k-coff ;;
m68*-ericsson-* ) bfd_target=m68k-aout ;;
m68k-sun-* ) bfd_target=m68k-aout ;;
@@ -174,6 +183,7 @@ m683?2-sun-* ) bfd_target=m68k-aout ;;
sparc-sun-sysv4 ) bfd_target=sparc-elf ;;
sparc-sun-solaris2* ) bfd_target=sparc-elf ;;
sparc-sun-* ) bfd_target=sparc-aout ;;
+sparclite-fujitsu-* ) bfd_target=sparc-aout ;;
mips-dec-* ) bfd_target=decstation ;;
vax-dec-* ) bfd_target=vax ;;
@@ -188,8 +198,6 @@ m683?2-hp-bsd ) bfd_target=hp300bsd ;;
mips-sgi-* ) bfd_target=irix3 ;;
mips-big-* ) bfd_target=irix3 ;;
-*-tandem-* ) bfd_target=st2000 ;;
-
m68k-none-os68k ) bfd_target=m68k-aout ;;
m680[01234]0-none-os68k ) bfd_target=m68k-aout ;;
m683?2-none-os68k ) bfd_target=m68k-aout ;;
@@ -211,7 +219,10 @@ tahoe-*-* ) bfd_target=tahoe ;;
hppa*-hp-hpux ) bfd_target=hppahpux ;;
hppa*-hp-bsd ) bfd_target=hppabsd ;;
-i[34]86-ncr-sysv4* ) bfd_target=i386-elf ;;
+i[34]86-*-sysv4* ) bfd_target=i386-elf ;;
+
+tahoe-*-none ) bfd_target=${target_cpu} ;;
+vax-*-none ) bfd_target=${target_cpu} ;;
*-*-aout ) bfd_target=${target_cpu}-aout ;;
*-*-bsd ) bfd_target=${target_cpu}-aout ;;
@@ -221,21 +232,16 @@ i[34]86-ncr-sysv4* ) bfd_target=i386-elf ;;
*-*-linux* ) bfd_target=${target_cpu}-linux ;;
*-*-sysv* ) bfd_target=${target_cpu}-coff ;;
*-*-scosysv* ) bfd_target=${target_cpu}-coff ;;
-tahoe-*-none ) bfd_target=${target_cpu} ;;
-vax-*-none ) bfd_target=${target_cpu} ;;
-
-# These are obsolete and should be removed. FIXME. -- gnu
-*-aout-* ) bfd_target=${target_cpu}-aout ;;
-*-bout-* ) bfd_target=${target_cpu}-bout ;;
-*-coff-* ) bfd_target=${target_cpu}-coff ;;
-*-elf-* ) bfd_target=${target_cpu}-elf ;;
i386-none-* ) bfd_target=i386-coff ;;
+*-adobe-* ) bfd_target=adobe ;;
*-sony-* ) bfd_target=news ;;
*-intel-* ) bfd_target=${target_cpu}-coff ;;
*-stratus-* ) bfd_target=${target_cpu}-elf ;;
*-cbm-* ) bfd_target=${target_cpu}-elf ;;
*-ncr-* ) bfd_target=${target_cpu}-elf ;;
+*-hitachi-* ) echo "bad hitachi cpu"; exit 1 ;;
+*-tandem-* ) bfd_target=st2000 ;;
esac
diff --git a/bfd/targets.c b/bfd/targets.c
index 6d7b337..8f29553 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -1,5 +1,5 @@
/* Generic target-file-type support for the BFD library.
- Copyright (C) 1990-1991 Free Software Foundation, Inc.
+ Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -48,7 +48,9 @@ DESCRIPTION
o If the target string is still NULL, or the target string is
<<default>>, then the first item in the target vector is used
- as the target type. @xref{bfd_target}.
+ as the target type, and <<target_defaulted>> is set to
+ cause <<bfd_check_format>> to loop through all the targets.
+ @xref{bfd_target}. @xref{Formats}.
o Otherwise, the elements in the target vector are inspected
one by one, until a match on target name is found. When found,
@@ -62,7 +64,9 @@ DESCRIPTION
Once the BFD has been opened and the target selected, the file
format may be determined. This is done by calling
- <<bfd_check_format>> on the BFD with a suggested format. The
+ <<bfd_check_format>> on the BFD with a suggested format.
+ If <<target_defaulted>> has been set, each possible target
+ type is tried to see if it recognizes the specified format. The
routine returns <<true>> when the application guesses right.
@menu
@* bfd_target::
@@ -375,6 +379,7 @@ extern bfd_target sunos_big_vec;
extern bfd_target demo_64_vec;
extern bfd_target srec_vec;
extern bfd_target tekhex_vec;
+extern bfd_target a_out_adobe_vec;
extern bfd_target b_out_vec_little_host;
extern bfd_target b_out_vec_big_host;
extern bfd_target icoff_little_vec;
@@ -443,6 +448,7 @@ bfd_target *target_vector[] = {
&icoff_big_vec,
&elf_little_vec,
&elf_big_vec,
+ &a_out_adobe_vec,
&b_out_vec_little_host,
&b_out_vec_big_host,
&m68kcoff_vec,