This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: dwarflint
- From: Tom Tromey <tromey at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Fri, 10 Sep 2010 16:28:02 -0600
- Subject: Re: dwarflint
Roland> https://fedorahosted.org/elfutils/wiki/DwarfLint
Roland> Please follow up on elfutils-devel@lists.fedorahosted.org about
Roland> details.
Roland> If you have any more suggestions for checks, please post them to
Roland> elfutils-devel and we'll get them onto the TODO list.
Roland> Especially, if you have come across bad data emitted by GCC that is not
Roland> listed on SuspiciousDebuginfoCases, then let us know--and no less so if
Roland> GCC has already been fixed.
Here, I recommend simply searching for "GCC" in src/gdb/dwarf2read.c.
This will yield a number of PRs (some open, some closed) and other
oddities.
Searching through the "debug" bugs in GCC bugzilla would also yield some
stuff.
Some other things:
check_debug_aranges
We saw cases in the wild where an arange entry was terminated early.
That is, the 0,0 entry occurred before the end of the particular
arange buffer. There is a bug, maybe closed, in Red Hat bugzilla for
this.
Consider checking that every CU has an arange entry.
This is not strictly required, but it is nicer for consumers.
ISTR filing a bug about this in GCC bugzilla.
check_debug_pubnames / pubtypes
FWIW, GCC doesn't emit these any more. So, IMO anyway, they are not
very important to check. They were never all that usable in the first
place.
But, if you want to check these, then check that they are complete and
correct.
In the past we noticed that names were not always fully qualified (I
forget if it was namespace- or class- qualification that GCC didn't do
properly). I'm sure I filed a GCC bug for this.
Tom