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: RFC: lazy partial symbol table reading


>>>>> "Joel" == Joel Brobecker <brobecker@adacore.com> writes:

Joel> I think I need to discuss the principle of this patch internally with
Joel> the other AdaCore GDB engineers, in particular with Paul Hilfinger.

Sounds good.

Joel> I think that this might impact Ada, because, when we do symbol lookups,
Joel> we need to search all psymtabs.

I see I did not touch any Ada files.  Oops, I'm sure that is going to
cause bugs.  But, it is always safe to just use ALL_PSYMTABS_REQUIRED
-- it just means that the benefit of laziness might be lost in some
scenario.

Perhaps it would have been better to make ALL_PSYMTABS, et al, call
require_partial_symbols, and then introduce new non-requiring variants
to be used where it is known to be ok.


Also on this topic... Jan reminded me today that in order to extend
laziness to symbol lookup, we'd have to get gcc to emit the
debug_pubnames section.  Actually emitting this is trivial (one line
change in gcc), but gcc also has bugs in its emission.  And, if we
want to preserve gdb's current symbol lookup style, we'd probably also
need to introduce a new debug_privnames.  (The issue is that "print x"
will work in gdb today if x is static -- but dwarf doesn't specify any
index for finding this.)

Tom


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