This is the mail archive of the binutils@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]

PATCH: dynamically resize section merging hash tables.


This patch resizes the section merging hash tables at run-time.
Previously, we use a fix size for all section merging hash table. That
slows down the linker quite a big when the dealing with larger
executables with lots of debug strings. I have seen ld spending 80% of
the time traversing the hash tables.

-Doug

==================================================================
2007-09-17  Doug Kwan  <dougkwan@google.com>

  * bfd-in.h: (bfd_ressize_hash_table, bfd_higher_prime_number): New function
  declarations.
  * bfd-in2.h: Regenerate.
  * hash.c: (bfd_higher_primer_number): Renamed from higher_prime_number and
  make it callable by external callers.
  (bfd_resize_hash_table): Refactor hash table resizing code from
  bfd_hash_lookup into a seperate function.
  * merge.c (sec_merge_hash_lookup): Make section merging hash table grow
  dynamically.

Attachment: diffs-merge-hash.txt
Description: Text document


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