summaryrefslogtreecommitdiffstats
path: root/tapset-perfmon.cxx
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2010-03-18 09:35:28 -0400
committerFrank Ch. Eigler <fche@elastic.org>2010-03-18 09:35:28 -0400
commit70e6d6c94781870f7c11fb3cd62bd8ea69e91a85 (patch)
tree6071600746cdbe4ff8f15ab7c026ef93c9f062e2 /tapset-perfmon.cxx
parent7acbe85634102f8df073e149a01158d8dcdbf0ee (diff)
downloadsystemtap-steved-70e6d6c94781870f7c11fb3cd62bd8ea69e91a85.tar.gz
systemtap-steved-70e6d6c94781870f7c11fb3cd62bd8ea69e91a85.tar.xz
systemtap-steved-70e6d6c94781870f7c11fb3cd62bd8ea69e91a85.zip
PR909: store kernel exported symbols in session object
* session.h (kernel_exports): New field. * main.cxx (parse_kernel_exports): Fill it. * tapset-perfmon.cxx (perf_builder::build): Check it for our pal perf_event_create_kernel_counter.
Diffstat (limited to 'tapset-perfmon.cxx')
-rw-r--r--tapset-perfmon.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/tapset-perfmon.cxx b/tapset-perfmon.cxx
index 81d6c2d7..9078dfd9 100644
--- a/tapset-perfmon.cxx
+++ b/tapset-perfmon.cxx
@@ -198,6 +198,8 @@ perf_builder::build(systemtap_session & sess,
{
// XXX need additional version checks too?
// --- perhaps look for export of perf_event_create_kernel_counter
+ if (sess.kernel_exports.find("perf_event_create_kernel_counter") == sess.kernel_exports.end())
+ throw semantic_error ("perf probes not available without exported perf_event_create_kernel_counter");
if (sess.kernel_config["CONFIG_PERF_EVENTS"] != "y")
throw semantic_error ("perf probes not available without CONFIG_PERF_EVENTS");