diff options
author | dwilder <dwilder> | 2007-07-30 22:29:12 +0000 |
---|---|---|
committer | dwilder <dwilder> | 2007-07-30 22:29:12 +0000 |
commit | e6e233c657a0336c1a621ff513820383e2c41c2f (patch) | |
tree | 54b6d9625c11d1f0a9d0a5aa6c1d579ee3082466 /tapset/syscalls2.stp | |
parent | dc47c10f115509090eda6f965001ccc32fdbdb57 (diff) | |
download | systemtap-steved-e6e233c657a0336c1a621ff513820383e2c41c2f.tar.gz systemtap-steved-e6e233c657a0336c1a621ff513820383e2c41c2f.tar.xz systemtap-steved-e6e233c657a0336c1a621ff513820383e2c41c2f.zip |
fixed support for pread and pwrite for s390x. Added tests for pread and pwrite.
Diffstat (limited to 'tapset/syscalls2.stp')
-rw-r--r-- | tapset/syscalls2.stp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index 7c5b4854..0554f3cf 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -396,7 +396,7 @@ probe syscall.pread = kernel.function("sys_pread64") { buf_uaddr = $buf count = $count offset = $pos - argstr = sprintf("%d, %p, %p, %p", $fd, $buf, $count, $pos) + argstr = sprintf("%d, %p, %d, %d", $fd, $buf, $count, $pos) } probe syscall.pread.return = kernel.function("sys_pread64").return { name = "pread" @@ -410,7 +410,13 @@ probe syscall.pread32 = kernel.function("sys32_pread64") ? { buf_uaddr = $buf count = $count offset = ($poshi << 32) + $poslo - argstr = sprintf("%d, %p, %p, %p", $fd, $buf, $count, ($poshi << 32) + $poslo) +%( arch == "s390x" %? + buf_uaddr = $ubuf + argstr = sprintf("%d, %p, %d, %d", $fd, $ubuf, $count, ($poshi << 32) + $poslo) +%: + buf_uaddr = $buf + argstr = sprintf("%d, %p, %d, %d", $fd, $buf, $count, ($poshi << 32) + $poslo) +%) } probe syscall.pread32.return = kernel.function("sys32_pread64").return ? { name = "pread" @@ -517,9 +523,17 @@ probe syscall.pwrite32 = kernel.function("sys32_pwrite64") ? { buf_uaddr = $buf count = $count offset = ($poshi << 32) + $poslo +%( arch == "s390x" %? + buf_uaddr = $ubuf + argstr = sprintf("%d, %s, %d, %d", $fd, + text_strn(user_string($ubuf),syscall_string_trunc,1), + $count, ($poshi << 32) + $poslo) +%: + buf_uaddr = $buf argstr = sprintf("%d, %s, %d, %d", $fd, text_strn(user_string($buf),syscall_string_trunc,1), $count, ($poshi << 32) + $poslo) +%) } probe syscall.pwrite32.return = kernel.function("sys32_pwrite64").return ? { name = "pwrite" |