diff options
author | Alan Modra <amodra@gmail.com> | 2016-05-30 09:43:44 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-06-02 12:28:39 +0930 |
commit | 5b677558bc6c7b2477bb33c709e6017e68e7ae8c (patch) | |
tree | a2de1189d6388b1a57720e0efee53831055dba30 /bfd/ChangeLog | |
parent | c273521c9aad56a596202dfaedc54182cf5543eb (diff) | |
download | gdb-5b677558bc6c7b2477bb33c709e6017e68e7ae8c.zip gdb-5b677558bc6c7b2477bb33c709e6017e68e7ae8c.tar.gz gdb-5b677558bc6c7b2477bb33c709e6017e68e7ae8c.tar.bz2 |
Revert PR16467 change
This reverts the pr16467 change, which was incorrect due to faulty
analysis of the pr16467 testcase. The failure was not due to a
mismatch in symbol type (ifunc/non-ifunc) but due to a symbol loop
being set up.
See https://sourceware.org/ml/binutils/2016-06/msg00013.html for some
rambling on versioned symbols and ELF shared library symbol overriding
that explain this patch.
bfd/
PR ld/20159
PR ld/16467
* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
(_bfd_elf_add_default_symbol): Don't indirect to/from defined
symbol given a version by a script different to the version
of the symbol being added.
(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
_bfd_elf_strtab_restore. Don't fudge dynstr references.
* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
(struct strtab_save): New.
(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 358b0db..0b6cd34 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,19 @@ +2016-05-31 Alan Modra <amodra@gmail.com> + + PR ld/20159 + PR ld/16467 + * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. + (_bfd_elf_add_default_symbol): Don't indirect to/from defined + symbol given a version by a script different to the version + of the symbol being added. + (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and + _bfd_elf_strtab_restore. Don't fudge dynstr references. + * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. + (struct strtab_save): New. + (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. + * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. + (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. + 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * elf32-hppa.h: Add extern "C". |