From 1287d1cc37aca000234065fd0472a3a9846f4017 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 22 Feb 2000 08:06:01 +0000 Subject: [PATCH] 2000-02-22 H.J. Lu * elflink.h (elf_link_add_object_symbols): If a version symbol is not defined, don't add a second ELF_VER_CHR. --- bfd/ChangeLog | 3 +++ bfd/elflink.h | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index da0d94d..5d4d4a2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -5,6 +5,9 @@ 2000-02-22 H.J. Lu + * 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. diff --git a/bfd/elflink.h b/bfd/elflink.h index 00037b3..6acb790 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -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); -- 2.7.4