diff options
author | fche <fche> | 2008-02-23 02:28:46 +0000 |
---|---|---|
committer | fche <fche> | 2008-02-23 02:28:46 +0000 |
commit | e4c583861763fee12666ce5f463d337783e001e9 (patch) | |
tree | aa89d8d0d02c64cd9ceee02adfebfdee9b27a465 /testsuite/systemtap.base | |
parent | 780c08c8f4d5020052d3de50dfc3abacac589feb (diff) | |
download | systemtap-steved-e4c583861763fee12666ce5f463d337783e001e9.tar.gz systemtap-steved-e4c583861763fee12666ce5f463d337783e001e9.tar.xz systemtap-steved-e4c583861763fee12666ce5f463d337783e001e9.zip |
PR5787, PR2608: .statement(NUM) probing fixes
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
PR5787, PR2608, .statement()
* tapsets.cxx (query_dwarf_func): Process .statement(NUM) probes too.
(query_cu): Ditto.
(query_func_info): Bypass prologue searching for .statement() probes.
(query_cu): Ditto.
(build_blacklist): Remove unsightly empty first alternative in
"^(|foo)$" regexps. Show them for -vvv.
* buildrun.cxx (compile_pass): Don't turn on "gcc -Q" on until -vvvv.
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
* systemtap.base/stmtvars.exp: New test for PR 5787.
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/stmtvars.exp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/stmtvars.exp b/testsuite/systemtap.base/stmtvars.exp new file mode 100644 index 00000000..6e950ea0 --- /dev/null +++ b/testsuite/systemtap.base/stmtvars.exp @@ -0,0 +1,31 @@ +set test "stmtvars" +# PR 5787 + +set pc 0 +set vars "" +spawn stap -e "probe kernel.function(\"sys_open\") {\$foo}" -p4 -vv -u +expect { + -re {probe sys_open.*pc=(0x.*)\r\n} { set pc $expect_out(1,string); exp_continue } + -re {alternatives: ([^\r\n]*) identifier [^\r\n]*\r\n} { set vars $expect_out(1,string) + exp_continue } + timeout { fail "$test (timeout)" } + eof + } +wait +verbose -log "pc=$pc vars=$vars" +if {$pc != 0 && $vars != ""} { pass "$test - .function" } { fail "$test - .function" } + +set pc2 0 +set vars2 "" +spawn stap -e "probe kernel.statement($pc) {\$foo}" -p4 -vv -u +expect { + -re {probe sys_open.*pc=(0x.*)\r\n} { set pc2 $expect_out(1,string); exp_continue } + -re {alternatives: ([^\r\n]*) identifier [^\r\n]*\r\n} { set vars2 $expect_out(1,string) + exp_continue } + timeout { fail "$test (timeout)" } + eof + } +wait + +verbose -log "pc2=$pc2 vars2=$vars2" +if {$pc == $pc2 && $vars == $vars2} { pass $test } { fail $test } |