aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-10-07 19:40:38 +0000
committerTom Tromey <tromey@redhat.com>2013-10-07 19:40:38 +0000
commit84a1243b15122dfe6414a4f9bdd82096b37bc625 (patch)
tree7cb90ad3699f0d9c30721cd660880c9f65936be6 /gdb/objfiles.h
parent1da77581c0559e62b80b27f06f81dad4c7a7a0be (diff)
downloadgdb-84a1243b15122dfe6414a4f9bdd82096b37bc625.zip
gdb-84a1243b15122dfe6414a4f9bdd82096b37bc625.tar.gz
gdb-84a1243b15122dfe6414a4f9bdd82096b37bc625.tar.bz2
move the demangled_names_hash into the per-BFD
This moves the demangled_names_hash from the objfile into the per-BFD object. This is part of the objfile splitting project. The demangled names hash is independent of the program space. And, it is needed by the symbol tables. Both of these things indicate that it must be pushed into the per-BFD object, which this patch does. Built and regtested on x86-64 Fedora 18. * objfiles.c (free_objfile_per_bfd_storage): Delete the demangled_names_hash. (free_objfile): Don't delete the demangled_names_hash. * objfiles.h (struct objfile_per_bfd_storage) <demangled_names_hash>: New field. (struct objfile) <demangled_names_hash>: Move to objfile_per_bfd_storage. * symfile.c (reread_symbols): Don't delete the demangled_names_hash. * symtab.c (create_demangled_names_hash): Update. (symbol_set_names): Update.
Diffstat (limited to 'gdb/objfiles.h')
-rw-r--r--gdb/objfiles.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 72cef50..8586e5a 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -185,6 +185,13 @@ struct objfile_per_bfd_storage
differ from this e.g. with respect to register types and names. */
struct gdbarch *gdbarch;
+
+ /* 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. */
+ struct htab *demangled_names_hash;
};
/* Master structure for keeping track of each file from which
@@ -270,13 +277,6 @@ struct objfile
struct psymbol_bcache *psymbol_cache; /* Byte cache for partial syms. */
- /* 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. */
- struct htab *demangled_names_hash;
-
/* Vectors of all partial symbols read in from file. The actual data
is stored in the objfile_obstack. */