OSDN Git Service

2000-02-22 H.J. Lu <hjl@gnu.org>
authorian <ian>
Tue, 22 Feb 2000 08:06:01 +0000 (08:06 +0000)
committerian <ian>
Tue, 22 Feb 2000 08:06:01 +0000 (08:06 +0000)
* elflink.h (elf_link_add_object_symbols): If a version symbol is
not defined, don't add a second ELF_VER_CHR.

bfd/ChangeLog
bfd/elflink.h

index da0d94d..5d4d4a2 100644 (file)
@@ -5,6 +5,9 @@
 
 2000-02-22  H.J. Lu  <hjl@gnu.org>
 
+       * elflink.h (elf_link_add_object_symbols): If a version symbol is
+       not defined, don't add a second ELF_VER_CHR.
+
         * elflink.h (elf_bfd_final_link): Call output_extsym for global
        symbols converted to local symbols even when stripping all
        symbols.
index 00037b3..6acb790 100644 (file)
@@ -1444,7 +1444,11 @@ elf_link_add_object_symbols (abfd, info)
                  strcpy (newname, name);
                  p = newname + namelen;
                  *p++ = ELF_VER_CHR;
-                 if ((iver.vs_vers & VERSYM_HIDDEN) == 0)
+                 /* If this is a defined non-hidden version symbol,
+                    we add another @ to the name.  This indicates the
+                    default version of the symbol.  */
+                 if ((iver.vs_vers & VERSYM_HIDDEN) == 0
+                     && sym.st_shndx != SHN_UNDEF)
                    *p++ = ELF_VER_CHR;
                  strcpy (p, verstr);