summaryrefslogtreecommitdiffstats
path: root/tapset/syscalls2.stp
diff options
context:
space:
mode:
authorhunt <hunt>2007-10-05 17:56:58 +0000
committerhunt <hunt>2007-10-05 17:56:58 +0000
commitc488dee487f25763b3d4dba2400356dc83a3f11e (patch)
tree1a1c447c5b3cfa78b9548566af09a15629f731d8 /tapset/syscalls2.stp
parentbef7755f16f9cfe014651dd00d1a6ea3e944d996 (diff)
downloadsystemtap-steved-c488dee487f25763b3d4dba2400356dc83a3f11e.tar.gz
systemtap-steved-c488dee487f25763b3d4dba2400356dc83a3f11e.tar.xz
systemtap-steved-c488dee487f25763b3d4dba2400356dc83a3f11e.zip
2007-10-05 Martin Hunt <hunt@redhat.com>
* syscalls2.stp (rt_sigaction, sigaction): Call _struct_sigaction_u(). * aux_syscalls.stp (_struct_timeval): Removed. No longer necessary now that we have structure access in scripts. (_struct_timespec): Ditto. (_struct_itimerval): Ditto. (_struct_timezone_u): Remove random CATCH_DEREF_FAULT() line. (_stp_sigset_str): New. (_struct_sigaction_u): New.
Diffstat (limited to 'tapset/syscalls2.stp')
-rw-r--r--tapset/syscalls2.stp64
1 files changed, 31 insertions, 33 deletions
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
index 3c09c2ed..acb2c137 100644
--- a/tapset/syscalls2.stp
+++ b/tapset/syscalls2.stp
@@ -888,29 +888,16 @@ probe syscall.rmdir.return = kernel.function("sys_rmdir").return {
# struct sigaction __user *oact,
# size_t sigsetsize)
#
-# compat_sys_rt_sigaction(int sig,
-# const struct sigaction __user *act,
-# struct sigaction __user *oact,
-# size_t sigsetsize)
-#
-probe syscall.rt_sigaction =
- kernel.function("sys_rt_sigaction") ?,
- kernel.function("compat_sys_rt_sigaction") ?
-{
+probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction") ? {
name = "rt_sigaction"
sig = $sig
act_uaddr = $act
oact_uaddr = $oact
sigsetsize = $sigsetsize
-
- //FIXME - decode $act
- argstr = sprintf("%s, %p, %p, %d", _signal_name($sig),
- $act, $oact, $sigsetsize)
+ argstr = sprintf("%s, {%s}, %p, %d", _signal_name($sig),
+ _struct_sigaction_u($act), $oact, $sigsetsize)
}
-probe syscall.rt_sigaction.return =
- kernel.function("sys_rt_sigaction").return ?,
- kernel.function("compat_sys_rt_sigaction").return ?
-{
+probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return ? {
name = "rt_sigaction"
retstr = returnstr(1)
}
@@ -920,18 +907,25 @@ probe syscall.rt_sigaction.return =
# struct sigaction32 __user *act,
# struct sigaction32 __user *oact,
# unsigned int sigsetsize)
-probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction") ? {
+# ppc only
+# compat_sys_rt_sigaction(int sig,
+# const struct sigaction32 __user *act,
+# struct sigaction32 __user *oact,
+# size_t sigsetsize)
+
+probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction") ?,
+ kernel.function("compat_sys_rt_sigaction") ?
+{
name = "rt_sigaction"
sig = $sig
act_uaddr = $act
oact_uaddr = $oact
sigsetsize = $sigsetsize
-
- //FIXME - decode $act
- argstr = sprintf("%s, %p, %p, %d", _signal_name($sig),
- $act, $oact, $sigsetsize)
+ argstr = sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize)
}
-probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return ? {
+probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return ?,
+ kernel.function("compat_sys_rt_sigaction").return ?
+{
name = "rt_sigaction"
retstr = returnstr(1)
}
@@ -966,7 +960,7 @@ probe syscall.rt_sigprocmask =
how_str = _sigprocmask_how_str($how)
set_uaddr = $set
oldset_uaddr = $oset
- argstr = sprintf("%s, %p, %p, %d", how_str, $set,
+ argstr = sprintf("%s, [%s], %p, %d", how_str, _stp_sigset_u($set),
$oset, $sigsetsize)
}
probe syscall.rt_sigprocmask.return =
@@ -2098,21 +2092,25 @@ probe syscall.shutdown.return = kernel.function("sys_shutdown").return ? {
# sys_sigaction(int sig, const struct old_sigaction __user *act, struct old_sigaction __user *oact)
# sys32_sigaction(int sig, struct old_sigaction32 __user *act, struct old_sigaction32 __user *oact)
#
-probe syscall.sigaction =
- kernel.function("sys_sigaction") ?,
- kernel.function("sys32_sigaction") ?
-{
+probe syscall.sigaction = kernel.function("sys_sigaction") ? {
+ name = "sigaction"
+ sig = $sig
+ act_uaddr = $act
+ oact_uaddr = $oact
+ argstr = sprintf("%s, {%s}, %p", _signal_name($sig), _struct_sigaction_u($act), $oact)
+}
+probe syscall.sigaction.return = kernel.function("sys_sigaction").return ? {
+ name = "sigaction"
+ retstr = returnstr(1)
+}
+probe syscall.sigaction32 = kernel.function("sys32_sigaction") ? {
name = "sigaction"
sig = $sig
act_uaddr = $act
oact_uaddr = $oact
- # FIXME - decode $act
argstr = sprintf("%s, %p, %p", _signal_name($sig), $act, $oact)
}
-probe syscall.sigaction.return =
- kernel.function("sys_sigaction").return ?,
- kernel.function("sys32_sigaction").return ?
-{
+probe syscall.sigaction32.return = kernel.function("sys32_sigaction").return ? {
name = "sigaction"
retstr = returnstr(1)
}