diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2005-07-16 15:08:14 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@libertysurf.fr> | 2005-07-16 15:08:14 +0000 |
commit | cc86ff917dedaa5e0c473e9298b7238c0221282f (patch) | |
tree | a4f9c307130316d7039439612bc103365cc9f204 /bfd | |
parent | 42fa7765a27b1d9691a1ca141408279bd9c3cd4e (diff) | |
download | gdb-cc86ff917dedaa5e0c473e9298b7238c0221282f.zip gdb-cc86ff917dedaa5e0c473e9298b7238c0221282f.tar.gz gdb-cc86ff917dedaa5e0c473e9298b7238c0221282f.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elflink.c | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7870c60..334d42e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2005-05-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-07-16 Alan Modra <amodra@bigpond.net.au> * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack diff --git a/bfd/elflink.c b/bfd/elflink.c index 7307c15..d030b92 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; |