MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table'
authorMaciej W. Rozycki <macro@imgtec.com>
Thu, 2 Feb 2017 20:53:16 +0000 (20:53 +0000)
committerMaciej W. Rozycki <macro@imgtec.com>
Thu, 2 Feb 2017 22:33:40 +0000 (22:33 +0000)
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.

bfd/ChangeLog
bfd/elfxx-mips.c

index 62a3fea..fca45ac 100644 (file)
@@ -1,5 +1,10 @@
 2017-02-02  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-02  Maciej W. Rozycki  <macro@imgtec.com>
+
        * elflink.c (elf_gc_sweep): Wrap overlong line.
 
 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
index bda02b1..d1c0f80 100644 (file)
@@ -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;