summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authordwilder <dwilder>2007-07-30 22:29:12 +0000
committerdwilder <dwilder>2007-07-30 22:29:12 +0000
commite6e233c657a0336c1a621ff513820383e2c41c2f (patch)
tree54b6d9625c11d1f0a9d0a5aa6c1d579ee3082466 /tapset
parentdc47c10f115509090eda6f965001ccc32fdbdb57 (diff)
downloadsystemtap-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')
-rw-r--r--tapset/ChangeLog7
-rw-r--r--tapset/syscalls2.stp18
2 files changed, 23 insertions, 2 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 4aedbfc5..b9462633 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-30 Dave Wilder <dwilder@us.ibm.com>
+ PR 4794
+ * syscalls2.stp (syscall.pread and syscall.pread32)
+ For s390x only changed the $buf argument to $ubuf.
+ Change the format for count and position from %p to %d
+ to make it consistant with sys_read and sys_write.
+
2007-07-25 Mike Mason <mmlnx@us.ibm.com>
PR 4386
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"