From: Frank Ch. Eigler Date: Mon, 31 May 2010 17:56:42 +0000 (-0400) Subject: PR11649: workaround for incomplete include/linux/event/kvm_*.h X-Git-Tag: release-1.3~308 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=9e0cd21a467cf0d00fe58595137fa78e64b388e5;p=systemtap.git PR11649: workaround for incomplete include/linux/event/kvm_*.h * tapsets.cxx (tracepoint_extra_headers): Pass along systemtap_session. Add a kvm header if CONFIG_KVM. --- diff --git a/tapsets.cxx b/tapsets.cxx index a0b4ac1e6..11edd382e 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -7288,12 +7288,18 @@ tracepoint_derived_probe::print_dupe_stamp(ostream& o) } -static vector tracepoint_extra_headers () +static vector tracepoint_extra_headers (systemtap_session& s) { vector they_live; // PR 9993 // XXX: may need this to be configurable they_live.push_back ("linux/skbuff.h"); + + // PR11649: conditional extra header + // for kvm tracepoints in 2.6.33ish + if (s.kernel_config["CONFIG_KVM"] != string("")) { + they_live.push_back ("linux/kvm_host.h"); + } return they_live; } @@ -7309,7 +7315,7 @@ tracepoint_derived_probe_group::emit_module_decls (systemtap_session& s) // PR9993: Add extra headers to work around undeclared types in individual // include/trace/foo.h files - const vector& extra_headers = tracepoint_extra_headers (); + const vector& extra_headers = tracepoint_extra_headers (s); for (unsigned z=0; znewline() << "#include <" << extra_headers[z] << ">\n"; @@ -7573,7 +7579,7 @@ tracepoint_builder::get_tracequery_module(systemtap_session& s, // PR9993: Add extra headers to work around undeclared types in individual // include/trace/foo.h files - vector short_headers = tracepoint_extra_headers(); + vector short_headers = tracepoint_extra_headers(s); // add each requested tracepoint header for (size_t i = 0; i < headers.size(); ++i)