From 9ba8c134d15dcf75e42dfaef7f72a6bc492fdbbb Mon Sep 17 00:00:00 2001 From: jistone Date: Sat, 9 Dec 2006 02:03:58 +0000 Subject: 2006-12-08 Josh Stone PR 3681. * staptree.h (struct vardecl): Add a literal 'init' member for the initialization value of globals. * staptree.cxx (vardecl::vardecl): Initialize 'init' to NULL. (vardecl::print): Print global init value during pass-1 output. * main.cxx (printscript): Print global init values during verbose pass-2 output. * parse.cxx (parser::parse_global): Set the initialization literal of global vardecls. * translate.cxx (var::init): Don't unconditionally override the value of numeric globals when the module_param isn't used. (c_unparser::emit_global_param): Write numeric module_params directly into the global variable, as an int64_t instead of long. (c_unparser::emit_global): Add initialization to global declarations. Don't create a temp module_param long for numeric globals anymore. runtime/ * runtime.h (param_set_int64_t, param_get_int64_t, param_check_int64_t): New functions to allow taking module parameters directly as int64_t values. testsuite/ * systemtap.base/global_init.exp, systemtap.base/global_init.stp: New test for checking the timeliness of global initialization. --- testsuite/systemtap.base/global_init.exp | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 testsuite/systemtap.base/global_init.exp (limited to 'testsuite/systemtap.base/global_init.exp') diff --git a/testsuite/systemtap.base/global_init.exp b/testsuite/systemtap.base/global_init.exp new file mode 100644 index 00000000..2076f20f --- /dev/null +++ b/testsuite/systemtap.base/global_init.exp @@ -0,0 +1,7 @@ +# Check that global variables are initialized before all begin probes + +load_lib "stap_run.exp" + +set test "global_init" + +stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string -- cgit