From f982c59b2c2b1c25684213c816a69f18a98fea8a Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Jul 2009 18:01:40 -0700 Subject: PR10424: Consider each tracepoint header separately With the current monolithic tracepoint query module, a failure in any of the discovered tracepoint headers means that you can't use any of the others either. This patch creates a separate query module for each header so they can pass or fail independently. * buildrun.cxx (make_tracequery): take a single header name instead of globbing for everything we can find. * hash.cxx (find_tracequery_hash): name the header file we're hashing. * tapsets.cxx (tracepoint_query::handle_query_func): make sure we don't duplicate tracepoints found through different headers. (tracepoint_builder::get_tracequery_module): get a header's module (tracepoint_builder::init_dw): glob for all tracepoint headers, and feed all their modules into dwflpp. --- hash.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'hash.cxx') diff --git a/hash.cxx b/hash.cxx index a0608c03..eac22f48 100644 --- a/hash.cxx +++ b/hash.cxx @@ -257,12 +257,13 @@ find_hash (systemtap_session& s, const string& script) string -find_tracequery_hash (systemtap_session& s) +find_tracequery_hash (systemtap_session& s, const string& header) { hash h; get_base_hash(s, h); - // The basic hash should be good enough for the tracepoint query module + // Add the tracepoint header to the computed hash + h.add_file(header); // Get the directory path to store our cached module string result, hashdir; -- cgit