From 375f3d864b1293ba56cd79980ac618e26c862246 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Fri, 12 Oct 2001 19:07:07 +0000 Subject: * minsyms.c (msymbol_hash): Use better hash function. (msymbol_hash_iw): Likewise. Terminate loop at '(' properly. * objfiles.h: Increase MINIMAL_SYMBOL_HASH_SIZE to match modern binaries. --- gdb/minsyms.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gdb/minsyms.c') diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 9481747..b20074b 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -96,8 +96,10 @@ msymbol_hash_iw (const char *string) while (isspace (*string)) ++string; if (*string && *string != '(') - hash = (31 * hash) + *string; - ++string; + { + hash = hash * 67 + *string - 113; + ++string; + } } return hash % MINIMAL_SYMBOL_HASH_SIZE; } @@ -109,7 +111,7 @@ msymbol_hash (const char *string) { unsigned int hash = 0; for (; *string; ++string) - hash = (31 * hash) + *string; + hash = hash * 67 + *string - 113; return hash % MINIMAL_SYMBOL_HASH_SIZE; } -- cgit v1.1