Comment 11 for bug 1537125

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-02-15 11:06 EDT-------
Hi fche,

I think setting variable won't work in this case. Still I tried with that on ubuntu poweprc. Here is what I got:

===========

# export SYSTEMTAP_DEBUGINFO_PATH=/usr/lib/debug/boot

# echo $SYSTEMTAP_DEBUGINFO_PATH
/usr/lib/debug/boot

# strace -o out -e open ./stap -v probe.stp
Pass 1: parsed user script and 95 library script(s) using 41792virt/32064res/5952shr/25408data kb, in 180usr/10sys/188real ms.
WARNING: cannot find module kernel debuginfo: No DWARF information found [man warning::debuginfo]
semantic error: while resolving probe point: identifier 'kernel' at probe.stp:1:7
source: probe kernel.function("do_fork")
^

semantic error: no match
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 66304virt/35072res/7488shr/26368data kb, in 0usr/0sys/6real ms.
Pass 2: analysis failed. [man error::pass2]
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.

# cat out | grep vmlinu
open("/boot/vmlinux-3.13.0-76-generic", O_RDONLY) = 3
open("/lib/modules/3.13.0-76-generic/build/vmlinux.id", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/boot/boot/vmlinux-3.13.0-76-generic.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/boot/vmlinux-3.13.0-76-generic.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/boot/boot/vmlinux-3.13.0-76-generic.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/boot/vmlinux-3.13.0-76-generic.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
#

===========

If stap (which internally uses elfutils) finds /boot/vmlinux file, and debuginfo
is not present in it, it uses it as "main elf" and looks for debuginfo file with ".debug"
extension(i.e. vmlinux-RELEASE.debug). Ubuntu installs debuginfo without any
extension (i.e. vmlinux-RELEASE).

If it does not able to find vmlinux from /boot/ it goes on continue looking for fie on
other paths without ".debug" extension. And it finds proper file. RHEL/Fedora on
powerpc uses /boot/vmlinuz name without actually compressing it. Hence stap
works in these distros.

In short, setting SYSTEMTAP_DEBUGINFO_PATH won't change existing functionality.
It will only change list of paths where to look for debuginfo file.