Previously symname_hash_search can only search symbols from kernel's symname_hash. This patch add hash table pointer as parameter for symname_hash_search. Thus symname_hash_search can be used both for symname_hash and mod_symname_hash searching. Signed-off-by: Tao Liu <ltao@xxxxxxxxxx> --- symbols.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/symbols.c b/symbols.c index 92c066a..9373291 100644 --- a/symbols.c +++ b/symbols.c @@ -65,7 +65,7 @@ static void symval_hash_init(void); static struct syment *symval_hash_search(ulong); static void symname_hash_init(void); static void symname_hash_install(struct syment *); -static struct syment *symname_hash_search(char *); +static struct syment *symname_hash_search(struct syment *[], char *); static void gnu_qsort(bfd *, void *, long, unsigned int, asymbol *, asymbol *); static int check_gnu_debuglink(bfd *); static int separate_debug_file_exists(const char *, unsigned long, int *); @@ -1242,11 +1242,11 @@ mod_symtable_hash_remove_range(struct syment *from, struct syment *to) * Static kernel symbol value search */ static struct syment * -symname_hash_search(char *name) +symname_hash_search(struct syment *table[], char *name) { struct syment *sp; - sp = st->symname_hash[SYMNAME_HASH_INDEX(name)]; + sp = table[SYMNAME_HASH_INDEX(name)]; while (sp) { if (STREQ(sp->name, name)) @@ -4579,7 +4579,7 @@ symbol_search(char *s) { struct syment *sp_hashed, *sp; - sp_hashed = symname_hash_search(s); + sp_hashed = symname_hash_search(st->symname_hash, s); for (sp = sp_hashed ? sp_hashed : st->symtable; sp < st->symend; sp++) { if (STREQ(s, sp->name)) @@ -5493,7 +5493,7 @@ symbol_exists(char *symbol) struct syment *sp, *sp_end; struct load_module *lm; - if ((sp = symname_hash_search(symbol))) + if ((sp = symname_hash_search(st->symname_hash, symbol))) return TRUE; for (i = 0; i < st->mods_installed; i++) { @@ -5572,7 +5572,7 @@ kernel_symbol_exists(char *symbol) { struct syment *sp; - if ((sp = symname_hash_search(symbol))) + if ((sp = symname_hash_search(st->symname_hash, symbol))) return TRUE; else return FALSE; @@ -5584,7 +5584,7 @@ kernel_symbol_exists(char *symbol) struct syment * kernel_symbol_search(char *symbol) { - return symname_hash_search(symbol); + return symname_hash_search(st->symname_hash, symbol); } /* -- 2.29.2 -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/crash-utility