This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: symtab.h: 2000-10-12 SYMBOL_INIT_DEMANGLED_NAME change, why ?


"Peter.Schauer" <Peter.Schauer@regent.e-technik.tu-muenchen.de> writes:

> I do not understand the need for the following change:
> 
> 2000-10-12  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
> 
> 	From Daniel Berlin <dberlin@redhat.com> :
> 
> 	* symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Initialize the symbol
>  	language to auto instead of unknown, so it will try to demangle
>  	the symbol.
> 
> Dan, could you provide an example why this is needed ?

Yup.
Well, I can explain *why* it is needed.
> 
> Minimal symbols are always demangled with language_auto.
> Symbol readers make sure that the proper language is used for
> SYMBOL_INIT_DEMANGLED_NAME, either via cu_language or via
> deduce_language_from_filename.

This is not true anymore.
We run into quite a few cases where the language is unknown when
symbol_init_demangled_name gets called the first time.

The problem then becomes that when, in the future, the language gets
set properly, and symbol_init_demangled_name gets called again, it
won't set the demangled name, ever, because we already tried once.


In other words, whether our demangled name gets initialized properly
or not should not depend on when we initialize it.

Before it did.
I can't see this as a valid optimization.
> 
> So language_unknown should not happen normally, it looks to me like this
> change is trying to cure a symptom rather than a cause.

I spent weeks trying to track down the cause, and it appears to only
happen in certain versions of gcc. 2.95.2 comes to mind.
However, since there will be no 2.95.3, and people still need to be
debugging C++ programs, the change is needed anyway.
> 
> And if we really should need this change, the comment for
> SYMBOL_INIT_DEMANGLED_NAME should be updated, currently it no longer reflects
> reality.
> 


> -- 
> Peter Schauer			pes@regent.e-technik.tu-muenchen.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]