aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-09-26 02:20:05 +0000
committerJohn Gilmore <gnu@cygnus>1992-09-26 02:20:05 +0000
commit218ce930302dc328a7e6740d064ce38ffe76f0c8 (patch)
treed20c5c647dd032c5d2719107d25d8fd07b1b42c5
parent3aa6856ae81484ff7db975f724f212191f0e23e1 (diff)
downloadgdb-218ce930302dc328a7e6740d064ce38ffe76f0c8.zip
gdb-218ce930302dc328a7e6740d064ce38ffe76f0c8.tar.gz
gdb-218ce930302dc328a7e6740d064ce38ffe76f0c8.tar.bz2
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'.
-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,