diff options
| author | skrll <skrll@NetBSD.org> | 2006-02-02 22:14:43 +0000 |
|---|---|---|
| committer | skrll <skrll@NetBSD.org> | 2006-02-02 22:14:43 +0000 |
| commit | 8d40ee0d82eee9fa2a2a2052b4bc9b9f6ac1f26c (patch) | |
| tree | 5fd65fdbb49e5c3ecbe6cebeabb01c61f18ac26b /gnu | |
| parent | 1a673ba65bd5064459aae8119615d245c4a9d9ac (diff) | |
Pull across the fix for ld/1021 and ld/1031.
This has been applied to the binutils_2_16 branch.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/dist/binutils/bfd/ChangeLog | 11 | ||||
| -rw-r--r-- | gnu/dist/binutils/bfd/elflink.c | 9 |
2 files changed, 15 insertions, 5 deletions
diff --git a/gnu/dist/binutils/bfd/ChangeLog b/gnu/dist/binutils/bfd/ChangeLog index 0ba609c4786..4e85fd2af7b 100644 --- a/gnu/dist/binutils/bfd/ChangeLog +++ b/gnu/dist/binutils/bfd/ChangeLog @@ -1,4 +1,13 @@ -2005-05-02 Daniel Jacobowitz <dan@codesourcery.com> +2005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR ld/1021 + PR ld/1031 + * elflink.c (elf_link_add_object_symbols): Also append the version + name to non-hidden absolute symbols that are functions. + + 2005-06-12 Daniel Jacobowitz <dan@codesourcery.com> + + * Makefile.am: Clear RELEASE. * Makefile.am: Set RELEASE. * configure.in: Bump version to 2.16.1. diff --git a/gnu/dist/binutils/bfd/elflink.c b/gnu/dist/binutils/bfd/elflink.c index e1d81af278c..4dba8f6faac 100644 --- a/gnu/dist/binutils/bfd/elflink.c +++ b/gnu/dist/binutils/bfd/elflink.c @@ -3683,11 +3683,12 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) /* If this is a hidden symbol, or if it is not version 1, we append the version name to the symbol name. - However, we do not modify a non-hidden absolute - symbol, because it might be the version symbol - itself. FIXME: What if it isn't? */ + However, we do not modify a non-hidden absolute symbol + if it is not a function, because it might be the version + symbol itself. FIXME: What if it isn't? */ if ((iver.vs_vers & VERSYM_HIDDEN) != 0 - || (vernum > 1 && ! bfd_is_abs_section (sec))) + || (vernum > 1 && (! bfd_is_abs_section (sec) + || ELF_ST_TYPE (isym->st_info) == STT_FUNC))) { const char *verstr; size_t namelen, verlen, newlen; |
