diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-10-19 11:33:24 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-10-19 13:11:30 -0400 |
commit | 2e526dabcf4b15fb102e295b282df3af54d5c9d3 (patch) | |
tree | 026750014ab7bbbd046ac555ee44fb06d29b010d /NEWS | |
parent | a34babfa5246b1f8393c18fde450ec684f11bc21 (diff) | |
download | systemtap-steved-2e526dabcf4b15fb102e295b282df3af54d5c9d3.tar.gz systemtap-steved-2e526dabcf4b15fb102e295b282df3af54d5c9d3.tar.xz systemtap-steved-2e526dabcf4b15fb102e295b282df3af54d5c9d3.zip |
PR10799: warn on possibly uintended local-vs-global namespace collision
* elaborate.cxx (find_var): Take extra token parameter.
Look for cross-file global variable resolution, signal
a warning.
* testsuite/systemtap.examples/io/traceio2.stp: Fix it.
* testsuite/systemtap.syscall/sys.stp: Fix it.
* NEWS: Document it.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,5 +1,18 @@ * What's new +- Systemtap now warns about global variables being referenced from other + script files. This aims to protect against unintended local-vs-global + namespace collisions such as: + + % cat some_tapset.stp + probe baz.one = bar { foo = $foo; bar = $bar } + % cat end_user_script.stp + global foo # intended to be private variable + probe timer.s(1) { foo ++ } + probe baz.* { println(foo, pp()) } + % stap end_user_script.stp + WARNING: cross-file global variable reference to foo from some_tapset.stp + - Preprocessor conditional for kernel configuration testing: %( CONFIG_foo == "y" %? ... %) |