This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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: dwarflint


>>>>> "Roland" == Roland McGrath <roland@redhat.com> writes:

Roland> The only rationale I've heard for empty ranges is Tom's idea
Roland> that every CU should be the rhs of some .debug_aranges entry
Roland> just so you can be sure that .debug_aranges is really complete
Roland> (vs. a buggy old GCC, or some different letter-of-DWARF producer
Roland> where some CUs with actual PCs had no .debug_aranges data
Roland> emitted, is what I assume Tom must have in mind).

I see it as following the wording of the standard.  .debug_aranges is
optional.  Therefore it may or may not exist for a given CU.

I think this, like several other things in DWARF, is pointless and bad
-- but it is what we've got.

I don't know if there is any plausible scenario where this could really
happen.  Maybe hand-written assembly?

It would be very interesting to see a .debug_aranges report from
dwarflint run on everything in F13 or F14.

Roland> In short, Petr has helped me become even more dubious about Tom's idea
Roland> that .debug_aranges getting anything at all for CUs without PCs is any
Roland> kind of useful.

I ran across this while trying to code defensively against the standard.
Perhaps this is me being too pedantic.  OTOH, the lax route has not
worked out very well for gdb historically -- DWARF changes causing
crashes, etc.

Right now, GDB isn't using aranges at all.  I guess it could; we could
drop the range info from the index.

If we do that, I will make it follow whatever you decide here.  I don't
actually care all that much.  Actually, I tend to think we should fork
DWARF a little to fix its most egregious problems.

Tom

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