diff options
author | fche <fche> | 2005-11-08 16:52:36 +0000 |
---|---|---|
committer | fche <fche> | 2005-11-08 16:52:36 +0000 |
commit | f75abd8ee3fb4b153ebd6c2758400fafdfd2ee6d (patch) | |
tree | a4d16044bd6d8db3e4f7c56d3e2f576550f5e944 | |
parent | 36f9dd1ddd9f5a7418d884caa050ef5e23784816 (diff) | |
download | systemtap-steved-f75abd8ee3fb4b153ebd6c2758400fafdfd2ee6d.tar.gz systemtap-steved-f75abd8ee3fb4b153ebd6c2758400fafdfd2ee6d.tar.xz systemtap-steved-f75abd8ee3fb4b153ebd6c2758400fafdfd2ee6d.zip |
2005-11-08 Frank Ch. Eigler <fche@redhat.com>
* tapsets.cxx (blacklisted_p): Add blacklist for some .return
probes to kludge around bug #1345.
* tapset/system_calls.stp: Add some %( %? %) conditionals to
get closer to using tapset on 2.6.9 kernel.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | tapset/system_calls.stp | 8 | ||||
-rw-r--r-- | tapsets.cxx | 5 |
3 files changed, 15 insertions, 5 deletions
@@ -1,3 +1,10 @@ +2005-11-08 Frank Ch. Eigler <fche@redhat.com> + + * tapsets.cxx (blacklisted_p): Add blacklist for some .return + probes to kludge around bug #1345. + * tapset/system_calls.stp: Add some %( %? %) conditionals to + get closer to using tapset on 2.6.9 kernel. + 2005-11-07 Frank Ch. Eigler <fche@redhat.com> PR 1828. diff --git a/tapset/system_calls.stp b/tapset/system_calls.stp index 760c3505..b56f4e89 100644 --- a/tapset/system_calls.stp +++ b/tapset/system_calls.stp @@ -1337,7 +1337,7 @@ probe kernel.syscall.restart_syscall.return = probe kernel.syscall.exit = kernel.function("do_exit") { name = "exit" - status = $error_code + %( kernel_v > "2.6.9" %? status = $error_code %) } probe kernel.syscall.exit.return = @@ -1350,13 +1350,13 @@ probe kernel.syscall.exit.return = probe kernel.syscall.exit_group = kernel.function("do_group_exit") { name = "exit_group" - status = $error_code + %( kernel_v > "2.6.9" %? status = $error_code %) } probe kernel.syscall.exit_group.return = kernel.function("do_group_exit").return { name = "exit_group.return" - status = $error_code + %( kernel_v > "2.6.9" %? status = $error_code %) } # wait4____________________________________________ /* asmlinkage long @@ -6356,7 +6356,7 @@ probe kernel.syscall.clone = kernel.function("do_fork") { name = "clone" clone_flags = $clone_flags - start_stack = $start_stack + %( kernel_v > "2.6.9" %? start_stack = $start_stack %) /* Export this??? regs = $regs->... */ diff --git a/tapsets.cxx b/tapsets.cxx index 21c3aad7..7b0d2b78 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -1713,7 +1713,10 @@ dwarf_query::blacklisted_p(string const & funcname, string filename_s = filename ? filename : ""; // is passed as const char* if (funcname == "do_IRQ" || filename_s == "kernel/kprobes.c" || - 0 == fnmatch ("arch/*/kernel/kprobes.c", filename, 0)) + 0 == fnmatch ("arch/*/kernel/kprobes.c", filename, 0) || + (has_return && (funcname == "sys_execve" || // bug #1345 + funcname == "sys_exit" || + funcname == "sys_groupexit"))) { if (sess.verbose) clog << "skipping function '" << funcname << "' file '" |