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]
Other format: [Raw text]

Re: [RFC] lookup problem in blockframe.c:inside_main_func()


> Oh... I see that Ada already has an interface for selecting a list of
> symbols.  Another bit that doesn't belong anywhere near the
> language-specific code, if you'll permit some historical ranting.

I agree. My holy grail would be to push all the code doing symbol
lookups for Ada, or rather the 90% part of it that's almost a copy/paste
of the C code. But this is not something that I have been looking at,
because Paul Hilfinger was more familiar with this part and its
historical legacy.

> > >   Or you could
> > > just use the minsym version, and then call find_pc_function.
> > 
> > That's a good idea, I think. Lookup the minsym.... Hmmm, let me explore
> > this path. Thanks!
> 
> Follow along with the code immediately above in the same function. 

I don't understand you suggestion, there isn't much code above the
part I'd like to change. Maybe below?

In any case, attached is the patch that I came up with. I tested it
on x86-linux RH9.0 using the stock gcc/g++ there. No regression found.
Would it be acceptable for inclusion? I can also add a dated comments
explaining why we are doing it that way instead of using lookup_symbol.

> Beware, right now that minsym code may find the one which demangles to
> main; but that should change.

Hmmm, did I do it the right way, or did I open a bad door? In the latter
case, is there a way for me to make sure I find the right one? It seems
pretty easy to verify that I did find the right own by comparing
main_name() against the SYMBOL_LINKAGE_NAME, but that still would not
help us find the right symbol :-).

2003-10-06  J. Brobecker  <brobecker@gnat.com>

	* blockframe.c (inside_main_func): No longer use symbol_lookup()
        to lookup the main function symbol.

Thanks,
-- 
Joel

Attachment: blockframe.c.diff
Description: Text document


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