summaryrefslogtreecommitdiffstats
path: root/tapset/process.stp
diff options
context:
space:
mode:
authorjistone <jistone>2006-06-02 19:11:24 +0000
committerjistone <jistone>2006-06-02 19:11:24 +0000
commit807e901f301df384499249ebe548884f504e4313 (patch)
treed82db63659d28127e40514ec29a3a96782b716e9 /tapset/process.stp
parent6e3347a9815f4a457b6393a22f21b6f2c6b588af (diff)
downloadsystemtap-steved-807e901f301df384499249ebe548884f504e4313.tar.gz
systemtap-steved-807e901f301df384499249ebe548884f504e4313.tar.xz
systemtap-steved-807e901f301df384499249ebe548884f504e4313.zip
2006-06-02 Josh Stone <joshua.i.stone@intel.com>
* process.stp (exec, exec_complete): conditionally include compat_do_execve for 64-bit kernels * process.stp (handle_signal): use optional probes to alternate between function or inline
Diffstat (limited to 'tapset/process.stp')
-rw-r--r--tapset/process.stp28
1 files changed, 8 insertions, 20 deletions
diff --git a/tapset/process.stp b/tapset/process.stp
index d08b10e2..5f51f5ee 100644
--- a/tapset/process.stp
+++ b/tapset/process.stp
@@ -51,13 +51,8 @@ probe process.start = kernel.function("schedule_tail") { }
* filename - the path to the new executable
*/
probe process.exec =
-/*
- kernel.function("do_execve")
-%( arch != "i586" %? %( arch != "i686" %?
- , kernel.function("compat_do_execve")
-%) %)
-*/
- kernel.function("*do_execve")
+ kernel.function("do_execve"),
+ kernel.function("compat_do_execve") ?
{
filename = kernel_string($filename)
}
@@ -76,13 +71,8 @@ probe process.exec =
* success - a boolean indicating whether the exec was successful
*/
probe process.exec_complete =
-/*
- kernel.function("do_execve").return
-%( arch != "i586" %? %( arch != "i686" %?
- , kernel.function("compat_do_execve").return
-%) %)
-*/
- kernel.function("*do_execve").return
+ kernel.function("do_execve").return,
+ kernel.function("compat_do_execve").return ?
{
errno = retval()
success = (errno >= 0)
@@ -177,12 +167,10 @@ probe _process.signal_send.part3 =
* signal - the number of the signal
* signal_name - a string representation of the signal
*/
-/* FIXME - handle_signal is sometimes inlined, depending on the whims of the
- * compiler. On FC5 it is inlined, but on RHEL4 it is not. Until we have a
- * nice way for tapsets to specify "possibly inlined", we can't include this
- * probe point.
-probe process.signal_handle = kernel.function("handle_signal") {
+probe process.signal_handle =
+ kernel.function("handle_signal") ?,
+ kernel.inline("handle_signal") ?
+{
signal = $sig
signal_name = _signal_name($sig)
}
-*/