From 6f9b43834dc8574066d6dd4fb4722dd7bb1cdd59 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 2 Feb 2017 20:53:16 +0000 Subject: 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) --- 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 + + * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on + non-NULL `htab' to the beginning. + 2017-02-03 Alan Modra * 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; -- cgit v1.1