gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / bfd / targets.c
index 4951d0245b3b2154931c72aa0144c1bd563cace3..e5fc71a206ab59ee7cfe4fcad6fb594d3707b634 100644 (file)
@@ -1,5 +1,5 @@
 /* Generic target-file-type support for the BFD library.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
+   Copyright (C) 1990-2020 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -151,8 +151,6 @@ DESCRIPTION
 .  bfd_target_ecoff_flavour,
 .  bfd_target_xcoff_flavour,
 .  bfd_target_elf_flavour,
-.  bfd_target_ieee_flavour,
-.  bfd_target_oasys_flavour,
 .  bfd_target_tekhex_flavour,
 .  bfd_target_srec_flavour,
 .  bfd_target_verilog_flavour,
@@ -178,10 +176,12 @@ DESCRIPTION
 .{* Forward declaration.  *}
 .typedef struct flag_info flag_info;
 .
+.typedef void (*bfd_cleanup) (bfd *);
+.
 .typedef struct bfd_target
 .{
 .  {* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  *}
-.  char *name;
+.  const char *name;
 .
 . {* The "flavour" of a back end is a general indication about
 .    the contents of a file.  *}
@@ -242,9 +242,9 @@ DESCRIPTION
 .  {* 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.  *}
-.  const struct bfd_target *
-.             (*_bfd_check_format[bfd_type_end]) (bfd *);
+.  {* Check the format of a file being read.  Return a <<bfd_cleanup>> on
+.     success or zero on failure.  *}
+.  bfd_cleanup (*_bfd_check_format[bfd_type_end]) (bfd *);
 .
 .  {* Set the format of a file being written.  *}
 .  bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
@@ -392,9 +392,10 @@ BFD_JUMP_TABLE macros.
 .#define bfd_get_symbol_info(b,p,e) \
 .      BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
 .  const char *(*_bfd_get_symbol_version_string) (bfd *, struct bfd_symbol *,
+.                                                bfd_boolean,
 .                                                bfd_boolean *);
-.#define bfd_get_symbol_version_string(b,s,h) \
-.      BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
+.#define bfd_get_symbol_version_string(b,s,p,h) \
+.      BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,p,h))
 .  bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
 .  bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
 .  alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
@@ -464,9 +465,11 @@ BFD_JUMP_TABLE macros.
 .  NAME##_bfd_lookup_section_flags, \
 .  NAME##_bfd_merge_sections, \
 .  NAME##_bfd_is_group_section, \
+.  NAME##_bfd_group_name, \
 .  NAME##_bfd_discard_group, \
 .  NAME##_section_already_linked, \
 .  NAME##_bfd_define_common_symbol, \
+.  NAME##_bfd_link_hide_symbol, \
 .  NAME##_bfd_define_start_stop
 .
 .  int        (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
@@ -521,6 +524,9 @@ BFD_JUMP_TABLE macros.
 .  {* Is this section a member of a group?  *}
 .  bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
 .
+.  {* The group name, if section is a member of a group.  *}
+.  const char *(*_bfd_group_name) (bfd *, const struct bfd_section *);
+.
 .  {* Discard members of a group.  *}
 .  bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
 .
@@ -533,6 +539,10 @@ BFD_JUMP_TABLE macros.
 .  bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
 .                                           struct bfd_link_hash_entry *);
 .
+.  {* Hide a symbol.  *}
+.  void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+.                                struct bfd_link_hash_entry *);
+.
 .  {* Define a __start, __stop, .startof. or .sizeof. symbol.  *}
 .  struct bfd_link_hash_entry *
 .             (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
@@ -577,6 +587,74 @@ to find an alternative output format that is suitable.
 .
 .} bfd_target;
 .
+.static inline const char *
+.bfd_get_target (const bfd *abfd)
+.{
+.  return abfd->xvec->name;
+.}
+.
+.static inline enum bfd_flavour
+.bfd_get_flavour (const bfd *abfd)
+.{
+.  return abfd->xvec->flavour;
+.}
+.
+.static inline flagword
+.bfd_applicable_file_flags (const bfd *abfd)
+.{
+.  return abfd->xvec->object_flags;
+.}
+.
+.static inline bfd_boolean
+.bfd_family_coff (const bfd *abfd)
+.{
+.  return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
+.          || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+.}
+.
+.static inline bfd_boolean
+.bfd_big_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
+.}
+.static inline bfd_boolean
+.bfd_little_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
+.}
+.
+.static inline bfd_boolean
+.bfd_header_big_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
+.}
+.
+.static inline bfd_boolean
+.bfd_header_little_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
+.}
+.
+.static inline flagword
+.bfd_applicable_section_flags (const bfd *abfd)
+.{
+.  return abfd->xvec->section_flags;
+.}
+.
+.static inline char
+.bfd_get_symbol_leading_char (const bfd *abfd)
+.{
+.  return abfd->xvec->symbol_leading_char;
+.}
+.
+.static inline enum bfd_flavour
+.bfd_asymbol_flavour (const asymbol *sy)
+.{
+.  if ((sy->flags & BSF_SYNTHETIC) != 0)
+.    return bfd_target_unknown_flavour;
+.  return sy->the_bfd->xvec->flavour;
+.}
+.
 */
 
 /* All known xvecs (even those that don't compile on all systems).
@@ -596,19 +674,13 @@ extern const bfd_target alpha_elf64_fbsd_vec;
 extern const bfd_target alpha_vms_vec;
 extern const bfd_target alpha_vms_lib_txt_vec;
 extern const bfd_target am33_elf32_linux_vec;
-extern const bfd_target aout0_be_vec;
-extern const bfd_target aout64_vec;
 extern const bfd_target aout_vec;
 extern const bfd_target arc_elf32_be_vec;
 extern const bfd_target arc_elf32_le_vec;
-extern const bfd_target arm_aout_be_vec;
-extern const bfd_target arm_aout_le_vec;
-extern const bfd_target arm_aout_nbsd_vec;
-extern const bfd_target arm_aout_riscix_vec;
-extern const bfd_target arm_coff_be_vec;
-extern const bfd_target arm_coff_le_vec;
 extern const bfd_target arm_elf32_be_vec;
 extern const bfd_target arm_elf32_le_vec;
+extern const bfd_target arm_elf32_fdpic_be_vec;
+extern const bfd_target arm_elf32_fdpic_le_vec;
 extern const bfd_target arm_elf32_nacl_be_vec;
 extern const bfd_target arm_elf32_nacl_le_vec;
 extern const bfd_target arm_elf32_symbian_be_vec;
@@ -618,25 +690,22 @@ extern const bfd_target arm_elf32_vxworks_le_vec;
 extern const bfd_target arm_mach_o_vec;
 extern const bfd_target arm_pe_be_vec;
 extern const bfd_target arm_pe_le_vec;
-extern const bfd_target arm_pe_epoc_be_vec;
-extern const bfd_target arm_pe_epoc_le_vec;
 extern const bfd_target arm_pe_wince_be_vec;
 extern const bfd_target arm_pe_wince_le_vec;
 extern const bfd_target arm_pei_be_vec;
 extern const bfd_target arm_pei_le_vec;
-extern const bfd_target arm_pei_epoc_be_vec;
-extern const bfd_target arm_pei_epoc_le_vec;
 extern const bfd_target arm_pei_wince_be_vec;
 extern const bfd_target arm_pei_wince_le_vec;
 extern const bfd_target avr_elf32_vec;
 extern const bfd_target bfin_elf32_vec;
 extern const bfd_target bfin_elf32_fdpic_vec;
 extern const bfd_target cr16_elf32_vec;
-extern const bfd_target cr16c_elf32_vec;
 extern const bfd_target cris_aout_vec;
 extern const bfd_target cris_elf32_vec;
 extern const bfd_target cris_elf32_us_vec;
 extern const bfd_target crx_elf32_vec;
+extern const bfd_target csky_elf32_be_vec;
+extern const bfd_target csky_elf32_le_vec;
 extern const bfd_target d10v_elf32_vec;
 extern const bfd_target d30v_elf32_vec;
 extern const bfd_target dlx_elf32_be_vec;
@@ -644,30 +713,23 @@ extern const bfd_target elf32_be_vec;
 extern const bfd_target elf32_le_vec;
 extern const bfd_target elf64_be_vec;
 extern const bfd_target elf64_le_vec;
+extern const bfd_target bpf_elf64_le_vec;
+extern const bfd_target bpf_elf64_be_vec;
 extern const bfd_target epiphany_elf32_vec;
 extern const bfd_target fr30_elf32_vec;
 extern const bfd_target frv_elf32_vec;
 extern const bfd_target frv_elf32_fdpic_vec;
-extern const bfd_target h8300_coff_vec;
 extern const bfd_target h8300_elf32_vec;
 extern const bfd_target h8300_elf32_linux_vec;
-extern const bfd_target h8500_coff_vec;
 extern const bfd_target hppa_elf32_vec;
 extern const bfd_target hppa_elf32_linux_vec;
 extern const bfd_target hppa_elf32_nbsd_vec;
 extern const bfd_target hppa_elf64_vec;
 extern const bfd_target hppa_elf64_linux_vec;
 extern const bfd_target hppa_som_vec;
-extern const bfd_target i370_elf32_vec;
 extern const bfd_target i386_aout_vec;
 extern const bfd_target i386_aout_bsd_vec;
-extern const bfd_target i386_aout_dynix_vec;
-extern const bfd_target i386_aout_fbsd_vec;
-extern const bfd_target i386_aout_linux_vec;
 extern const bfd_target i386_aout_lynx_vec;
-extern const bfd_target i386_aout_mach3_vec;
-extern const bfd_target i386_aout_nbsd_vec;
-extern const bfd_target i386_aout_os9k_vec;
 extern const bfd_target i386_coff_vec;
 extern const bfd_target i386_coff_go32_vec;
 extern const bfd_target i386_coff_go32stubbed_vec;
@@ -680,6 +742,7 @@ extern const bfd_target i386_elf32_vxworks_vec;
 extern const bfd_target i386_mach_o_vec;
 extern const bfd_target i386_msdos_vec;
 extern const bfd_target i386_pe_vec;
+extern const bfd_target i386_pe_big_vec;
 extern const bfd_target i386_pei_vec;
 extern const bfd_target iamcu_elf32_vec;
 extern const bfd_target ia64_elf32_be_vec;
@@ -689,7 +752,6 @@ extern const bfd_target ia64_elf64_le_vec;
 extern const bfd_target ia64_elf64_hpux_be_vec;
 extern const bfd_target ia64_elf64_vms_vec;
 extern const bfd_target ia64_pei_vec;
-extern const bfd_target ieee_vec;
 extern const bfd_target ip2k_elf32_vec;
 extern const bfd_target iq2000_elf32_vec;
 extern const bfd_target k1om_elf64_vec;
@@ -705,22 +767,8 @@ extern const bfd_target m32r_elf32_linux_vec;
 extern const bfd_target m32r_elf32_linux_le_vec;
 extern const bfd_target m68hc11_elf32_vec;
 extern const bfd_target m68hc12_elf32_vec;
-extern const bfd_target m68k_aout_4knbsd_vec;
-extern const bfd_target m68k_aout_hp300bsd_vec;
-extern const bfd_target m68k_aout_hp300hpux_vec;
-extern const bfd_target m68k_aout_linux_vec;
-extern const bfd_target m68k_aout_nbsd_vec;
-extern const bfd_target m68k_coff_vec;
-extern const bfd_target m68k_coff_apollo_vec;
-extern const bfd_target m68k_coff_aux_vec;
-extern const bfd_target m68k_coff_sysv_vec;
-extern const bfd_target m68k_coff_un_vec;
 extern const bfd_target m68k_elf32_vec;
-extern const bfd_target m68k_versados_vec;
-extern const bfd_target m88k_aout_mach3_vec;
-extern const bfd_target m88k_aout_obsd_vec;
-extern const bfd_target m88k_coff_bcs_vec;
-extern const bfd_target m88k_elf32_vec;
+extern const bfd_target s12z_elf32_vec;
 extern const bfd_target mach_o_be_vec;
 extern const bfd_target mach_o_le_vec;
 extern const bfd_target mach_o_fat_vec;
@@ -735,8 +783,6 @@ extern const bfd_target mep_elf32_le_vec;
 extern const bfd_target metag_elf32_vec;
 extern const bfd_target microblaze_elf32_vec;
 extern const bfd_target microblaze_elf32_le_vec;
-extern const bfd_target mips_aout_be_vec;
-extern const bfd_target mips_aout_le_vec;
 extern const bfd_target mips_ecoff_be_vec;
 extern const bfd_target mips_ecoff_le_vec;
 extern const bfd_target mips_ecoff_bele_vec;
@@ -760,8 +806,6 @@ extern const bfd_target mips_elf64_trad_be_vec;
 extern const bfd_target mips_elf64_trad_le_vec;
 extern const bfd_target mips_elf64_tradfbsd_be_vec;
 extern const bfd_target mips_elf64_tradfbsd_le_vec;
-extern const bfd_target mips_pe_le_vec;
-extern const bfd_target mips_pei_le_vec;
 extern const bfd_target mmix_elf64_vec;
 extern const bfd_target mmix_mmo_vec;
 extern const bfd_target mn10200_elf32_vec;
@@ -775,11 +819,11 @@ extern const bfd_target nds32_elf32_be_vec;
 extern const bfd_target nds32_elf32_le_vec;
 extern const bfd_target nds32_elf32_linux_be_vec;
 extern const bfd_target nds32_elf32_linux_le_vec;
+extern const bfd_target nfp_elf64_vec;
 extern const bfd_target nios2_elf32_be_vec;
 extern const bfd_target nios2_elf32_le_vec;
 extern const bfd_target ns32k_aout_pc532mach_vec;
 extern const bfd_target ns32k_aout_pc532nbsd_vec;
-extern const bfd_target oasys_vec;
 extern const bfd_target or1k_elf32_vec;
 extern const bfd_target pdp11_aout_vec;
 extern const bfd_target pef_vec;
@@ -810,22 +854,11 @@ extern const bfd_target rs6000_xcoff_vec;
 extern const bfd_target rx_elf32_be_vec;
 extern const bfd_target rx_elf32_be_ns_vec;
 extern const bfd_target rx_elf32_le_vec;
+extern const bfd_target rx_elf32_linux_le_vec;
 extern const bfd_target s390_elf32_vec;
 extern const bfd_target s390_elf64_vec;
 extern const bfd_target score_elf32_be_vec;
 extern const bfd_target score_elf32_le_vec;
-extern const bfd_target sh64_elf32_vec;
-extern const bfd_target sh64_elf32_le_vec;
-extern const bfd_target sh64_elf32_linux_vec;
-extern const bfd_target sh64_elf32_linux_be_vec;
-extern const bfd_target sh64_elf32_nbsd_vec;
-extern const bfd_target sh64_elf32_nbsd_le_vec;
-extern const bfd_target sh64_elf64_vec;
-extern const bfd_target sh64_elf64_le_vec;
-extern const bfd_target sh64_elf64_linux_vec;
-extern const bfd_target sh64_elf64_linux_be_vec;
-extern const bfd_target sh64_elf64_nbsd_vec;
-extern const bfd_target sh64_elf64_nbsd_le_vec;
 extern const bfd_target sh_coff_vec;
 extern const bfd_target sh_coff_le_vec;
 extern const bfd_target sh_coff_small_vec;
@@ -838,18 +871,10 @@ extern const bfd_target sh_elf32_linux_vec;
 extern const bfd_target sh_elf32_linux_be_vec;
 extern const bfd_target sh_elf32_nbsd_vec;
 extern const bfd_target sh_elf32_nbsd_le_vec;
-extern const bfd_target sh_elf32_symbian_le_vec;
 extern const bfd_target sh_elf32_vxworks_vec;
 extern const bfd_target sh_elf32_vxworks_le_vec;
 extern const bfd_target sh_pe_le_vec;
 extern const bfd_target sh_pei_le_vec;
-extern const bfd_target sparc_aout_le_vec;
-extern const bfd_target sparc_aout_linux_vec;
-extern const bfd_target sparc_aout_lynx_vec;
-extern const bfd_target sparc_aout_nbsd_vec;
-extern const bfd_target sparc_aout_sunos_be_vec;
-extern const bfd_target sparc_coff_vec;
-extern const bfd_target sparc_coff_lynx_vec;
 extern const bfd_target sparc_elf32_vec;
 extern const bfd_target sparc_elf32_sol2_vec;
 extern const bfd_target sparc_elf32_vxworks_vec;
@@ -878,7 +903,6 @@ extern const bfd_target tic6x_elf32_c6000_be_vec;
 extern const bfd_target tic6x_elf32_c6000_le_vec;
 extern const bfd_target tic6x_elf32_linux_be_vec;
 extern const bfd_target tic6x_elf32_linux_le_vec;
-extern const bfd_target tic80_coff_vec;
 extern const bfd_target tilegx_elf32_be_vec;
 extern const bfd_target tilegx_elf32_le_vec;
 extern const bfd_target tilegx_elf64_be_vec;
@@ -888,14 +912,11 @@ extern const bfd_target v800_elf32_vec;
 extern const bfd_target v850_elf32_vec;
 extern const bfd_target ft32_elf32_vec;
 extern const bfd_target vax_aout_1knbsd_vec;
-extern const bfd_target vax_aout_bsd_vec;
 extern const bfd_target vax_aout_nbsd_vec;
 extern const bfd_target vax_elf32_vec;
 extern const bfd_target visium_elf32_vec;
-extern const bfd_target w65_coff_vec;
 extern const bfd_target wasm_vec;
 extern const bfd_target wasm32_elf32_vec;
-extern const bfd_target we32k_coff_vec;
 extern const bfd_target x86_64_coff_vec;
 extern const bfd_target x86_64_elf32_vec;
 extern const bfd_target x86_64_elf32_nacl_vec;
@@ -906,7 +927,7 @@ extern const bfd_target x86_64_elf64_nacl_vec;
 extern const bfd_target x86_64_elf64_sol2_vec;
 extern const bfd_target x86_64_mach_o_vec;
 extern const bfd_target x86_64_pe_vec;
-extern const bfd_target x86_64_pe_be_vec;
+extern const bfd_target x86_64_pe_big_vec;
 extern const bfd_target x86_64_pei_vec;
 extern const bfd_target xc16x_elf32_vec;
 extern const bfd_target xgate_elf32_vec;
@@ -914,6 +935,7 @@ extern const bfd_target xstormy16_elf32_vec;
 extern const bfd_target xtensa_elf32_be_vec;
 extern const bfd_target xtensa_elf32_le_vec;
 extern const bfd_target z80_coff_vec;
+extern const bfd_target z80_elf32_vec;
 extern const bfd_target z8k_coff_vec;
 
 /* These are always included.  */
@@ -977,10 +999,6 @@ static const bfd_target * const _bfd_target_vector[] =
 
        &am33_elf32_linux_vec,
 
-       &aout0_be_vec,
-#ifdef BFD64
-       &aout64_vec,    /* Only compiled if host has long-long support.  */
-#endif
 #if 0
        /* Since a.out files lack decent magic numbers, no way to recognize
           which kind of a.out file it is.  */
@@ -990,20 +1008,10 @@ static const bfd_target * const _bfd_target_vector[] =
        &arc_elf32_be_vec,
        &arc_elf32_le_vec,
 
-#if 0
-       /* We have no way of distinguishing these from other a.out variants.  */
-       &arm_aout_be_vec,
-       &arm_aout_le_vec,
-#endif
-       &arm_aout_nbsd_vec,
-#if 0
-       /* We have no way of distinguishing these from other a.out variants.  */
-       &arm_aout_riscix_vec,
-#endif
-       &arm_coff_be_vec,
-       &arm_coff_le_vec,
        &arm_elf32_be_vec,
        &arm_elf32_le_vec,
+       &arm_elf32_fdpic_be_vec,
+       &arm_elf32_fdpic_le_vec,
        &arm_elf32_symbian_be_vec,
        &arm_elf32_symbian_le_vec,
        &arm_elf32_vxworks_be_vec,
@@ -1011,14 +1019,10 @@ static const bfd_target * const _bfd_target_vector[] =
        &arm_mach_o_vec,
        &arm_pe_be_vec,
        &arm_pe_le_vec,
-       &arm_pe_epoc_be_vec,
-       &arm_pe_epoc_le_vec,
        &arm_pe_wince_be_vec,
        &arm_pe_wince_le_vec,
        &arm_pei_be_vec,
        &arm_pei_le_vec,
-       &arm_pei_epoc_be_vec,
-       &arm_pei_epoc_le_vec,
        &arm_pei_wince_be_vec,
        &arm_pei_wince_le_vec,
 
@@ -1028,7 +1032,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &bfin_elf32_fdpic_vec,
 
        &cr16_elf32_vec,
-       &cr16c_elf32_vec,
 
        &cris_aout_vec,
        &cris_elf32_vec,
@@ -1036,6 +1039,9 @@ static const bfd_target * const _bfd_target_vector[] =
 
        &crx_elf32_vec,
 
+       &csky_elf32_be_vec,
+       &csky_elf32_le_vec,
+
        &d10v_elf32_vec,
        &d30v_elf32_vec,
 
@@ -1059,10 +1065,8 @@ static const bfd_target * const _bfd_target_vector[] =
        &frv_elf32_vec,
        &frv_elf32_fdpic_vec,
 
-       &h8300_coff_vec,
        &h8300_elf32_vec,
        &h8300_elf32_linux_vec,
-       &h8500_coff_vec,
 
        &hppa_elf32_vec,
        &hppa_elf32_linux_vec,
@@ -1073,26 +1077,9 @@ static const bfd_target * const _bfd_target_vector[] =
 #endif
        &hppa_som_vec,
 
-       &i370_elf32_vec,
-
        &i386_aout_vec,
        &i386_aout_bsd_vec,
-#if 0
-       &i386_aout_dynix_vec,
-#endif
-       &i386_aout_fbsd_vec,
-#if 0
-       /* Since a.out files lack decent magic numbers, no way to recognize
-          which kind of a.out file it is.  */
-       &i386_aout_linux_vec,
-#endif
        &i386_aout_lynx_vec,
-#if 0
-       /* No distinguishing features for Mach 3 executables.  */
-       &i386_aout_mach3_vec,
-#endif
-       &i386_aout_nbsd_vec,
-       &i386_aout_os9k_vec,
        &i386_coff_vec,
        &i386_coff_go32_vec,
        &i386_coff_go32stubbed_vec,
@@ -1105,10 +1092,16 @@ static const bfd_target * const _bfd_target_vector[] =
        &i386_mach_o_vec,
        &i386_msdos_vec,
        &i386_pe_vec,
+       &i386_pe_big_vec,
        &i386_pei_vec,
 
        &iamcu_elf32_vec,
 
+#ifdef BFD64
+       &bpf_elf64_be_vec,
+       &bpf_elf64_le_vec,
+#endif
+
 #ifdef BFD64
 #if 0
        &ia64_elf32_be_vec,
@@ -1121,8 +1114,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &ia64_pei_vec,
 #endif
 
-       &ieee_vec,
-
        &ip2k_elf32_vec,
        &iq2000_elf32_vec,
 
@@ -1145,32 +1136,9 @@ static const bfd_target * const _bfd_target_vector[] =
        &m68hc11_elf32_vec,
        &m68hc12_elf32_vec,
 
-#if 0
-       &m68k_aout_4knbsd_vec,
-       /* Clashes with sparc_aout_sunos_be_vec magic no.  */
-       &m68k_aout_hp300bsd_vec,
-#endif
-       &m68k_aout_hp300hpux_vec,
-#if 0
-       /* Since a.out files lack decent magic numbers, no way to recognize
-          which kind of a.out file it is.  */
-       &m68k_aout_linux_vec,
-#endif
-       &m68k_aout_nbsd_vec,
-       &m68k_coff_vec,
-#if 0
-       &m68k_coff_apollo_vec,
-       &m68k_coff_aux_vec,
-#endif
-       &m68k_coff_sysv_vec,
-       &m68k_coff_un_vec,
        &m68k_elf32_vec,
-       &m68k_versados_vec,
 
-       &m88k_aout_mach3_vec,
-       &m88k_aout_obsd_vec,
-       &m88k_coff_bcs_vec,
-       &m88k_elf32_vec,
+       &s12z_elf32_vec,
 
        &mach_o_be_vec,
        &mach_o_le_vec,
@@ -1189,11 +1157,6 @@ static const bfd_target * const _bfd_target_vector[] =
 
        &microblaze_elf32_vec,
 
-#if 0
-       /* No one seems to use this.  */
-       &mips_aout_be_vec,
-#endif
-       &mips_aout_le_vec,
        &mips_ecoff_be_vec,
        &mips_ecoff_le_vec,
        &mips_ecoff_bele_vec,
@@ -1219,8 +1182,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &mips_elf64_tradfbsd_be_vec,
        &mips_elf64_tradfbsd_le_vec,
 #endif
-       &mips_pe_le_vec,
-       &mips_pei_le_vec,
 
 #ifdef BFD64
        &mmix_elf64_vec,
@@ -1243,21 +1204,16 @@ static const bfd_target * const _bfd_target_vector[] =
        &nds32_elf32_linux_be_vec,
        &nds32_elf32_linux_le_vec,
 
+#ifdef BFD64
+       &nfp_elf64_vec,
+#endif
+
        &nios2_elf32_be_vec,
        &nios2_elf32_le_vec,
 
        &ns32k_aout_pc532mach_vec,
        &ns32k_aout_pc532nbsd_vec,
 
-#if 0
-       /* We have no oasys tools anymore, so we can't test any of this
-          anymore. If you want to test the stuff yourself, go ahead...
-          steve@cygnus.com
-          Worse, since there is no magic number for archives, there
-          can be annoying target mis-matches.  */
-       &oasys_vec,
-#endif
-
        &or1k_elf32_vec,
 
        &pdp11_aout_vec,
@@ -1268,10 +1224,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &pj_elf32_vec,
        &pj_elf32_le_vec,
 
-#if BFD_SUPPORTS_PLUGINS
-       &plugin_vec,
-#endif
-
        &powerpc_boot_vec,
        &powerpc_elf32_vec,
        &powerpc_elf32_le_vec,
@@ -1319,20 +1271,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &score_elf32_le_vec,
 #endif
 
-#ifdef BFD64
-       &sh64_elf32_vec,
-       &sh64_elf32_le_vec,
-       &sh64_elf32_linux_vec,
-       &sh64_elf32_linux_be_vec,
-       &sh64_elf32_nbsd_vec,
-       &sh64_elf32_nbsd_le_vec,
-       &sh64_elf64_vec,
-       &sh64_elf64_le_vec,
-       &sh64_elf64_linux_vec,
-       &sh64_elf64_linux_be_vec,
-       &sh64_elf64_nbsd_vec,
-       &sh64_elf64_nbsd_le_vec,
-#endif
        &sh_coff_vec,
        &sh_coff_le_vec,
        &sh_coff_small_vec,
@@ -1345,19 +1283,11 @@ static const bfd_target * const _bfd_target_vector[] =
        &sh_elf32_linux_be_vec,
        &sh_elf32_nbsd_vec,
        &sh_elf32_nbsd_le_vec,
-       &sh_elf32_symbian_le_vec,
        &sh_elf32_vxworks_vec,
        &sh_elf32_vxworks_le_vec,
        &sh_pe_le_vec,
        &sh_pei_le_vec,
 
-       &sparc_aout_le_vec,
-       &sparc_aout_linux_vec,
-       &sparc_aout_lynx_vec,
-       &sparc_aout_nbsd_vec,
-       &sparc_aout_sunos_be_vec,
-       &sparc_coff_vec,
-       &sparc_coff_lynx_vec,
        &sparc_elf32_vec,
        &sparc_elf32_sol2_vec,
        &sparc_elf32_vxworks_vec,
@@ -1381,7 +1311,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &tic54x_coff2_vec,
        &tic6x_elf32_be_vec,
        &tic6x_elf32_le_vec,
-       &tic80_coff_vec,
 
        &tilegx_elf32_be_vec,
        &tilegx_elf32_le_vec,
@@ -1397,19 +1326,14 @@ static const bfd_target * const _bfd_target_vector[] =
        &v850_elf32_vec,
 
        &vax_aout_1knbsd_vec,
-       &vax_aout_bsd_vec,
        &vax_aout_nbsd_vec,
        &vax_elf32_vec,
 
        &visium_elf32_vec,
 
-       &w65_coff_vec,
-
        &wasm_vec,
        &wasm32_elf32_vec,
 
-       &we32k_coff_vec,
-
 #ifdef BFD64
        &x86_64_coff_vec,
        &x86_64_elf32_vec,
@@ -1421,7 +1345,7 @@ static const bfd_target * const _bfd_target_vector[] =
        &x86_64_elf64_sol2_vec,
        &x86_64_mach_o_vec,
        &x86_64_pe_vec,
-       &x86_64_pe_be_vec,
+       &x86_64_pe_big_vec,
        &x86_64_pei_vec,
 #endif
 
@@ -1435,6 +1359,7 @@ static const bfd_target * const _bfd_target_vector[] =
        &xtensa_elf32_le_vec,
 
        &z80_coff_vec,
+       &z80_elf32_vec,
 
        &z8k_coff_vec,
 #endif /* not SELECT_VECS */
@@ -1451,6 +1376,10 @@ static const bfd_target * const _bfd_target_vector[] =
 /* Likewise for ihex.  */
        &ihex_vec,
 
+#if BFD_SUPPORTS_PLUGINS
+       &plugin_vec,
+#endif
+
 /* Add any required traditional-core-file-handler.  */
 
 #ifdef AIX386_CORE
@@ -1763,8 +1692,7 @@ bfd_get_target_info (const char *target_name, bfd *abfd,
            _bfd_find_arch_match (tname, arches, def_target_arch);
        }
 
-      if (arches)
-       free (arches);
+      free (arches);
     }
   return target_vec;
 }
@@ -1787,7 +1715,7 @@ const char **
 bfd_target_list (void)
 {
   int vec_length = 0;
-  bfd_size_type amt;
+  size_t amt;
   const bfd_target * const *target;
   const  char **name_list, **name_ptr;
 
@@ -1860,8 +1788,6 @@ bfd_flavour_name (enum bfd_flavour flavour)
     case bfd_target_ecoff_flavour: return "ECOFF";
     case bfd_target_xcoff_flavour: return "XCOFF";
     case bfd_target_elf_flavour: return "ELF";
-    case bfd_target_ieee_flavour: return "IEEE";
-    case bfd_target_oasys_flavour: return "Oasys";
     case bfd_target_tekhex_flavour: return "Tekhex";
     case bfd_target_srec_flavour: return "Srec";
     case bfd_target_verilog_flavour: return "Verilog";
This page took 0.032349 seconds and 4 git commands to generate.