This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Remove general_symbol_info.language_specific.cplus_specific
- From: Doug Evans <dje at google dot com>
- To: gdb-patches at sourceware dot org, swagiaal at redhat dot com, sergiodj at redhat dot com
- Date: Tue, 2 Dec 2014 18:38:30 -0800
- Subject: Re: [PATCH] Remove general_symbol_info.language_specific.cplus_specific
- Authentication-results: sourceware.org; auth=none
- References: <yjt2sih6wrdh dot fsf at ruffy dot mtv dot corp dot google dot com>
Doug Evans writes:
> Hi.
>
> 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).
>
> Regression tested on amd64-linux.
>
> 2014-11-25 Doug Evans <dje@google.com>
>
> * 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.
Committed.