aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-08-26 04:33:42 +0000
committerAlan Modra <amodra@gmail.com>2009-08-26 04:33:42 +0000
commit0666b2c367f69869ee1cb3ff5768a13cbac0a522 (patch)
treee7be054e391817c60633c7240f84a1a3d9937eb7 /bfd
parentbc3a0b4d7948f17ce6b6ae139ff07757f1618d9b (diff)
downloadgdb-0666b2c367f69869ee1cb3ff5768a13cbac0a522.zip
gdb-0666b2c367f69869ee1cb3ff5768a13cbac0a522.tar.gz
gdb-0666b2c367f69869ee1cb3ff5768a13cbac0a522.tar.bz2
PR ld/10515
* linker.c (bfd_find_version_for_sym): Revert warning.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/linker.c14
2 files changed, 6 insertions, 13 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8cb822a..cae2e2f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,6 +1,11 @@
2009-08-26 Alan Modra <amodra@bigpond.net.au>
PR ld/10515
+ * linker.c (bfd_find_version_for_sym): Revert warning.
+
+2009-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/10515
* linker.c (bfd_find_version_for_sym): Override a "*" match by any
other wildcard match. Warn on multiple wildcard matches.
diff --git a/bfd/linker.c b/bfd/linker.c
index 8fe64e6..825a4e0 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -3277,7 +3277,6 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
struct bfd_elf_version_tree *t;
struct bfd_elf_version_tree *local_ver, *global_ver, *exist_ver;
struct bfd_elf_version_tree *star_local_ver, *star_global_ver;
- unsigned int match_count = 0;
local_ver = NULL;
global_ver = NULL;
@@ -3292,7 +3291,6 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
while ((d = (*t->match) (&t->globals, d, sym_name)) != NULL)
{
- ++match_count;
if (d->literal || strcmp (d->pattern, "*") != 0)
global_ver = t;
else
@@ -3303,10 +3301,7 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
/* If the match is a wildcard pattern, keep looking for
a more explicit, perhaps even local, match. */
if (d->literal)
- {
- match_count = 0;
- break;
- }
+ break;
}
if (d != NULL)
@@ -3319,7 +3314,6 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
while ((d = (*t->match) (&t->locals, d, sym_name)) != NULL)
{
- ++match_count;
if (d->literal || strcmp (d->pattern, "*") != 0)
local_ver = t;
else
@@ -3331,7 +3325,6 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
/* An exact match overrides a global wildcard. */
global_ver = NULL;
star_global_ver = NULL;
- match_count = 0;
break;
}
}
@@ -3341,11 +3334,6 @@ bfd_find_version_for_sym (struct bfd_elf_version_tree *verdefs,
}
}
- if (match_count > 1)
- (*_bfd_error_handler)
- (_("warning: multiple wildcard version script matches for %s\n"),
- sym_name);
-
if (global_ver == NULL && local_ver == NULL)
global_ver = star_global_ver;