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/binutils-2_28-branch] MIPS/BFD: Streamline hash table references in `mips_elf_sort_hash_table'


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

commit aa00db4a314825119048f84302f2bdc67e56a7dc
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 21:30:27 2017 +0000

    MIPS/BFD: Streamline hash table references in `mips_elf_sort_hash_table'
    
    Make all hash table references throughout `mips_elf_sort_hash_table' use
    `htab', simplifying code and improving readability.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
    	to access the hash table.
    
    (cherry picked from commit 0f8c4b60ef3953a2373992e468106ae833049fff)

Diff:
---
 bfd/ChangeLog    |  5 +++++
 bfd/elfxx-mips.c | 14 +++++---------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8a594e4..39b1295 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
 2017-02-13  Maciej W. Rozycki  <macro@imgtec.com>
 
+	* elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
+	to access the hash table.
+
+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.
 
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index d1c0f80..eec10b4 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -3835,7 +3835,7 @@ mips_elf_sort_hash_table (bfd *abfd, struct bfd_link_info *info)
   htab = mips_elf_hash_table (info);
   BFD_ASSERT (htab != NULL);
 
-  if (elf_hash_table (info)->dynsymcount == 0)
+  if (htab->root.dynsymcount == 0)
     return TRUE;
 
   g = htab->got_info;
@@ -3845,20 +3845,16 @@ mips_elf_sort_hash_table (bfd *abfd, struct bfd_link_info *info)
   hsd.low = NULL;
   hsd.max_unref_got_dynindx
     = hsd.min_got_dynindx
-    = (elf_hash_table (info)->dynsymcount - g->reloc_only_gotno);
+    = (htab->root.dynsymcount - g->reloc_only_gotno);
   hsd.max_non_got_dynindx = count_section_dynsyms (abfd, info) + 1;
-  mips_elf_link_hash_traverse (((struct mips_elf_link_hash_table *)
-				elf_hash_table (info)),
-			       mips_elf_sort_hash_table_f,
-			       &hsd);
+  mips_elf_link_hash_traverse (htab, mips_elf_sort_hash_table_f, &hsd);
 
   /* There should have been enough room in the symbol table to
      accommodate both the GOT and non-GOT symbols.  */
   BFD_ASSERT (hsd.max_non_got_dynindx <= hsd.min_got_dynindx);
   BFD_ASSERT ((unsigned long) hsd.max_unref_got_dynindx
-	      == elf_hash_table (info)->dynsymcount);
-  BFD_ASSERT (elf_hash_table (info)->dynsymcount - hsd.min_got_dynindx
-	      == g->global_gotno);
+	      == htab->root.dynsymcount);
+  BFD_ASSERT (htab->root.dynsymcount - hsd.min_got_dynindx == g->global_gotno);
 
   /* Now we know which dynamic symbol has the lowest dynamic symbol
      table index in the GOT.  */


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