diff options
author | Josh Stone <jistone@redhat.com> | 2010-02-25 15:15:19 -0800 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2010-02-25 15:26:32 -0800 |
commit | 70208613b8f9f2584aee89197705f3fddae6a0e4 (patch) | |
tree | bd570eab4ee62b5e6d15e8118e40d263160a54bd /testsuite/semok/thirtysix.stp | |
parent | 38975255091d0c6bc33ae3c6907bb7886b70598d (diff) | |
download | systemtap-steved-70208613b8f9f2584aee89197705f3fddae6a0e4.tar.gz systemtap-steved-70208613b8f9f2584aee89197705f3fddae6a0e4.tar.xz systemtap-steved-70208613b8f9f2584aee89197705f3fddae6a0e4.zip |
PR11326: Make an early check for saved-return-$var validity
We now check validity *before* the entry-probe is generated, so invalid
$vars have a chance to be properly optimized without error.
* tapsets.cxx
(dwarf_var_expanding_visitor::visit_target_symbol_saved_return):
Attempt variable expansion immediately, and skip out on failure.
* testsuite/semok/thirtysix.stp: unblock the previously broken part.
Diffstat (limited to 'testsuite/semok/thirtysix.stp')
-rwxr-xr-x | testsuite/semok/thirtysix.stp | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/testsuite/semok/thirtysix.stp b/testsuite/semok/thirtysix.stp index ee19852c..e31a51ce 100755 --- a/testsuite/semok/thirtysix.stp +++ b/testsuite/semok/thirtysix.stp @@ -2,17 +2,7 @@ probe kernel.function("sys_open") { println(@defined($foobar)?$foobar:0) } # invalid probe kernel.function("sys_open") { println(@defined($mode)?$mode:0) } # valid - -/* -There is a problem with saved $target vars for retprobes. The synthetic entry probe -to collect $foobar is generated before pass-2's constant-folding can eliminate the -$foobar in the middle operand of ? : -*/ -/* probe kernel.function("sys_open").return { println(@defined($foobar)?$foobar:0) } # invalid -*/ -probe kernel.function("sys_open").return { println(@defined($foobar)?1:0) } # invalid - probe kernel.function("sys_open").return { println(@defined($mode)?$mode:0) } # valid probe kernel.trace("*")? { println(@defined($rw)?$rw:0) } # valid and invalid in places probe kernel.mark("*")? { println(@defined($foo)?$foo:0) } # invalid |