hi, all
"offset = __int32($offset)" was found in syscalls.stp(syscall.lseek),
it was wrong on IA64. All the other "offset" in tapset are not converted
to 32bit integer.
the following patch can fix this bug
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
diff -Nur systemtap-20070818/tapset/syscalls.stp
systemtap-20070818-new/tapset/syscalls.stp
--- systemtap-20070818/tapset/syscalls.stp 2007-08-18
00:05:11.000000000 +0900
+++ systemtap-20070818-new/tapset/syscalls.stp 2007-08-21
15:53:45.000000000 +0900
@@ -2008,7 +2008,7 @@
probe syscall.lseek = kernel.function("sys_lseek") {
name = "lseek"
fildes = $fd
- offset = __int32($offset)
+ offset = $offset
whence = $origin
whence_str = _seek_whence_str($origin)
argstr = sprintf("%d, %d, %s", $fd, offset, whence_str)
best regards!
Lai Jiangshan