[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gn
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out |
Date: |
Tue, 19 Sep 2017 07:15:57 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=22150
--- Comment #10 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The binutils-2_29-branch branch has been updated by Alan Modra
<address@hidden>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c01ee74d3ad56a25272dfd5607ce4a807223e7e5
commit c01ee74d3ad56a25272dfd5607ce4a807223e7e5
Author: Alan Modra <address@hidden>
Date: Tue Sep 19 11:59:30 2017 +0930
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.
(cherry picked from commit 3d13f3e9bda5aada68915f5d958f731ae79ed41d)
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/22150] New: [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, doko at debian dot org, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, doko at debian dot org, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, hjl.tools at gmail dot com, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, doko at debian dot org, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, hjl.tools at gmail dot com, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, amodra at gmail dot com, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, doko at debian dot org, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, amodra at gmail dot com, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, amodra at gmail dot com, 2017/09/18
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, cvs-commit at gcc dot gnu.org, 2017/09/19
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out,
cvs-commit at gcc dot gnu.org <=
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, amodra at gmail dot com, 2017/09/19
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, cvs-commit at gcc dot gnu.org, 2017/09/22
- [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out, hjl.tools at gmail dot com, 2017/09/22