This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] [AArch64] Remove useless and incorrect assertion
- From: Jiong Wang <jiwang at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 4 Jul 2017 08:26:59 -0000
- Subject: [binutils-gdb] [AArch64] Remove useless and incorrect assertion
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=564e46b795ea9ef95ec662f01139a97717de1603
commit 564e46b795ea9ef95ec662f01139a97717de1603
Author: Jiong Wang <jiong.wang@arm.com>
Date: Mon Jul 3 17:15:26 2017 +0100
[AArch64] Remove useless and incorrect assertion
The outer caller elf_link_output_extsym in elflink.c is a traverse function on
all external symbol, and it will only call *finish_dynamic_symbol if some
conditions is meet. It is executed conditionally.
If the condition to trigger that assertion is satisified, it then won't satify
the outer check in finish_dynamic_symbol, so *finish_dynamic_symbol won't be
called that the assertion is expected to be dead code.
If elf_link_output_extsym is a traverse function that unconditionally called
on external symbols decided to be exported, then an assertion to make sure these
symbols are in sane status might make sense.
bfd/
* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
sanity check at the head of this function.
Diff:
---
bfd/ChangeLog | 5 +++++
bfd/elfnn-aarch64.c | 7 -------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b2b028f..810a555 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-04 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
+ sanity check at the head of this function.
+
2017-07-04 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2.c (struct dwarf2_debug): Add fields dwarf_line_str_buffer and
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 1195448..86bae0e 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -8892,13 +8892,6 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
struct elf_aarch64_link_hash_table *htab;
htab = elf_aarch64_hash_table (info);
- /* Sanity check to make sure no unexpected symbol reaches here. */
- if (h->dynindx == -1
- && !h->forced_local
- && h->root.type != bfd_link_hash_undefweak
- && bfd_link_pic (info))
- abort ();
-
if (h->plt.offset != (bfd_vma) - 1)
{
asection *plt, *gotplt, *relplt;