From c7ee338a2dc3570c830e6897940f3955c5f632b2 Mon Sep 17 00:00:00 2001 From: Christian Biesinger Date: Sun, 29 Sep 2019 20:15:38 -0500 Subject: [PATCH] Improve some comments about msymbol handling This just clarifies some comments about the hashtables involved in msymbols. gdb/ChangeLog: 2019-09-29 Christian Biesinger * minsyms.h (msymbol_hash): Document that this is a case-insensitive hash and why. * objfiles.h (struct objfile_per_bfd_storage) : Improve comments. --- gdb/ChangeLog | 7 +++++++ gdb/minsyms.h | 3 ++- gdb/objfiles.h | 14 ++++++++------ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 89859ef1dfe..faac59d2552 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-09-29 Christian Biesinger + + * minsyms.h (msymbol_hash): Document that this is a case-insensitive + hash and why. + * objfiles.h (struct objfile_per_bfd_storage) : Improve comments. + 2019-09-30 Simon Marchi * psymtab.c (add_psymbol_to_list): Move comment to psympriv.h. diff --git a/gdb/minsyms.h b/gdb/minsyms.h index bb43165620d..ce4b83d5448 100644 --- a/gdb/minsyms.h +++ b/gdb/minsyms.h @@ -159,7 +159,8 @@ bool msymbol_is_function (struct objfile *objfile, minimal_symbol *minsym, CORE_ADDR *func_address_p = NULL); -/* Compute a hash code for the string argument. */ +/* Compute a hash code for the string argument. Unlike htab_hash_string, + this is a case-insensitive hash to support "set case-sensitive off". */ unsigned int msymbol_hash (const char *); diff --git a/gdb/objfiles.h b/gdb/objfiles.h index 68d36d408e1..dbd06c01e26 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -258,10 +258,10 @@ struct objfile_per_bfd_storage struct gdbarch *gdbarch = NULL; /* Hash table for mapping symbol names to demangled names. Each - entry in the hash table is actually two consecutive strings, - both null-terminated; the first one is a mangled or linkage - name, and the second is the demangled name or just a zero byte - if the name doesn't demangle. */ + entry in the hash table is a demangled_name_entry struct, storing the + language and two consecutive strings, both null-terminated; the first one + is a mangled or linkage name, and the second is the demangled name or just + a zero byte if the name doesn't demangle. */ htab_up demangled_names_hash; @@ -305,12 +305,14 @@ struct objfile_per_bfd_storage bool minsyms_read : 1; - /* This is a hash table used to index the minimal symbols by name. */ + /* This is a hash table used to index the minimal symbols by (mangled) + name. */ minimal_symbol *msymbol_hash[MINIMAL_SYMBOL_HASH_SIZE] {}; /* This hash table is used to index the minimal symbols by their - demangled names. */ + demangled names. Uses a language-specific hash function via + search_name_hash. */ minimal_symbol *msymbol_demangled_hash[MINIMAL_SYMBOL_HASH_SIZE] {}; -- 2.30.2