Make the default gas symbol hash table larger

Alan Modra amodra@gmail.com
Fri Jul 14 03:36:51 GMT 2023


We may as well start with the symbol table a little larger, saving
time resizing.  Even a simple C hello world compiled with -O2 -g will
exceed 16 symbols (by well over 3 times with gcc-11).

	* symbols.c (symbol_begin): Create sy_hash with more entries.

diff --git a/gas/symbols.c b/gas/symbols.c
index a335c316903..ea05801e356 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -3103,7 +3103,7 @@ symbol_begin (void)
 {
   symbol_lastP = NULL;
   symbol_rootP = NULL;		/* In case we have 0 symbols (!!)  */
-  sy_hash = htab_create_alloc (16, hash_symbol_entry, eq_symbol_entry,
+  sy_hash = htab_create_alloc (1024, hash_symbol_entry, eq_symbol_entry,
 			       NULL, xcalloc, free);
 
 #if defined (EMIT_SECTION_SYMBOLS) || !defined (RELOC_REQUIRES_SYMBOL)

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list