This is the mail archive of the gdb-patches@sourceware.org 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]
Other format: [Raw text]

Re: Crash regression gdb.cp/no-dmgl-verbose.exp: Re: [RFA 2/3] Ada: allow unqualified function names in linespecs


Hi Jan,

> On Thu, 26 Jan 2012 11:21:48 +0100, Jan Kratochvil wrote:
> > 	http://people.redhat.com/jkratoch/no-dmgl-verbose.o.gz
> > 	./gdb -nx no-dmgl-verbose.o -ex "break 'f(std::string)'"
> > 	[...]
> > 	Reading symbols from no-dmgl-verbose.o...done.
> > 	Segmentation fault
> 
> Yes, not a real regression, filed for it PR 13627::
> 	multiple .debug_types per objfile are not supported
> 	http://sourceware.org/bugzilla/show_bug.cgi?id=13627

I'm trying to understand how the patch you quoted could have been
triggering the problem, even if it was already a latent bug. As far
as I can tell, for non-Ada units, the only difference is that
I replaced a call to strcmp_iw_ordered by a call to strcmp_iw.

What if you put strcmp_iw_ordered back in the following hunk?

    @@ -349,6 +360,13 @@ iterate_over_all_matching_symtabs (const char *name,
     {
       struct objfile *objfile;
       struct program_space *pspace;
    +  struct symbol_matcher_data matcher_data;
    +
    +  matcher_data.lookup_name = name;
    +  matcher_data.symbol_name_match_p =
    +    current_language->la_get_symbol_name_match_p != NULL
    +    ? current_language->la_get_symbol_name_match_p (name)
    +    : strcmp_iw;
 
Would that mask the crash? If it did, I would *not* understand why,
but that's the only change of behavior I can see from the patch.
I couldn't find out much from the backtraces themselves...

-- 
Joel


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