This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb/binutils-2_28-branch] ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
- From: Maciej W.Rozycki <macro at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 26 Apr 2017 21:37:09 -0000
- Subject: [binutils-gdb/binutils-2_28-branch] ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2e1b086f4e20861f912d5f3b9b34180881b7273b
commit 2e1b086f4e20861f912d5f3b9b34180881b7273b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Wed Apr 26 22:18:13 2017 +0100
ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
Consistently call `_bfd_elf_link_renumber_dynsyms' only if linking a
dynamic binary, complementing code in `bfd_elf_size_dynsym_hash_dynstr'
and commit ccabcbe51e85 ("New attempt at fixing MIPS --gc-sections et
al."), <https://sourceware.org/ml/binutils/2005-08/msg00258.html>.
bfd/
* elflink.c (elf_gc_sweep): Only call
`_bfd_elf_link_renumber_dynsyms' if dynamic sections have been
created.
(backported from commit c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659)
Diff:
---
bfd/ChangeLog | 6 ++++++
bfd/elflink.c | 3 ++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0087563..5bcd30b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elflink.c (elf_gc_sweep): Only call
+ `_bfd_elf_link_renumber_dynsyms' if dynamic sections have been
+ created.
+
2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/21425
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 46d57e5..1c3e1b0 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -12983,7 +12983,8 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol,
&sweep_info);
- _bfd_elf_link_renumber_dynsyms (abfd, info, §ion_sym_count);
+ if (elf_hash_table (info)->dynamic_sections_created)
+ _bfd_elf_link_renumber_dynsyms (abfd, info, §ion_sym_count);
return TRUE;
}