Add OpenRISC support
[deliverable/binutils-gdb.git] / bfd / targets.c
index dac9ce671dccd240a30af639dd522d3e3a11c68a..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, 99, 2000, 2001
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
@@ -485,119 +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_efi_app_ia32_vec;
 extern const bfd_target bfd_efi_app_ia64_vec;
-extern const bfd_target bfd_elf64_alpha_vec;
-extern const bfd_target bfd_elf64_hppa_vec;
-extern const bfd_target bfd_elf64_hppa_linux_vec;
-extern const bfd_target bfd_elf64_ia64_little_vec;
-extern const bfd_target bfd_elf64_ia64_big_vec;
-extern const bfd_target bfd_elf32_ia64_big_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_us_cris_vec;
 extern const bfd_target bfd_elf32_d10v_vec;
 extern const bfd_target bfd_elf32_d30v_vec;
-extern const bfd_target bfd_elf32_hppa_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_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_shblin_vec;
 extern const bfd_target bfd_elf32_sparc_vec;
-extern const bfd_target bfd_elf64_x86_64_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;
@@ -606,57 +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 mipslpe_vec;
-extern const bfd_target mipslpei_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 rs6000coff_vec;
 extern const bfd_target rs6000coff64_vec;
-extern const bfd_target shcoff_vec;
-extern const bfd_target shlcoff_vec;
+extern const bfd_target rs6000coff_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_vec;
 extern const bfd_target tic54x_coff0_beh_vec;
-extern const bfd_target tic54x_coff1_vec;
+extern const bfd_target tic54x_coff0_vec;
 extern const bfd_target tic54x_coff1_beh_vec;
-extern const bfd_target tic54x_coff2_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.  */
@@ -682,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
 
@@ -722,6 +731,8 @@ const bfd_target * const bfd_target_vector[] = {
        &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
@@ -773,7 +784,10 @@ const bfd_target * const bfd_target_vector[] = {
        &bfd_elf32_mcore_little_vec,
        &bfd_elf32_tradbigmips_vec,
        &bfd_elf32_tradlittlemips_vec,
-#ifdef BFD64                   /* No one seems to use this.  */
+#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
@@ -882,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,
@@ -925,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.  */
@@ -971,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.  */
This page took 0.028448 seconds and 4 git commands to generate.