summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Biesinger <cbiesinger@google.com>2019-09-29 20:15:38 -0500
committerChristian Biesinger <cbiesinger@google.com>2019-09-30 11:21:46 -0500
commitc7ee338a2dc3570c830e6897940f3955c5f632b2 (patch)
treecc6e9ec3b3d2c9c04ee9f7cccdb1ba464864fa92
parent703a86c2fa74e6c998ed24a8823658119f176b2d (diff)
downloadbinutils-gdb-c7ee338a2dc3570c830e6897940f3955c5f632b2.tar.gz
Improve some comments about msymbol handling
This just clarifies some comments about the hashtables involved in msymbols. gdb/ChangeLog: 2019-09-29 Christian Biesinger <cbiesinger@google.com> * minsyms.h (msymbol_hash): Document that this is a case-insensitive hash and why. * objfiles.h (struct objfile_per_bfd_storage) <demangled_names_hash, msymbol_hash, msymbol_demangled_hash>: Improve comments.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/minsyms.h3
-rw-r--r--gdb/objfiles.h14
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 <cbiesinger@google.com>
+
+ * minsyms.h (msymbol_hash): Document that this is a case-insensitive
+ hash and why.
+ * objfiles.h (struct objfile_per_bfd_storage) <demangled_names_hash,
+ msymbol_hash, msymbol_demangled_hash>: Improve comments.
+
2019-09-30 Simon Marchi <simon.marchi@polymtl.ca>
* 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] {};