summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tapset/syscalls.stp8
-rw-r--r--tapset/syscalls2.stp18
2 files changed, 25 insertions, 1 deletions
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index 36a5e22e..a5057cdf 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -1888,6 +1888,12 @@ probe syscall.mlockall.return = kernel.function("sys_mlockall").return {
# long sys_mmap(unsigned long addr, unsigned long len,
# unsigned long prot, unsigned long flags,
# unsigned long fd, unsigned long off)
+%(arch == "x86_64" %?
+probe syscall.mmap = kernel.function("sys_mmap") ? {
+ name = "mmap"
+ argstr = ""
+}
+%:
probe syscall.mmap = kernel.function("sys_mmap") ? {
name = "mmap"
start = $addr
@@ -1903,6 +1909,8 @@ probe syscall.mmap = kernel.function("sys_mmap") ? {
argstr = sprintf("%p, %d, %s, %s, %d, %d", $addr, $len,
_mprotect_prot_str($prot), _mmap_flags($flags), $fd, offset)
}
+%)
+
probe syscall.mmap.return = kernel.function("sys_mmap").return ? {
name = "mmap"
retstr = returnstr(2)
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
index d0dc19ff..9b6b7e91 100644
--- a/tapset/syscalls2.stp
+++ b/tapset/syscalls2.stp
@@ -271,11 +271,19 @@ probe syscall.personality.return = kernel.function("sys_personality").return {
# asmlinkage int
# sys_pipe(unsigned long __user * fildes)
#
+%(arch == "x86_64" %?
+# x86_64 gcc 4.1 problem
+probe syscall.pipe = kernel.function("sys_pipe") {
+ name = "pipe"
+ argstr = ""
+}
+%:
probe syscall.pipe = kernel.function("sys_pipe") {
name = "pipe"
fildes_uaddr = $fildes
- argstr = _fildes_u(fildes_uaddr)
+ argstr = _fildes_u($fildes)
}
+%)
probe syscall.pipe.return = kernel.function("sys_pipe").return {
name = "pipe"
retstr = returnstr(1)
@@ -2217,12 +2225,20 @@ probe syscall.umount.return = kernel.function("sys_umount").return {
# asmlinkage int
# int sys_uname(struct old_utsname __user *name)
#
+%(arch == "x86_64" %?
+# more gcc 4.1 problems
+probe syscall.uname = kernel.function("sys_uname") {
+ name = "uname"
+ argstr = ""
+}
+%:
probe syscall.uname = kernel.function("sys_uname") {
name = "uname"
name_uaddr = $name
name_str = user_string($name)
argstr = user_string_quoted($name)
}
+%)
probe syscall.uname.return = kernel.function("sys_uname").return {
name = "uname"
retstr = returnstr(1)