diff options
author | hiramatu <hiramatu> | 2007-09-06 18:08:44 +0000 |
---|---|---|
committer | hiramatu <hiramatu> | 2007-09-06 18:08:44 +0000 |
commit | a721fbcf46a1d80e180670c8b68ce7f159b2a28a (patch) | |
tree | ba457c079e3ade9a27fa93cc617f358d4e83184c /tapsets.cxx | |
parent | 7d0ea3216d499fdc77dcd98d7d75ac14441421f8 (diff) | |
download | systemtap-steved-a721fbcf46a1d80e180670c8b68ce7f159b2a28a.tar.gz systemtap-steved-a721fbcf46a1d80e180670c8b68ce7f159b2a28a.tar.xz systemtap-steved-a721fbcf46a1d80e180670c8b68ce7f159b2a28a.zip |
2007-09-06 Masami Hiramatsu <mhiramat@redhat.com>
PR4542
* tapsets.cxx (dwarf_query::build_blacklist): add __switch_to to
blacklisted_return_probes on i686
* systemtap.stress/current.stp: Don't probe the return of __switch_to
on i686
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 281fcd0a..7e1c196a 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -2348,9 +2348,12 @@ dwarf_query::build_blacklist() blacklisted_probes.insert("_spin_unlock"); blacklisted_probes.insert("_spin_unlock_irqrestore"); - // __switch_to is only disallowed on x86_64 + // __switch_to changes "current" on x86_64 and i686, so return probes + // would cause kernel panic, and it is marked as "__kprobes" on x86_64 if (sess.architecture == "x86_64") blacklisted_probes.insert("__switch_to"); + if (sess.architecture == "i686") + blacklisted_return_probes.insert("__switch_to"); // These functions don't return, so return probes would never be recovered blacklisted_return_probes.insert("do_exit"); |