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...

Attachment: signature.asc
Description: Digital signature

Reply via email to