Add OpenRISC support
[deliverable/binutils-gdb.git] / bfd / targets.c
index df80ec6e7298e6d308b66515a42273f1010cfa28..d8264d23f369b25f5c46858b3c015e8544ef3970 100644 (file)
@@ -1,5 +1,6 @@
 /* Generic target-file-type support for the BFD library.
-   Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
@@ -25,7 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "fnmatch.h"
 
 /*
-SECTION 
+SECTION
        Targets
 
 DESCRIPTION
@@ -34,7 +35,7 @@ DESCRIPTION
        part of BFD is a structure containing pointers to functions
        which perform certain low level operations on files. BFD
        translates the applications's requests through a pointer into
-       calls to the back end routines. 
+       calls to the back end routines.
 
        When a file is opened with <<bfd_openr>>, its format and
        target are unknown. BFD uses various mechanisms to determine
@@ -42,11 +43,11 @@ DESCRIPTION
 
        o Create a BFD by calling the internal routine
        <<_bfd_new_bfd>>, then call <<bfd_find_target>> with the
-       target string supplied to <<bfd_openr>> and the new BFD pointer. 
+       target string supplied to <<bfd_openr>> and the new BFD pointer.
 
        o If a null target string was provided to <<bfd_find_target>>,
        look up the environment variable <<GNUTARGET>> and use
-       that as the target string. 
+       that as the target string.
 
        o If the target string is still <<NULL>>, or the target string is
        <<default>>, then use the first item in the target vector
@@ -56,7 +57,7 @@ DESCRIPTION
 
        o Otherwise, inspect the elements in the target vector
        one by one, until a match on target name is found. When found,
-       use it. 
+       use it.
 
        o Otherwise return the error <<bfd_error_invalid_target>> to
        <<bfd_openr>>.
@@ -66,7 +67,7 @@ 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. 
+       <<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.
        <<bfd_check_format>> returns <<true>> when the caller guesses right.
@@ -75,7 +76,6 @@ DESCRIPTION
 @end menu
 */
 
-
 /*
 
 INODE
@@ -87,17 +87,17 @@ SUBSECTION
 DESCRIPTION
        This structure contains everything that BFD knows about a
        target. It includes things like its byte order, name, and which
-       routines to call to do various operations.   
+       routines to call to do various operations.
 
        Every BFD points to a target structure with its <<xvec>>
-       member. 
+       member.
 
        The macros below are used to dispatch to functions through the
        <<bfd_target>> vector. They are used in a number of macros further
        down in @file{bfd.h}, and are also used when calling various
        routines by hand inside the BFD implementation.  The @var{arglist}
        argument must be parenthesized; it contains all the arguments
-       to the called function. 
+       to the called function.
 
        They make the documentation (more) unpleasant to read, so if
        someone wants to fix this and not break the above, please do.
@@ -116,13 +116,13 @@ DESCRIPTION
        For operations which index on the BFD format:
 
 .#define BFD_SEND_FMT(bfd, message, arglist) \
-.            (((bfd)->xvec->message[(int)((bfd)->format)]) arglist)
+.            (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist)
 .
 .#ifdef DEBUG_BFD_SEND
 .#undef BFD_SEND_FMT
 .#define BFD_SEND_FMT(bfd, message, arglist) \
 .  (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
-.   (((bfd)->xvec->message[(int)((bfd)->format)]) arglist) : \
+.   (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) : \
 .   (bfd_assert (__FILE__,__LINE__), NULL))
 .#endif
 
@@ -131,16 +131,16 @@ DESCRIPTION
        module that implements access to a different target under BFD,
        defines one of these.
 
-
        FIXME, these names should be rationalised with the names of
        the entry points which call them. Too bad we can't have one
-       macro to define them both! 
+       macro to define them both!
 
 .enum bfd_flavour {
 .  bfd_target_unknown_flavour,
 .  bfd_target_aout_flavour,
 .  bfd_target_coff_flavour,
 .  bfd_target_ecoff_flavour,
+.  bfd_target_xcoff_flavour,
 .  bfd_target_elf_flavour,
 .  bfd_target_ieee_flavour,
 .  bfd_target_nlm_flavour,
@@ -184,21 +184,21 @@ The order of bytes within the header parts of a file.
 A mask of all the flags which an executable may have set -
 from the set <<BFD_NO_FLAGS>>, <<HAS_RELOC>>, ...<<D_PAGED>>.
 
-.  flagword object_flags;       
+.  flagword object_flags;
 
 A mask of all the flags which a section may have set - from
 the set <<SEC_NO_FLAGS>>, <<SEC_ALLOC>>, ...<<SET_NEVER_LOAD>>.
 
 .  flagword section_flags;
 
-The character normally found at the front of a symbol 
+The character normally found at the front of a symbol
 (if any), perhaps `_'.
 
 .  char symbol_leading_char;
 
 The pad character for file names within an archive header.
 
-.  char ar_pad_char;            
+.  char ar_pad_char;
 
 The maximum number of characters in an archive header.
 
@@ -233,15 +233,15 @@ Byte swapping for the headers
 Format dependent routines: these are vectors of entry points
 within the target vector structure, one for each format to check.
 
-Check the format of a file being read.  Return a <<bfd_target *>> or zero. 
+Check the format of a file being read.  Return a <<bfd_target *>> or zero.
 
 .  const struct bfd_target *(*_bfd_check_format[bfd_type_end]) PARAMS ((bfd *));
 
-Set the format of a file being written.  
+Set the format of a file being written.
 
 .  boolean             (*_bfd_set_format[bfd_type_end]) PARAMS ((bfd *));
 
-Write cached information into a file being written, at <<bfd_close>>. 
+Write cached information into a file being written, at <<bfd_close>>.
 
 .  boolean             (*_bfd_write_contents[bfd_type_end]) PARAMS ((bfd *));
 
@@ -264,7 +264,7 @@ BFD_JUMP_TABLE macros.
 .  {* Called when a new section is created.  *}
 .  boolean       (*_new_section_hook) PARAMS ((bfd *, sec_ptr));
 .  {* Read the contents of a section.  *}
-.  boolean       (*_bfd_get_section_contents) PARAMS ((bfd *, sec_ptr, PTR, 
+.  boolean       (*_bfd_get_section_contents) PARAMS ((bfd *, sec_ptr, PTR,
 .                                            file_ptr, bfd_size_type));
 .  boolean       (*_bfd_get_section_contents_in_window)
 .                          PARAMS ((bfd *, sec_ptr, bfd_window *,
@@ -288,7 +288,7 @@ BFD_JUMP_TABLE macros.
 .     to another.  *}
 .  boolean       (*_bfd_copy_private_section_data) PARAMS ((bfd *, sec_ptr,
 .                                                       bfd *, sec_ptr));
-.  {* Called to copy BFD private symbol data from one symbol 
+.  {* Called to copy BFD private symbol data from one symbol
 .     to another.  *}
 .  boolean       (*_bfd_copy_private_symbol_data) PARAMS ((bfd *, asymbol *,
 .                                                         bfd *, asymbol *));
@@ -324,10 +324,10 @@ BFD_JUMP_TABLE macros.
 .  boolean  (*_bfd_construct_extended_name_table)
 .             PARAMS ((bfd *, char **, bfd_size_type *, const char **));
 .  void     (*_bfd_truncate_arname) PARAMS ((bfd *, CONST char *, char *));
-.  boolean  (*write_armap) PARAMS ((bfd *arch, 
+.  boolean  (*write_armap) PARAMS ((bfd *arch,
 .                              unsigned int elength,
 .                              struct orl *map,
-.                              unsigned int orl_count, 
+.                              unsigned int orl_count,
 .                              int stridx));
 .  PTR (*_bfd_read_ar_hdr_fn) PARAMS ((bfd *));
 .  bfd *    (*openr_next_archived_file) PARAMS ((bfd *arch, bfd *prev));
@@ -467,15 +467,15 @@ and little endian code, and target chosen by the linker has the wrong
 endianness.  The function open_output() in ld/ldlang.c uses this field
 to find an alternative output format that is suitable.
 
-. {* Opposite endian version of this target.  *}  
+. {* Opposite endian version of this target.  *}
 . const struct bfd_target * alternative_target;
-. 
+.
 
 Data for use by back-end routines, which isn't generic enough to belong
 in this structure.
 
 . PTR backend_data;
-. 
+.
 .} bfd_target;
 
 */
@@ -486,98 +486,126 @@ in this structure.
    we can't intermix extern's and initializers.  */
 extern const bfd_target a29kcoff_big_vec;
 extern const bfd_target a_out_adobe_vec;
+extern const bfd_target aout0_big_vec;
 extern const bfd_target aout_arm_big_vec;
 extern const bfd_target aout_arm_little_vec;
 extern const bfd_target aout_mips_big_vec;
 extern const bfd_target aout_mips_little_vec;
-extern const bfd_target aout0_big_vec;
 extern const bfd_target apollocoff_vec;
-extern const bfd_target armcoff_little_vec;
+extern const bfd_target arm_epoc_pe_big_vec;
+extern const bfd_target arm_epoc_pe_little_vec;
+extern const bfd_target arm_epoc_pei_big_vec;
+extern const bfd_target arm_epoc_pei_little_vec;
 extern const bfd_target armcoff_big_vec;
+extern const bfd_target armcoff_little_vec;
 extern const bfd_target armnetbsd_vec;
-extern const bfd_target armpe_little_vec;
 extern const bfd_target armpe_big_vec;
-extern const bfd_target armpei_little_vec;
+extern const bfd_target armpe_little_vec;
 extern const bfd_target armpei_big_vec;
-extern const bfd_target arm_epoc_pe_little_vec;
-extern const bfd_target arm_epoc_pe_big_vec;
-extern const bfd_target arm_epoc_pei_little_vec;
-extern const bfd_target arm_epoc_pei_big_vec;
+extern const bfd_target armpei_little_vec;
 extern const bfd_target b_out_vec_big_host;
 extern const bfd_target b_out_vec_little_host;
-extern const bfd_target bfd_elf64_alpha_vec;
+extern const bfd_target bfd_efi_app_ia32_vec;
+extern const bfd_target bfd_efi_app_ia64_vec;
+extern const bfd_target bfd_elf32_avr_vec;
+extern const bfd_target bfd_elf32_big_generic_vec;
 extern const bfd_target bfd_elf32_bigarc_vec;
-extern const bfd_target bfd_elf32_bigarm_vec;
 extern const bfd_target bfd_elf32_bigarm_oabi_vec;
-extern const bfd_target bfd_elf32_littlearc_vec;
-extern const bfd_target bfd_elf32_littlearm_vec;
-extern const bfd_target bfd_elf32_littlearm_oabi_vec;
-extern const bfd_target bfd_elf32_big_generic_vec;
+extern const bfd_target bfd_elf32_bigarm_vec;
 extern const bfd_target bfd_elf32_bigmips_vec;
-extern const bfd_target bfd_elf64_bigmips_vec;
+extern const bfd_target bfd_elf32_cris_vec;
 extern const bfd_target bfd_elf32_d10v_vec;
 extern const bfd_target bfd_elf32_d30v_vec;
+extern const bfd_target bfd_elf32_fr30_vec;
+extern const bfd_target bfd_elf32_hppa_linux_vec;
 extern const bfd_target bfd_elf32_hppa_vec;
+extern const bfd_target bfd_elf32_i370_vec;
 extern const bfd_target bfd_elf32_i386_vec;
+extern const bfd_target bfd_elf32_i860_little_vec;
 extern const bfd_target bfd_elf32_i860_vec;
 extern const bfd_target bfd_elf32_i960_vec;
+extern const bfd_target bfd_elf32_ia64_big_vec;
 extern const bfd_target bfd_elf32_little_generic_vec;
+extern const bfd_target bfd_elf32_littlearc_vec;
+extern const bfd_target bfd_elf32_littlearm_oabi_vec;
+extern const bfd_target bfd_elf32_littlearm_vec;
 extern const bfd_target bfd_elf32_littlemips_vec;
-extern const bfd_target bfd_elf64_littlemips_vec;
 extern const bfd_target bfd_elf32_m32r_vec;
+extern const bfd_target bfd_elf32_m68hc11_vec;
+extern const bfd_target bfd_elf32_m68hc12_vec;
 extern const bfd_target bfd_elf32_m68k_vec;
 extern const bfd_target bfd_elf32_m88k_vec;
+extern const bfd_target bfd_elf32_mcore_big_vec;
+extern const bfd_target bfd_elf32_mcore_little_vec;
 extern const bfd_target bfd_elf32_mn10200_vec;
 extern const bfd_target bfd_elf32_mn10300_vec;
+extern const bfd_target bfd_elf32_openrisc_vec;
 extern const bfd_target bfd_elf32_pj_vec;
 extern const bfd_target bfd_elf32_pjl_vec;
 extern const bfd_target bfd_elf32_powerpc_vec;
 extern const bfd_target bfd_elf32_powerpcle_vec;
+extern const bfd_target bfd_elf32_s390_vec;
 extern const bfd_target bfd_elf32_sh_vec;
+extern const bfd_target bfd_elf32_shblin_vec;
 extern const bfd_target bfd_elf32_shl_vec;
+extern const bfd_target bfd_elf32_shlin_vec;
 extern const bfd_target bfd_elf32_sparc_vec;
+extern const bfd_target bfd_elf32_tradbigmips_vec;
+extern const bfd_target bfd_elf32_tradlittlemips_vec;
+extern const bfd_target bfd_elf32_us_cris_vec;
 extern const bfd_target bfd_elf32_v850_vec;
-extern const bfd_target bfd_elf32_fr30_vec;
-extern const bfd_target bfd_elf32_mcore_big_vec;
-extern const bfd_target bfd_elf32_mcore_little_vec;
+extern const bfd_target bfd_elf64_alpha_vec;
 extern const bfd_target bfd_elf64_big_generic_vec;
+extern const bfd_target bfd_elf64_bigmips_vec;
+extern const bfd_target bfd_elf64_hppa_linux_vec;
+extern const bfd_target bfd_elf64_hppa_vec;
+extern const bfd_target bfd_elf64_ia64_aix_big_vec;
+extern const bfd_target bfd_elf64_ia64_aix_little_vec;
+extern const bfd_target bfd_elf64_ia64_big_vec;
+extern const bfd_target bfd_elf64_ia64_little_vec;
 extern const bfd_target bfd_elf64_little_generic_vec;
+extern const bfd_target bfd_elf64_littlemips_vec;
+extern const bfd_target bfd_elf64_tradbigmips_vec;
+extern const bfd_target bfd_elf64_tradlittlemips_vec;
+extern const bfd_target bfd_elf64_s390_vec;
 extern const bfd_target bfd_elf64_sparc_vec;
+extern const bfd_target bfd_elf64_x86_64_vec;
+extern const bfd_target bfd_powerpc_pe_vec;
+extern const bfd_target bfd_powerpc_pei_vec;
+extern const bfd_target bfd_powerpcle_pe_vec;
+extern const bfd_target bfd_powerpcle_pei_vec;
+extern const bfd_target cris_aout_vec;
 extern const bfd_target demo_64_vec;
 extern const bfd_target ecoff_big_vec;
-extern const bfd_target ecoff_little_vec;
 extern const bfd_target ecoff_biglittle_vec;
+extern const bfd_target ecoff_little_vec;
 extern const bfd_target ecoffalpha_little_vec;
+extern const bfd_target go32coff_vec;
+extern const bfd_target go32stubbedcoff_vec;
 extern const bfd_target h8300coff_vec;
 extern const bfd_target h8500coff_vec;
 extern const bfd_target host_aout_vec;
 extern const bfd_target hp300bsd_vec;
 extern const bfd_target hp300hpux_vec;
-extern const bfd_target som_vec;
 extern const bfd_target i386aout_vec;
 extern const bfd_target i386bsd_vec;
+extern const bfd_target i386coff_vec;
 extern const bfd_target i386dynix_vec;
 extern const bfd_target i386freebsd_vec;
-extern const bfd_target i386os9k_vec;
-extern const bfd_target i386coff_vec;
-extern const bfd_target bfd_powerpc_pe_vec;
-extern const bfd_target bfd_powerpcle_pe_vec;
-extern const bfd_target bfd_powerpc_pei_vec;
-extern const bfd_target bfd_powerpcle_pei_vec;
-extern const bfd_target i386pe_vec;
-extern const bfd_target i386pei_vec;
-extern const bfd_target go32coff_vec;
-extern const bfd_target go32stubbedcoff_vec;
 extern const bfd_target i386linux_vec;
 extern const bfd_target i386lynx_aout_vec;
 extern const bfd_target i386lynx_coff_vec;
 extern const bfd_target i386mach3_vec;
 extern const bfd_target i386msdos_vec;
 extern const bfd_target i386netbsd_vec;
+extern const bfd_target i386os9k_vec;
+extern const bfd_target i386pe_vec;
+extern const bfd_target i386pei_vec;
 extern const bfd_target i860coff_vec;
 extern const bfd_target icoff_big_vec;
 extern const bfd_target icoff_little_vec;
 extern const bfd_target ieee_vec;
+extern const bfd_target m68k4knetbsd_vec;
 extern const bfd_target m68kaux_coff_vec;
 extern const bfd_target m68kcoff_vec;
 extern const bfd_target m68kcoffun_vec;
@@ -586,46 +614,58 @@ extern const bfd_target m68klynx_aout_vec;
 extern const bfd_target m68klynx_coff_vec;
 extern const bfd_target m68knetbsd_vec;
 extern const bfd_target m68ksysvcoff_vec;
-extern const bfd_target m68k4knetbsd_vec;
 extern const bfd_target m88kbcs_vec;
 extern const bfd_target m88kmach3_vec;
 extern const bfd_target mcore_pe_big_vec;
 extern const bfd_target mcore_pe_little_vec;
 extern const bfd_target mcore_pei_big_vec;
 extern const bfd_target mcore_pei_little_vec;
+extern const bfd_target mipslpe_vec;
+extern const bfd_target mipslpei_vec;
 extern const bfd_target newsos3_vec;
-extern const bfd_target nlm32_i386_vec;
-extern const bfd_target nlm32_sparc_vec;
 extern const bfd_target nlm32_alpha_vec;
+extern const bfd_target nlm32_i386_vec;
 extern const bfd_target nlm32_powerpc_vec;
-extern const bfd_target pc532netbsd_vec;
+extern const bfd_target nlm32_sparc_vec;
 extern const bfd_target oasys_vec;
 extern const bfd_target pc532machaout_vec;
+extern const bfd_target pc532netbsd_vec;
+extern const bfd_target pdp11_aout_vec;
+extern const bfd_target pmac_xcoff_vec;
 extern const bfd_target ppcboot_vec;
 extern const bfd_target riscix_vec;
-extern const bfd_target pmac_xcoff_vec;
+extern const bfd_target rs6000coff64_vec;
 extern const bfd_target rs6000coff_vec;
-extern const bfd_target shcoff_vec;
-extern const bfd_target shlcoff_vec;
 extern const bfd_target shcoff_small_vec;
+extern const bfd_target shcoff_vec;
 extern const bfd_target shlcoff_small_vec;
+extern const bfd_target shlcoff_vec;
+extern const bfd_target shlpe_vec;
+extern const bfd_target shlpei_vec;
+extern const bfd_target som_vec;
+extern const bfd_target sparccoff_vec;
 extern const bfd_target sparcle_aout_vec;
 extern const bfd_target sparclinux_vec;
 extern const bfd_target sparclynx_aout_vec;
 extern const bfd_target sparclynx_coff_vec;
 extern const bfd_target sparcnetbsd_vec;
-extern const bfd_target sparccoff_vec;
 extern const bfd_target sunos_big_vec;
 extern const bfd_target tekhex_vec;
 extern const bfd_target tic30_aout_vec;
 extern const bfd_target tic30_coff_vec;
+extern const bfd_target tic54x_coff0_beh_vec;
+extern const bfd_target tic54x_coff0_vec;
+extern const bfd_target tic54x_coff1_beh_vec;
+extern const bfd_target tic54x_coff1_vec;
+extern const bfd_target tic54x_coff2_beh_vec;
+extern const bfd_target tic54x_coff2_vec;
 extern const bfd_target tic80coff_vec;
 extern const bfd_target vaxnetbsd_vec;
 extern const bfd_target versados_vec;
 extern const bfd_target vms_alpha_vec;
 extern const bfd_target vms_vax_vec;
-extern const bfd_target we32kcoff_vec;
 extern const bfd_target w65_vec;
+extern const bfd_target we32kcoff_vec;
 extern const bfd_target z8kcoff_vec;
 
 /* srec is always included.  */
@@ -640,7 +680,8 @@ extern const bfd_target ihex_vec;
 
 /* All of the xvecs for core files.  */
 extern const bfd_target aix386_core_vec;
-extern const bfd_target cisco_core_vec;
+extern const bfd_target cisco_core_big_vec;
+extern const bfd_target cisco_core_little_vec;
 extern const bfd_target hpux_core_vec;
 extern const bfd_target hppabsd_core_vec;
 extern const bfd_target irix_core_vec;
@@ -650,7 +691,7 @@ extern const bfd_target sco5_core_vec;
 extern const bfd_target trad_core_vec;
 extern const bfd_target ptrace_core_vec;
 
-const bfd_target * const bfd_target_vector[] = {
+static const bfd_target * const _bfd_target_vector[] = {
 
 #ifdef SELECT_VECS
 
@@ -676,6 +717,11 @@ const bfd_target * const bfd_target_vector[] = {
        &b_out_vec_big_host,
        &b_out_vec_little_host,
 
+       &bfd_efi_app_ia32_vec,
+#ifdef BFD64
+       &bfd_efi_app_ia64_vec,
+#endif
+
        /* This, and other vectors, may not be used in any *.mt configuration.
           But that does not mean they are unnecessary.  If configured with
           --enable-targets=all, objdump or gdb should be able to examine
@@ -683,7 +729,14 @@ const bfd_target * const bfd_target_vector[] = {
        &bfd_elf32_big_generic_vec,
 #ifdef BFD64
        &bfd_elf64_alpha_vec,
+       &bfd_elf64_hppa_vec,
+       &bfd_elf64_hppa_linux_vec,
+       &bfd_elf64_ia64_aix_little_vec,
+       &bfd_elf64_ia64_aix_big_vec,
+       &bfd_elf64_ia64_little_vec,
+       &bfd_elf64_ia64_big_vec,
 #endif
+       &bfd_elf32_avr_vec,
        &bfd_elf32_bigarc_vec,
         &bfd_elf32_bigarm_vec,
         &bfd_elf32_bigarm_oabi_vec,
@@ -691,11 +744,19 @@ const bfd_target * const bfd_target_vector[] = {
 #ifdef BFD64
        &bfd_elf64_bigmips_vec,
 #endif
+       &bfd_elf32_cris_vec,
+       &bfd_elf32_us_cris_vec,
        &bfd_elf32_d10v_vec,
        &bfd_elf32_d30v_vec,
        &bfd_elf32_hppa_vec,
+       &bfd_elf32_hppa_linux_vec,
+       &bfd_elf32_i370_vec,
        &bfd_elf32_i386_vec,
+#ifdef BFD64
+        &bfd_elf64_x86_64_vec,
+#endif
        &bfd_elf32_i860_vec,
+       &bfd_elf32_i860_little_vec,
        &bfd_elf32_i960_vec,
        &bfd_elf32_little_generic_vec,
        &bfd_elf32_littlearc_vec,
@@ -708,6 +769,8 @@ const bfd_target * const bfd_target_vector[] = {
        &bfd_elf32_m32r_vec,
        &bfd_elf32_mn10200_vec,
        &bfd_elf32_mn10300_vec,
+       &bfd_elf32_m68hc11_vec,
+       &bfd_elf32_m68hc12_vec,
        &bfd_elf32_m68k_vec,
        &bfd_elf32_m88k_vec,
        &bfd_elf32_sparc_vec,
@@ -719,16 +782,23 @@ const bfd_target * const bfd_target_vector[] = {
        &bfd_elf32_fr30_vec,
        &bfd_elf32_mcore_big_vec,
        &bfd_elf32_mcore_little_vec,
-#ifdef BFD64                   /* No one seems to use this.  */
+       &bfd_elf32_tradbigmips_vec,
+       &bfd_elf32_tradlittlemips_vec,
+#ifdef BFD64
+       &bfd_elf64_tradbigmips_vec,
+       &bfd_elf64_tradlittlemips_vec,
+       /* No one seems to use this.  */
        &bfd_elf64_big_generic_vec,
        &bfd_elf64_little_generic_vec,
 #endif
 #if 0
        &bfd_elf64_sparc_vec,
 #endif
-       /* We don't include cisco_core_vec.  Although it has a magic number,
+       /* We don't include cisco_core_*_vec.  Although it has a magic number,
           the magic number isn't at the beginning of the file, and thus
           might spuriously match other kinds of files.  */
+
+        &cris_aout_vec,
 #ifdef BFD64
        &demo_64_vec,   /* Only compiled if host has long-long support */
 #endif
@@ -826,6 +896,7 @@ const bfd_target * const bfd_target_vector[] = {
        &oasys_vec,
 #endif
        &pc532machaout_vec,
+       &pdp11_aout_vec,
 #if 0
        /* We have no way of distinguishing these from other a.out variants */
        &aout_arm_big_vec,
@@ -833,10 +904,13 @@ const bfd_target * const bfd_target_vector[] = {
        &riscix_vec,
 #endif
 #if 0
-       /* This has the same magic number as RS/6000. */
+       /* This has the same magic number as RS/6000.  */
        &pmac_xcoff_vec,
 #endif
        &rs6000coff_vec,
+#ifdef BFD64
+       &rs6000coff64_vec,
+#endif
        &ppcboot_vec,
        &shcoff_vec,
        &shlcoff_vec,
@@ -851,6 +925,12 @@ const bfd_target * const bfd_target_vector[] = {
        &aout0_big_vec,
        &tic30_aout_vec,
        &tic30_coff_vec,
+       &tic54x_coff0_vec,
+       &tic54x_coff0_beh_vec,
+       &tic54x_coff1_vec,
+       &tic54x_coff1_beh_vec,
+       &tic54x_coff2_vec,
+       &tic54x_coff2_beh_vec,
        &tic80coff_vec,
        &vaxnetbsd_vec,
        &versados_vec,
@@ -860,7 +940,10 @@ const bfd_target * const bfd_target_vector[] = {
        &vms_vax_vec,
        &we32kcoff_vec,
        &z8kcoff_vec,
-
+        &bfd_elf32_s390_vec, 
+#ifdef BFD64
+        &bfd_elf64_s390_vec,
+#endif
 #endif /* not SELECT_VECS */
 
 /* Always support S-records, for convenience.  */
@@ -906,6 +989,7 @@ const bfd_target * const bfd_target_vector[] = {
 
        NULL /* end of list marker */
 };
+const bfd_target * const *bfd_target_vector = _bfd_target_vector;
 
 /* bfd_default_vector[0] contains either the address of the default vector,
    if there is one, or zero if there isn't.  */
@@ -920,7 +1004,7 @@ const bfd_target *bfd_default_vector[] = {
 /* When there is an ambiguous match, bfd_check_format_matches puts the
    names of the matching targets in an array.  This variable is the maximum
    number of entries that the array could possibly need.  */
-const size_t _bfd_target_vector_entries = sizeof(bfd_target_vector)/sizeof(*bfd_target_vector);
+const size_t _bfd_target_vector_entries = sizeof (bfd_target_vector)/sizeof (*bfd_target_vector);
 \f
 /* This array maps configuration triplets onto BFD vectors.  */
 
@@ -1020,7 +1104,7 @@ DESCRIPTION
        variable to "default" will cause the first entry in the target
        list to be returned, and "target_defaulted" will be set in the
        BFD.  This causes <<bfd_check_format>> to loop over all the
-       targets to find the one that matches the file being read.   
+       targets to find the one that matches the file being read.
 */
 
 const bfd_target *
@@ -1103,7 +1187,7 @@ FUNCTION
        bfd_seach_for_target
 
 SYNOPSIS
-       const bfd_target * bfd_search_for_target (int (* search_func)(const bfd_target *, void *), void *);
+       const bfd_target * bfd_search_for_target (int (* search_func) (const bfd_target *, void *), void *);
 
 DESCRIPTION
        Return a pointer to the first transfer vector in the list of
This page took 0.033257 seconds and 4 git commands to generate.