This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]