From 17a80fa80adbe79df39ba1fc70e611dff92df197 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 2 Feb 2017 20:53:16 +0000 Subject: [PATCH] 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. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 62a3fea82fe..fca45acfb34 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-02-02 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on + non-NULL `htab' to the beginning. + 2017-02-02 Maciej W. Rozycki * elflink.c (elf_gc_sweep): Wrap overlong line. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index bda02b128ec..d1c0f804168 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; -- 2.39.5