This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: error to run systemtap in an ARM platform
On 07/23/2011 06:55 PM, Zheng Da wrote:
> Hello,
>
> I'm still trying to fix the problem.
> semantic error: failed to retrieve return value location for vfs_write
> (/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/fs/read_write.c):
> identifier '$return' at read-write.stp:7:6
> source: if ($return > 0) {
> ^
> I'm pretty sure CONFIG_DEBUG_INFO is enabled, and in
> /build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/build/tegra2_seaboard,
> a binary file vmlinux is 57MB. It should contain the debug information.
>
> (cr) zhengda@zdpc
> /build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-k
> ernel-9999/build/tegra2_seaboard $ ls -l vmlinux
> -rwxr-xr-x 1 zhengda portage 59419805 Jul 22 20:55 vmlinux
>
> How does systemtap use the debug information? When it compiles the
> script, does it need to read the debug information from the kernel
> image? or it needs to read the .obj files of the kernel?
> Any ideas how to debug the problem?
>
> Thanks,
> Da
To try to replicate the problem on an arm machine running fedora 13 I ran the current build of systemtap from the git reposository and tried the iostats.stp example which should be accessing the $return:
./install/bin/stap -v systemtap/testsuite/systemtap.examples/io/iostats.stp
This worked without problem on the locally built 2.6.31.14.24-efikamx linux kernel. This is a locally built kernel and systemtap is building things natively rather than attempting a cross compile. This is using:
gcc-4.4.5-2.fc13.armv5tel
elfutils-0.146-1.fc13.armv5tel
The following gives some suggestions on reporting bugs:
http://sourceware.org/systemtap/wiki/HowToReportBugs
These are "kernel("function_name").return"? What does list out as available at that probe point?
stap -L 'kernel("function_name").return'
-Will