* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
[deliverable/binutils-gdb.git] / bfd / targets.c
index d03eb02e2182f86aff38e589d9c1775ce9c0c873..a6a0d17e826cf2c017c00a11ae04b2afebbdd69e 100644 (file)
@@ -508,6 +508,7 @@ extern const bfd_target bfd_elf32_big_generic_vec;
 extern const bfd_target bfd_elf32_bigarc_vec;
 extern const bfd_target bfd_elf32_bigarm_oabi_vec;
 extern const bfd_target bfd_elf32_bigarm_vec;
+extern const bfd_target bfd_elf32_bigarmqnx_vec;
 extern const bfd_target bfd_elf32_bigmips_vec;
 extern const bfd_target bfd_elf32_cris_vec;
 extern const bfd_target bfd_elf32_d10v_vec;
@@ -519,6 +520,7 @@ extern const bfd_target bfd_elf32_h8300_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_freebsd_vec;
 extern const bfd_target bfd_elf32_i386_vec;
 extern const bfd_target bfd_elf32_i386qnx_vec;
 extern const bfd_target bfd_elf32_i860_little_vec;
@@ -526,10 +528,12 @@ 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_ia64_hpux_big_vec;
+extern const bfd_target bfd_elf32_ip2k_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_littlearmqnx_vec;
 extern const bfd_target bfd_elf32_littlemips_vec;
 extern const bfd_target bfd_elf32_m32r_vec;
 extern const bfd_target bfd_elf32_m68hc11_vec;
@@ -540,15 +544,23 @@ 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_nbigmips_vec;
+extern const bfd_target bfd_elf32_nlittlemips_vec;
+extern const bfd_target bfd_elf32_ntradbigmips_vec;
+extern const bfd_target bfd_elf32_ntradlittlemips_vec;
 extern const bfd_target bfd_elf32_openrisc_vec;
 extern const bfd_target bfd_elf32_or32_big_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_powerpcleqnx_vec;
+extern const bfd_target bfd_elf32_powerpcqnx_vec;
 extern const bfd_target bfd_elf32_s390_vec;
 extern const bfd_target bfd_elf32_sh64_vec;
 extern const bfd_target bfd_elf32_sh64l_vec;
+extern const bfd_target bfd_elf32_sh64lin_vec;
+extern const bfd_target bfd_elf32_sh64blin_vec;
 extern const bfd_target bfd_elf32_sh64lnbsd_vec;
 extern const bfd_target bfd_elf32_sh64nbsd_vec;
 extern const bfd_target bfd_elf32_sh_vec;
@@ -556,7 +568,9 @@ 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_shlnbsd_vec;
+extern const bfd_target bfd_elf32_shlqnx_vec;
 extern const bfd_target bfd_elf32_shnbsd_vec;
+extern const bfd_target bfd_elf32_shqnx_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;
@@ -564,6 +578,7 @@ extern const bfd_target bfd_elf32_us_cris_vec;
 extern const bfd_target bfd_elf32_v850_vec;
 extern const bfd_target bfd_elf32_vax_vec;
 extern const bfd_target bfd_elf32_xstormy16_vec;
+extern const bfd_target bfd_elf64_alpha_freebsd_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;
@@ -582,6 +597,8 @@ extern const bfd_target bfd_elf64_powerpcle_vec;
 extern const bfd_target bfd_elf64_s390_vec;
 extern const bfd_target bfd_elf64_sh64_vec;
 extern const bfd_target bfd_elf64_sh64l_vec;
+extern const bfd_target bfd_elf64_sh64lin_vec;
+extern const bfd_target bfd_elf64_sh64blin_vec;
 extern const bfd_target bfd_elf64_sh64lnbsd_vec;
 extern const bfd_target bfd_elf64_sh64nbsd_vec;
 extern const bfd_target bfd_elf64_sparc_vec;
@@ -672,6 +689,12 @@ extern const bfd_target sparcnetbsd_vec;
 extern const bfd_target sunos_big_vec;
 extern const bfd_target tic30_aout_vec;
 extern const bfd_target tic30_coff_vec;
+extern const bfd_target tic4x_coff0_beh_vec;
+extern const bfd_target tic4x_coff0_vec;
+extern const bfd_target tic4x_coff1_beh_vec;
+extern const bfd_target tic4x_coff1_vec;
+extern const bfd_target tic4x_coff2_beh_vec;
+extern const bfd_target tic4x_coff2_vec;
 extern const bfd_target tic54x_coff0_beh_vec;
 extern const bfd_target tic54x_coff0_vec;
 extern const bfd_target tic54x_coff1_beh_vec;
@@ -770,6 +793,7 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_bigarc_vec,
        &bfd_elf32_bigarm_oabi_vec,
        &bfd_elf32_bigarm_vec,
+       &bfd_elf32_bigarmqnx_vec,
        &bfd_elf32_bigmips_vec,
        &bfd_elf32_cris_vec,
        &bfd_elf32_d10v_vec,
@@ -781,6 +805,7 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_hppa_linux_vec,
        &bfd_elf32_hppa_vec,
        &bfd_elf32_i370_vec,
+       &bfd_elf32_i386_freebsd_vec,
        &bfd_elf32_i386_vec,
        &bfd_elf32_i386qnx_vec,
        &bfd_elf32_i860_little_vec,
@@ -790,10 +815,12 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_ia64_big_vec,
 #endif
        &bfd_elf32_ia64_hpux_big_vec,
+       &bfd_elf32_ip2k_vec,
        &bfd_elf32_little_generic_vec,
        &bfd_elf32_littlearc_vec,
        &bfd_elf32_littlearm_oabi_vec,
        &bfd_elf32_littlearm_vec,
+       &bfd_elf32_littlearmqnx_vec,
        &bfd_elf32_littlemips_vec,
        &bfd_elf32_m32r_vec,
        &bfd_elf32_m68hc11_vec,
@@ -804,24 +831,36 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_mcore_little_vec,
        &bfd_elf32_mn10200_vec,
        &bfd_elf32_mn10300_vec,
+#ifdef BFD64
+       &bfd_elf32_nbigmips_vec,
+       &bfd_elf32_nlittlemips_vec,
+       &bfd_elf32_ntradbigmips_vec,
+       &bfd_elf32_ntradlittlemips_vec,
+#endif
        &bfd_elf32_openrisc_vec,
        &bfd_elf32_or32_big_vec,
        &bfd_elf32_pj_vec,
        &bfd_elf32_pjl_vec,
        &bfd_elf32_powerpc_vec,
        &bfd_elf32_powerpcle_vec,
+       &bfd_elf32_powerpcleqnx_vec,
+       &bfd_elf32_powerpcqnx_vec,
        &bfd_elf32_s390_vec,
         &bfd_elf32_sh_vec,
         &bfd_elf32_shblin_vec,
         &bfd_elf32_shl_vec,
         &bfd_elf32_shlin_vec,
        &bfd_elf32_shlnbsd_vec,
+       &bfd_elf32_shlqnx_vec,
        &bfd_elf32_shnbsd_vec,
+       &bfd_elf32_shqnx_vec,
 #ifdef BFD64
        &bfd_elf32_sh64_vec,
        &bfd_elf32_sh64l_vec,
        &bfd_elf32_sh64lnbsd_vec,
        &bfd_elf32_sh64nbsd_vec,
+       &bfd_elf32_sh64lin_vec,
+       &bfd_elf32_sh64blin_vec,
 #endif
        &bfd_elf32_sparc_vec,
        &bfd_elf32_tradbigmips_vec,
@@ -831,6 +870,7 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_vax_vec,
        &bfd_elf32_xstormy16_vec,
 #ifdef BFD64
+       &bfd_elf64_alpha_freebsd_vec,
        &bfd_elf64_alpha_vec,
        &bfd_elf64_big_generic_vec,
        &bfd_elf64_bigmips_vec,
@@ -851,6 +891,8 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf64_sh64l_vec,
        &bfd_elf64_sh64lnbsd_vec,
        &bfd_elf64_sh64nbsd_vec,
+       &bfd_elf64_sh64lin_vec,
+       &bfd_elf64_sh64blin_vec,
 #if 0
        &bfd_elf64_sparc_vec,
 #endif
@@ -1068,6 +1110,17 @@ const bfd_target *bfd_default_vector[] = {
        NULL
 };
 
+/* bfd_associated_vector[] contains the associated target vectors used
+   to reduce the ambiguity in bfd_check_format_matches.  */
+
+static const bfd_target *_bfd_associated_vector[] = {
+#ifdef ASSOCIATED_VECS
+       ASSOCIATED_VECS,
+#endif
+       NULL
+};
+const bfd_target * const *bfd_associated_vector = _bfd_associated_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.  */
@@ -1239,14 +1292,17 @@ bfd_target_list ()
     vec_length++;
 
   amt = (vec_length + 1) * sizeof (char **);
-  name_ptr = name_list = (const char **) bfd_zmalloc (amt);
+  name_ptr = name_list = (const char **) bfd_malloc (amt);
 
   if (name_list == NULL)
     return NULL;
 
   for (target = &bfd_target_vector[0]; *target != NULL; target++)
-    *(name_ptr++) = (*target)->name;
+    if (target == &bfd_target_vector[0]
+       || *target != bfd_target_vector[0])
+      *name_ptr++ = (*target)->name;
 
+  *name_ptr = NULL;
   return name_list;
 }
 
This page took 0.025076 seconds and 4 git commands to generate.