From 73267b89ea6ede28b1a0a10667774bca6eb2b37e Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 28 Jan 2009 17:01:20 -0800 Subject: Add Vim modelines for GNU style in stap --- session.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'session.h') diff --git a/session.h b/session.h index e6b409cf..9a28c936 100644 --- a/session.h +++ b/session.h @@ -192,3 +192,5 @@ struct systemtap_session extern int pending_interrupts; #endif // SESSION_H + +/* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */ -- cgit From 5c54d49ebb4da71680cb45e3be221e11b9b8d364 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 6 Feb 2009 14:13:51 -0800 Subject: Save kernel autoconf options in a cache file We're getting enough autoconf tests now that it's a significant chunk of the build time. Adding this cache shaves several seconds off for me. * hash.cxx (find_hash): Compute a separate script-independent hash for caching autoconf values, saved in session.stapconf_path. * buildrun.cxx (compile_pass): Tweak the Makefile to read/save the autoconf values in the cache directory --- session.h | 1 + 1 file changed, 1 insertion(+) (limited to 'session.h') diff --git a/session.h b/session.h index 9a28c936..c55310d3 100644 --- a/session.h +++ b/session.h @@ -112,6 +112,7 @@ struct systemtap_session bool use_cache; std::string cache_path; std::string hash_path; + std::string stapconf_path; // dwarfless operation bool consult_symtab; -- cgit From de0db58a72f197e4dff867f9040bfff982035b6f Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sat, 7 Feb 2009 15:42:56 -0800 Subject: Clean up the autoconf caching This makes the stapconf caching process quite a bit more transparent. The options are now cached in a header file as #defines, and this header file is a normal build dependency instead of calling so many make $(shell ...) commands. * buildrun.cxx (compile_pass): Pull in autoconf options in a header of #defines rather than -DXXX, and make that header a build dependency. * buildrun.cxx (output_autoconf): New function to consolidate the computation of each autoconf test. * cache.cxx (add_to_cache, get_from_cache, clean_cache): Start treating the stapconf header as a first-class cached item. * cache.h: Move definitions of things only needed in cache.cxx * hash.cxx (find_stapconf_hash): Generate stapconf_name as a .h now. * main.cxx (main): Default the stapconf_name based on getpid(). --- session.h | 1 + 1 file changed, 1 insertion(+) (limited to 'session.h') diff --git a/session.h b/session.h index c55310d3..6bcebd8b 100644 --- a/session.h +++ b/session.h @@ -86,6 +86,7 @@ struct systemtap_session std::string runtime_path; std::string data_path; std::string module_name; + std::string stapconf_name; std::string output_file; std::string cmd; int target_pid; -- cgit From f80d90043cf900dc6027329a61489444d7ab4ee3 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 11 Feb 2009 15:28:41 -0800 Subject: Enable session-wide code filtering This will be used to hook to dwarf_builder to all functions and probes so it can attempt @cast expansion. * session.h (systemtap_session): Add a vector of update_visitors that will act as filters for all probes and functions. * elaborate.cxx (semantic_pass_symbols): Run probes and functions through each registered code filter. --- session.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'session.h') diff --git a/session.h b/session.h index 6bcebd8b..735ef200 100644 --- a/session.h +++ b/session.h @@ -45,6 +45,7 @@ struct translator_output; struct unparser; struct semantic_error; struct module_cache; +struct update_visitor; // XXX: a generalized form of this descriptor could be associated with @@ -133,6 +134,10 @@ struct systemtap_session stapfile* user_file; std::vector library_files; + // filters to run over all code before symbol resolution + // e.g. @cast expansion + std::vector code_filters; + // resolved globals/functions/probes for the run as a whole std::vector files; std::vector globals; -- cgit From 482fe2af17347b472232c5d7c4b26e53606e395e Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 17 Feb 2009 19:19:48 -0800 Subject: Bump copyright years to 2009 --- session.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'session.h') diff --git a/session.h b/session.h index 735ef200..e6d8eb82 100644 --- a/session.h +++ b/session.h @@ -1,5 +1,5 @@ // -*- C++ -*- -// Copyright (C) 2005-2008 Red Hat Inc. +// Copyright (C) 2005-2009 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General -- cgit