]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
PR ld/1021
authorEric Botcazou <ebotcazou@libertysurf.fr>
Sat, 16 Jul 2005 15:20:31 +0000 (15:20 +0000)
committerEric Botcazou <ebotcazou@libertysurf.fr>
Sat, 16 Jul 2005 15:20:31 +0000 (15:20 +0000)
PR ld/1031
* elflink.c (elf_link_add_object_symbols): Also append the version
name to non-hidden absolute symbols that are functions.

bfd/ChangeLog
bfd/elflink.c

index ae3f2e15f229b214294abf527dbfd971c1068402..2217075039110889f9070ecfa476f3e9d3f1a03b 100644 (file)
@@ -1,3 +1,10 @@
+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.
index 3a10c715ba6e4ef9b015c9cdd4a9ac352ae61a43..94868ebd4c107a12d5ce08cbc22b6caab2427c50 100644 (file)
@@ -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;