Bugs in debuginfo packages

Jan Kratochvil jan.kratochvil at redhat.com
Sun Feb 27 08:26:35 UTC 2011

On Thu, 24 Feb 2011 09:28:10 +0100, Karel Klic wrote:
> Is there something else that should be checked?

Sometimes references to the source file dirname/filename are broken.

One fix for all packages:
	debugedit: Include empty CU current directories
An example fix specifically for the "gdb" package:

In some cases it may be found in the build.log
	cpio: gdb-7.2/build-x86_64-redhat-linux-gnu/gdb/c-exp.c.tmp: Cannot stat: No such file or directory
	cpio: gdb-7.2/build-x86_64-redhat-linux-gnu/gdb/c-exp.y: Cannot stat: No such file or directory
although for /usr/lib/debug/usr/bin/grmid.debug the broken reference to
/tmp/ccZpRdM9.i it is not found in:
so the final debuginfo rpm check as you do would be safer anyway.

While ABRT does not print the line contents from /usr/src/debug still GDB
prints reference to the source filename (+line) which are broken in such case.

Filename references are in both the .debug_info and .debug_line sections:

eu-readelf -winfo /usr/lib/debug/usr/bin/gdb.debug
for each compile_unit (DW_TAG_partial_unit is not used in Fedora)
  name     (strp) "../../gdb/gdb.c"
  comp_dir (strp) "/usr/src/debug/gdb-"
  ^^^^^^^^ may not be present for absolute DW_AT_name

eu-readelf -wline /usr/lib/debug/usr/bin/gdb.debug
for each Table at offset xx:
Directory table:
 ^^^^^^^^^ may be relative to DW_AT_comp_dir of the specific DW_TAG_compile_unit 
File name table:
 Entry Dir   Time      Size      Name
 1     1     0         0         gdb.c
                                 ^^^^^ may be absolute
 2     2     0         0         string3.h


More information about the devel mailing list