From 218ce930302dc328a7e6740d064ce38ffe76f0c8 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Sat, 26 Sep 1992 02:20:05 +0000 Subject: [PATCH] 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'. --- bfd/ChangeLog | 18 ++++++++++++++++-- bfd/configure.in | 30 ++++++++++++++++++------------ bfd/targets.c | 12 +++++++++--- 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f344edbe015..3fcd06f4167 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 d7967ec04e7..991791394d9 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 6d7b337d3fe..8f295536554 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 <>, then the first item in the target vector is used - as the target type. @xref{bfd_target}. + as the target type, and <> is set to + cause <> 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 - <> on the BFD with a suggested format. The + <> on the BFD with a suggested format. + If <> has been set, each possible target + type is tried to see if it recognizes the specified format. The routine returns <> 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, -- 2.30.2