diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f344edbe01..3fcd06f416 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 d7967ec04e..991791394d 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 6d7b337d3f..8f29553655 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,