error to run systemtap in an ARM platform

Da Zheng zhengda1936@gmail.com
Mon Jul 25 19:36:00 GMT 2011


On 07/25/11 08:46, William Cohen wrote:
> 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
I use elfutils-0.131. Maybe the version of elfutils is too low. Let me 
see if I can build a newer version for my platform.
> 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'
$ stap -a arm -r 
/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/build/tegra2_seaboard 
-L 'kernel.function("sys_read").return'
kernel.function("sys_read@/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/fs/read_write.c:402").return 
$return:long int $fd:unsigned int $buf:char* $count:size_t $file:struct 
file* $ret:ssize_t

Thanks,
Da



More information about the Systemtap mailing list