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 ?


> > 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.

True.
But why should it get called again ? Demangling is very exepnsive, so we
should better take care that we get it right the first time and don't need
to call it multiple times to finally end up with the proper demangling.

> > 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.

We didn't need this change for a couple of years, and I think it is a little
gross to put it in just to work around a problem in `certain versions of
gcc. 2.95.2'.

-- 
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]