summaryrefslogtreecommitdiff
path: root/bfd/targets.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-11-05 01:18:56 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-11-05 01:18:56 +0000
commitd65e24854db3b67d2c5488855a787c9b93c63505 (patch)
tree4c5a9456f5657b416c83117cc53b8b98830fb93d /bfd/targets.c
parent0cf796bd777027c6fa797018f0b73d866a104823 (diff)
downloadgdb-d65e24854db3b67d2c5488855a787c9b93c63505.tar.gz
* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
vectors in target_selvecs. (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors in target_selvecs. (sh-*-netbsdelf*): Likewise. * configure.in (assocvecs): New variable. Handle assocvecs like selvecs. * configure: Regenerate. * format.c (bfd_check_format_matches): Store bfd_target pointers in matching_vector instead of target names. Select first target from bfd_associated_vector that matches a list of ambiguous targets. * targets.c (_bfd_associated_vector): New array. (bfd_associated_vector): New variable. (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec. * libbfd-in.h (bfd_associated_vector): Declare. * libbfd.h: Regenerate.
Diffstat (limited to 'bfd/targets.c')
-rw-r--r--bfd/targets.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/bfd/targets.c b/bfd/targets.c
index e665898bc63..a6a0d17e826 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -859,6 +859,8 @@ static const bfd_target * const _bfd_target_vector[] = {
&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,
@@ -889,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
@@ -1106,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. */