This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
problems with sysroot variable when cross compiling uprobes
- From: Holger Brunck <holger dot brunck at keymile dot com>
- To: systemtap at sourceware dot org
- Date: Thu, 25 Feb 2016 17:50:26 +0100
- Subject: problems with sysroot variable when cross compiling uprobes
- Authentication-results: sourceware.org; auth=none
Hi all,
I am working on a powerpc board with 32 bit architecture and try to compile
userspace probes. This means I have my own cross compiled root filesystem and I
am using stap then with the --sysroot option.
I had a setup up and running with systemtap version 2.5 for a longer time. Now I
tried to upgrade my sytemtap version to 2.9. But already with version 2.6 I see
the following problem: When I try to compile my stap probe it complains with an
error message that the executable can not be found. And what I see that the path
I specified for my sysroot variable is duplicated.
My probe is e.g.:
#!/usr/bin/env stap
probe process("/bin/my_process.out").function("my_function")
{
printf ("Hello World!\n");
}
My stap command is:
stap -a powerpc --sysroot=/opt/root -B CROSS_COMPILE=powerpc-linux- -m hello -r
<kernel_dir> hello.stp
And the error message is:
semantic error: while resolving probe point: identifier 'process' at hello.stp:3:7
source: probe process("/bin/my_process.out").function("my_function")
^
semantic error: cannot find executable '/opt/root//opt/root//bin/my_process.out'
Pass 2: analysis failed. [man error::pass2]
And as you can see the path I specified with my --sysroot parameter is
duplicated and of course this path (/opt/root//opt/root//usr/...) is not present.
As I said it works fine with an own build systemtap 2.5 but does not work with
an own build systemtap 2.9. Also the official installed stap version 2.8 on my
host system shows the same error.
Am I am doing something wrong here or has anybody seen the same problem? Any
help is appreciated.
Regards
Holger Brunck