Hello, 11 листопада 2009 о 22:23 +0100 Kurt Roeckx написав(-ла): > Are you sure this is libdw's problem? The name of the file should > be stored in the ".gnu_debuglink" section of the elf file. Maybe you are right...
> This name can be set using objcopy's --add-gnu-debuglink, and that > is what things like dh_strip do. I tried to do this: objcopy \ --add-gnu-debuglink=/usr/lib/debug/lib/modules/2.6.32-rc6/kernel/sound/core/snd.ko \ /lib/modules/2.6.32-rc6/kernel/sound/core/snd.ko But it looks like it only adds snd.ko to the .gnu_debuglink section: # objdump -s -j .gnu_debuglink /lib/modules/2.6.32-rc6/kernel/sound/core/snd.ko ... Contents of section .gnu_debuglink: 0000 736e642e 6b6f0000 944978ab snd.ko...Ix. And then systemtap looks only at file under /lib/modules: open("/lib/modules/2.6.32-rc6/kernel/sound/core/snd.ko", O_RDONLY) = 3 open("/usr/lib/../lib/elfutils/libebl_x86_64.so", O_RDONLY) = 3 open("/usr/lib/debug/.build-id/8d/19f404d7db2242e69c87419b8fd32f67fca584.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/modules/2.6.32-rc6/kernel/sound/core/snd.ko", O_RDONLY) = 3 WARNING: cannot find module snd debuginfo: No DWARF information found > > As I understand the code, find-debuginfo.c:find_debuginfo_in_path() > uses a default with ".debug" if no debuglink is set. It looks like it does not try to look under /usr/lib/debug...
signature.asc
Description: Digital signature