debuginfo audit: missing DWARF

Roland McGrath roland at redhat.com
Mon Jan 5 23:38:53 UTC 2009


http://roland.fedorapeople.org/tmp/rawhide-debuginfo-missing-dwarf.bz2

This is a big list (small file) of all the ELF files in rawhide debuginfo
rpms that have no DWARF information.  Each line looks like e.g.:

zenon-debuginfo-0.5.0-3.fc10.i386:usr:lib:debug:usr:bin:zenon.debug

meaning that in zenon-debuginfo-0.5.0-3.fc10.i386 the file
/usr/lib/debug/usr/bin/zenon.debug exists and is an ELF file,
but has no DWARF in it.

I have not looked at any of the cases.  An industrious volunteer could
collate all these along with the "missing" cases from the summary, filter
out superceded rpms, and categorize the cases.

DWARFless ELF files in debuginfo packages are most likely .debug files that
contain a symbol table but no DWARF.  This might be because the binary was
built without -g, which may indicate the package didn't use $RPM_OPT_FLAGS
correctly.  It's also possibly had 'strip -g' run on it, which would be
unusual and presumably happening somewhere inside the upstream makefiles
when the package maintainer didn't realize it was happening.

It might also be a legitimate case of some other kind of executable
generation for some language that never produces DWARF.

Other cases might be something odd that should be looked into it.

There is probably a lot of overlap with the "src missing" cases,
e.g. from whole packages built without -g.  There are many individual
cases flagged, but I suspect that almost all boil down to the same two or
three common issues.  We can categorize all the cases and then for each
issue either fix the packages, or document the categories that raise red
flags in this kind of audit but aren't build problems that can be fixed.


Thanks,
Roland




More information about the devel mailing list