summaryrefslogtreecommitdiffstats
path: root/tapset/nd_syscalls2.stp
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2010-03-18 16:26:14 -0500
committerDavid Smith <dsmith@redhat.com>2010-03-18 16:26:14 -0500
commitfc2a22c05edf578c05acb91d2f9d0d159c717061 (patch)
tree677abd6a4e0c8acb4892f9e6735ab1dbc94d56ff /tapset/nd_syscalls2.stp
parent9ab564b0a21f2df7d9457857cc636c621a2f7090 (diff)
downloadsystemtap-steved-fc2a22c05edf578c05acb91d2f9d0d159c717061.tar.gz
systemtap-steved-fc2a22c05edf578c05acb91d2f9d0d159c717061.tar.xz
systemtap-steved-fc2a22c05edf578c05acb91d2f9d0d159c717061.zip
Fixed BZ 568032 by adding support for sys_ia64_pipe.
* tapset/nd_syscalls2.stp: Added support for 'sys_ia64_pipe' so that the syscall.pipe probe works correctly under RHEL5.5.
Diffstat (limited to 'tapset/nd_syscalls2.stp')
-rw-r--r--tapset/nd_syscalls2.stp11
1 files changed, 9 insertions, 2 deletions
diff --git a/tapset/nd_syscalls2.stp b/tapset/nd_syscalls2.stp
index fb193324..48162fa3 100644
--- a/tapset/nd_syscalls2.stp
+++ b/tapset/nd_syscalls2.stp
@@ -328,12 +328,16 @@ probe nd_syscall.personality.return = kprobe.function("SyS_personality").return
# sys_pipe(unsigned long __user * fildes)
#
probe nd_syscall.pipe = kprobe.function("SyS_pipe") ?,
+%( arch == "ia64" %?
+ kprobe.function("sys_ia64_pipe").call ?,
+%)
kprobe.function("sys_pipe") ?
{
name = "pipe"
%( arch == "ia64" %?
-# ia64 just returns value directly, no fildes argument
- argstr = ""
+# ia64 just returns value directly, so fake the arguments
+ fildes_uaddr = 0
+ argstr = "[0, 0]"
%:
// fildes_uaddr = $fildes
// argstr = _fildes_u($fildes)
@@ -344,6 +348,9 @@ probe nd_syscall.pipe = kprobe.function("SyS_pipe") ?,
}
probe nd_syscall.pipe.return = kprobe.function("SyS_pipe").return ?,
+%( arch == "ia64" %?
+ kprobe.function("sys_ia64_pipe").return ?,
+%)
kprobe.function("sys_pipe").return ?
{
name = "pipe"