summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2010-03-20 20:20:39 +0100
committerMark Wielaard <mjw@redhat.com>2010-03-21 17:34:41 +0100
commitaf872fe279a52fb19d5483db7d29cdaa1814ccdc (patch)
tree7f9f6c5d362da37e1c50214d7559ddcb8b2eebc4 /tapset
parent816395d6f1c433cddc1eaecba2248168c1dd4a5a (diff)
downloadsystemtap-steved-af872fe279a52fb19d5483db7d29cdaa1814ccdc.tar.gz
systemtap-steved-af872fe279a52fb19d5483db7d29cdaa1814ccdc.tar.xz
systemtap-steved-af872fe279a52fb19d5483db7d29cdaa1814ccdc.zip
Match syscall.pipe32 with regular syscall.pipe[2] output.
* tapset/x86_64/syscalls.stp (syscall.pipe32[.return]): Define same variables and match argstr with regular syscall.pipe.
Diffstat (limited to 'tapset')
-rw-r--r--tapset/x86_64/syscalls.stp35
1 files changed, 34 insertions, 1 deletions
diff --git a/tapset/x86_64/syscalls.stp b/tapset/x86_64/syscalls.stp
index bcb9523d..c385f824 100644
--- a/tapset/x86_64/syscalls.stp
+++ b/tapset/x86_64/syscalls.stp
@@ -149,10 +149,43 @@ probe syscall.vm86_warning.return = kernel.function("sys32_vm86_warning").return
probe syscall.pipe32 = kernel.function("sys32_pipe")?
{
name = "pipe"
- argstr = sprintf("%p", $fd)
+ flags = 0;
+ if (@defined($fd)) {
+ fildes_uaddr = $fd
+ if (fildes_uaddr == 0) {
+ pipe0 = 0;
+ pipe1 = 0;
+ argstr = "NULL"
+ } else {
+ pipe0 = user_int(&$fd[0]);
+ pipe1 = user_int(&$fd[1]);
+ argstr = sprintf("[%d, %d]", pipe0, pipe1);
+ }
+ } else {
+ fildes_uaddr = 0;
+ pipe0 = 0;
+ pipe1 = 0;
+ argstr = "[0, 0]";
+ }
+ argstr = sprintf("[%d, %d]", pipe0, pipe1)
}
probe syscall.pipe32.return = kernel.function("sys32_pipe").return?
{
name = "pipe"
+ flags = 0;
+ if (@defined($fd)) {
+ fildes_uaddr = $fd
+ if (fildes_uaddr == 0) {
+ pipe0 = 0;
+ pipe1 = 0;
+ } else {
+ pipe0 = user_int(&$fd[0]);
+ pipe1 = user_int(&$fd[1]);
+ }
+ } else {
+ fildes_uaddr = 0;
+ pipe0 = 0;
+ pipe1 = 0;
+ }
retstr = returnstr(1)
}