From: Eric Botcazou Date: Sat, 16 Jul 2005 15:08:14 +0000 (+0000) Subject: PR ld/1021 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc86ff917dedaa5e0c473e9298b7238c0221282f;p=binutils-gdb.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7870c6005f9..334d42ebdce 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2005-05-16 Eric Botcazou + + 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-07-16 Alan Modra * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack diff --git a/bfd/elflink.c b/bfd/elflink.c index 7307c15a4f8..d030b920f54 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -3687,11 +3687,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;