diff options
author | Doug Evans <dje@google.com> | 2014-12-02 16:54:16 -0800 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-12-02 16:55:52 -0800 |
commit | 7c5fdd25ebe3262695084d93027f313e1015518a (patch) | |
tree | 450523fdb0bbe741db262a8c337792683b677247 /gdb/symtab.h | |
parent | 31c0ebfe8bfd9af65aee24cbff17fffe039c0b28 (diff) | |
download | gdb-7c5fdd25ebe3262695084d93027f313e1015518a.zip gdb-7c5fdd25ebe3262695084d93027f313e1015518a.tar.gz gdb-7c5fdd25ebe3262695084d93027f313e1015518a.tar.bz2 |
Remove cplus_specific from general_symbol_info.
This patch reverts the addition of cplus_specific added here:
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h (symbol_set_demangled_name): Now takes an optional objfile*
argument.
(cplus_specific): New struct.
* symtab.c (symbol_set_demangled_name): Updated.
Use cplus_specific for cplus symbols.
(symbol_get_demangled_name): Retrive the name from the cplus_specific
struct for cplus symbols.
(symbol_init_language_specific): Set cplus_specific for cplus symbols.
(symbol_set_names): Pass objfile to symbol_set_demangled_name.
* symtab.c (symbol_init_cplus_specific): New function.
It was added in anticipation of improved template support:
https://sourceware.org/ml/gdb-patches/2010-05/msg00594.html
https://sourceware.org/ml/gdb-patches/2010-07/msg00284.html
However, minsyms pay the price for this space too.
For my standard benchmark this patch gets back 44MB of memory
when gdb starts. [There's still ~440MB of memory used
by the demangled ELF symbols of this benchmark, but that's another topic.]
When the improved templated support is added,
I wonder if this can be moved to struct symbol.
Hmmm, we already have a special version of
struct symbol for templates (struct template_symbol).
gdb/ChangeLog:
* symtab.c (symbol_init_cplus_specific): Delete.
(symbol_set_demangled_name): Remove special c++ support.
(symbol_get_demangled_name, symbol_set_language): Ditto.
* symtab.h (struct cplus_specific): Delete.
(struct general_symbol_info) <language_specific>: Remove
cplus_specific.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r-- | gdb/symtab.h | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h index 473c85c..57d234d 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -80,13 +80,6 @@ struct common_block; --chastain 2003-08-21 */ -/* Struct for storing C++ specific information. Allocated when needed. */ - -struct cplus_specific -{ - const char *demangled_name; -}; - /* Define a structure for the information that is common to all symbol types, including minimal symbols, partial symbols, and full symbols. In a multilanguage environment, some language specific information may need to @@ -141,14 +134,12 @@ struct general_symbol_info struct obstack *obstack; /* This is used by languages which wish to store a demangled name. - currently used by Ada, Java, and Objective C. */ + currently used by Ada, C++, Java, and Objective C. */ struct mangled_lang { const char *demangled_name; } mangled_lang; - - struct cplus_specific *cplus_specific; } language_specific; |