diff options
author | Michael Snyder <msnyder@vmware.com> | 2010-05-16 00:18:02 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2010-05-16 00:18:02 +0000 |
commit | b8d56208c522b6a27efe7790770ef65a3031da7b (patch) | |
tree | bb5517e441b30a41ff80bf566f33988cd98630d1 /gdb/minsyms.c | |
parent | 54534c15fe4c4642034894c7d99c5d945c9c3792 (diff) | |
download | binutils-b8d56208c522b6a27efe7790770ef65a3031da7b.zip binutils-b8d56208c522b6a27efe7790770ef65a3031da7b.tar.gz binutils-b8d56208c522b6a27efe7790770ef65a3031da7b.tar.bz2 |
2010-05-15 Michael Snyder <msnyder@vmware.com>
* m2-lang.c: White space.
* m2-valprint.c: White space.
* macrocmd.c: White space.
* macroexp.c: White space.
* macroscope.c: White space.
* macrotab.c: White space.
* main.c: White space.
* maint.c: White space.
* mdebugread.c: White space.
* memattr.c: White space.
* minsyms.c: White space.
* monitor.c: White space.
Diffstat (limited to 'gdb/minsyms.c')
-rw-r--r-- | gdb/minsyms.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 287f9de..cb4545c 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -82,6 +82,7 @@ unsigned int msymbol_hash_iw (const char *string) { unsigned int hash = 0; + while (*string && *string != '(') { while (isspace (*string)) @@ -101,6 +102,7 @@ unsigned int msymbol_hash (const char *string) { unsigned int hash = 0; + for (; *string; ++string) hash = hash * 67 + *string - 113; return hash; @@ -115,6 +117,7 @@ add_minsym_to_hash_table (struct minimal_symbol *sym, { unsigned int hash = msymbol_hash (SYMBOL_LINKAGE_NAME (sym)) % MINIMAL_SYMBOL_HASH_SIZE; + sym->hash_next = table[hash]; table[hash] = sym; } @@ -130,6 +133,7 @@ add_minsym_to_demangled_hash_table (struct minimal_symbol *sym, { unsigned int hash = msymbol_hash_iw (SYMBOL_SEARCH_NAME (sym)) % MINIMAL_SYMBOL_HASH_SIZE; + sym->demangled_hash_next = table[hash]; table[hash] = sym; } @@ -195,6 +199,7 @@ lookup_minimal_symbol (const char *name, const char *sfile, if (sfile != NULL) { char *p = strrchr (sfile, '/'); + if (p != NULL) sfile = p + 1; } @@ -204,6 +209,7 @@ lookup_minimal_symbol (const char *name, const char *sfile, if (current_language->la_language == language_cplus) { char *cname = cp_canonicalize_string (name); + if (cname) { modified_name = cname; @@ -1161,6 +1167,7 @@ install_minimal_symbols (struct objfile *objfile) mixing ABIs then the user will need to "set cp-abi" manually. */ const char *name = SYMBOL_LINKAGE_NAME (&objfile->msymbols[i]); + if (name[0] == '_' && name[1] == 'Z' && SYMBOL_DEMANGLED_NAME (&objfile->msymbols[i]) != NULL) { @@ -1239,6 +1246,7 @@ find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc) SYMBOL_LINKAGE_NAME (tsymbol)) == 0) { CORE_ADDR func; + func = gdbarch_convert_from_func_ptr_addr (get_objfile_arch (objfile), SYMBOL_VALUE_ADDRESS (msymbol), |