summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--tapset/ChangeLog7
-rw-r--r--tapset/process.stp28
2 files changed, 15 insertions, 20 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 9f4a556f..0e7de1fd 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,10 @@
+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
+
2006-05-30 Martin Hunt <hunt@redhat.com>
* aux_syscalls.stp (_mountflags_str): Rewrite.
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)
}
-*/