diff options
author | Alan Modra <amodra@gmail.com> | 2017-09-19 11:59:30 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-09-19 12:18:49 +0930 |
commit | 3d13f3e9bda5aada68915f5d958f731ae79ed41d (patch) | |
tree | 9b9e1b4f3dec04148c1008f06dd9a4aee4119181 /bfd/ChangeLog | |
parent | ab502e635e78a6c6c9c8abf3072bfeedaca9c26f (diff) | |
download | gdb-3d13f3e9bda5aada68915f5d958f731ae79ed41d.zip gdb-3d13f3e9bda5aada68915f5d958f731ae79ed41d.tar.gz gdb-3d13f3e9bda5aada68915f5d958f731ae79ed41d.tar.bz2 |
PR22150, ld keeps a version reference for gc'd symbols
elf_gc_sweep_symbol should run after verdefs are calculated, since
the verdef code creates symbols for the versions. However,
elf_gc_sweep_symbol needs to run before verrefs so as to not emit
useless verrefs for symbols that are gc'd.
I've also removed a _bfd_elf_link_renumber_dynsyms calls added by
Maciej after I fussed about it when reviewing. On further examination
the call appears to be unnecessary. Looking at renumber_dynsyms also
made me realize that the test to exclude .gnu.version has been wrong
since 2016-04-26 (git commit d5486c4372), so fix that too.
PR 22150
* elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
symbols before calculating verrefs. Don't renumber dynsyms
after gc. Exclude .gnu.version when zero or one dynsym.
Localize some vars and reindent.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c607549..eb62bc3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2017-09-19 Alan Modra <amodra@gmail.com> + + PR 22150 + * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect + symbols before calculating verrefs. Don't renumber dynsyms + after gc. Exclude .gnu.version when zero or one dynsym. + Localize some vars and reindent. + 2017-09-18 H.J. Lu <hongjiu.lu@intel.com> PR ld/22148 |