From e4c583861763fee12666ce5f463d337783e001e9 Mon Sep 17 00:00:00 2001 From: fche Date: Sat, 23 Feb 2008 02:28:46 +0000 Subject: PR5787, PR2608: .statement(NUM) probing fixes 2008-02-22 Frank Ch. Eigler 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 * systemtap.base/stmtvars.exp: New test for PR 5787. --- testsuite/ChangeLog | 4 ++++ testsuite/systemtap.base/stmtvars.exp | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 testsuite/systemtap.base/stmtvars.exp (limited to 'testsuite') diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 1760d0aa..38d893db 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2008-02-22 Frank Ch. Eigler + + * systemtap.base/stmtvars.exp: New test for PR 5787. + 2008-02-21 Will Cohen * systemtap.base/beginenderror.exp: Increase timeout for slow machines. 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 } -- cgit