error to run systemtap in an ARM platform

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


On 07/25/11 03:03, Mark Wielaard wrote:
> On Sat, 2011-07-23 at 15:55 -0700, 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) {
>>                  	    ^
> Is this the only probe for which return values aren't available or are
> there others? What is your full script for triggering this issue?
I think it doesn't work at other probes either, but the translation 
phase just stops here. The full script is as follow:

$ cat read-write.stp
#! /usr/bin/env stap

global write_by_pid;
global read_by_pid;

probe kernel.function("vfs_write").return {
     if ($return > 0) {
         write_by_pid[execname()] = $return
     }
}

probe kernel.function("vfs_read").return {
     if ($return > 0) {
         read_by_pid[execname()] = $return
     }
}

probe timer.s(10) {
     foreach ([cmd] in write_by_pid-)
         printf("%s writes %d bytes\n", cmd, write_by_pid[cmd])
     foreach ([cmd] in read_by_pid-)
         printf("%s reads %d bytes\n", cmd, read_by_pid[cmd])
     exit()
}
>> 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.
> Would you be able to upload this somewhere so we can inspect the debug
> information? This looks like it is just the kernel image, not the
> debuginfo, which is often bigger. You can see with stap -vvv what
> systemtap is using. e.g.:
>
> focused on module 'kernel' = [0x0xffffffff81000000,
> -0x0xffffffff81e64000, bias 0x0
> file /usr/lib/debug/lib/modules/2.6.35.13-92.fc14.x86_64/vmlinux ELF
> machine |x86_64 (code 62)
focused on module 'kernel' = [0x0xc0008000, -0x0xc062c7dc, bias 0x0 file 
/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/build/tegra2_seaboard/vmlinux 
ELF machine arm*| (code 40)

$ ls -lh 
/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/build/tegra2_seaboard/vmlinux
-rwxr-xr-x 1 zhengda portage 57M Jul 25 11:05 
/build/tegra2_seaboard/tmp/portage/sys-kernel/chromeos-kernel-9999/work/chromeos-kernel-9999/build/tegra2_seaboard/vmlinux

You can download it from http://sharesend.com/download/agkdi

Thanks,
Da



More information about the Systemtap mailing list