[binutils-gdb/binutils-2_28-branch] MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table'

Maciej W.Rozycki macro@sourceware.org
Mon Feb 13 14:32:00 GMT 2017


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6f9b43834dc8574066d6dd4fb4722dd7bb1cdd59

commit 6f9b43834dc8574066d6dd4fb4722dd7bb1cdd59
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 20:53:16 2017 +0000

    MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table'
    
    Move the assertion on non-NULL `htab' in `mips_elf_sort_hash_table' to
    the beginning, before the pointer is dereferenced (`mips_elf_hash_table
    (info)' and `elf_hash_table (info)' both point to the same memory
    location, differently typed).
    
    	bfd/
    	* elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
    	non-NULL `htab' to the beginning.
    
    (cherry picked from commit 17a80fa80adbe79df39ba1fc70e611dff92df197)

Diff:
---
 bfd/ChangeLog    | 5 +++++
 bfd/elfxx-mips.c | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 244d190..8a594e4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-02-13  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
+	non-NULL `htab' to the beginning.
+
 2017-02-03  Alan Modra  <amodra@gmail.com>
 
 	* elf32-hppa.c (ensure_undef_weak_dynamic): New function.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index bda02b1..d1c0f80 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -3832,12 +3832,12 @@ mips_elf_sort_hash_table (bfd *abfd, struct bfd_link_info *info)
   struct mips_elf_hash_sort_data hsd;
   struct mips_got_info *g;
 
-  if (elf_hash_table (info)->dynsymcount == 0)
-    return TRUE;
-
   htab = mips_elf_hash_table (info);
   BFD_ASSERT (htab != NULL);
 
+  if (elf_hash_table (info)->dynsymcount == 0)
+    return TRUE;
+
   g = htab->got_info;
   if (g == NULL)
     return TRUE;



More information about the Binutils-cvs mailing list