summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dwflpp.cxx8
-rw-r--r--dwflpp.h1
-rw-r--r--grapher/StapParser.cxx1
-rw-r--r--runtime/regs.h5
-rw-r--r--systemtap.spec8
-rw-r--r--tapsets.cxx34
-rw-r--r--testsuite/lib/systemtap.exp23
-rw-r--r--testsuite/systemtap.base/bz10078.exp6
-rw-r--r--testsuite/systemtap.base/bz10294.c21
-rw-r--r--testsuite/systemtap.base/bz10294.stp4
-rw-r--r--testsuite/systemtap.base/bz6850.exp6
-rw-r--r--testsuite/systemtap.base/bz6905.exp25
-rw-r--r--testsuite/systemtap.base/statement.exp38
-rw-r--r--testsuite/systemtap.base/uprobes.exp6
-rw-r--r--testsuite/systemtap.printf/end1b.exp8
-rw-r--r--testsuite/systemtap.printf/mixed_outb.exp8
-rw-r--r--testsuite/systemtap.printf/out1b.exp8
-rw-r--r--testsuite/systemtap.printf/out2b.exp8
-rw-r--r--testsuite/systemtap.printf/out3b.exp8
19 files changed, 161 insertions, 65 deletions
diff --git a/dwflpp.cxx b/dwflpp.cxx
index 6ede1d68..ff62265f 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -784,6 +784,7 @@ dwflpp::iterate_over_srcfile_lines (char const * srcfile,
enum line_t line_type,
void (* callback) (const dwarf_line_t& line,
void * arg),
+ const std::string& func_pattern,
void *data)
{
Dwarf_Line **srcsp = NULL;
@@ -811,7 +812,10 @@ dwflpp::iterate_over_srcfile_lines (char const * srcfile,
else if (line_type == RANGE) { /* correct lineno */
int start_lineno;
- function_line (&start_lineno);
+ if (name_has_wildcard(func_pattern)) /* PR10294: wider range like statement("*@foo.c") */
+ start_lineno = lineno;
+ else
+ function_line (&start_lineno);
lineno = lineno < start_lineno ? start_lineno : lineno;
if (lineno > lines[1]) { /* invalid line range */
stringstream advice;
@@ -849,7 +853,7 @@ dwflpp::iterate_over_srcfile_lines (char const * srcfile,
if (lineno != l || line_probed.second == false || nsrcs > 1)
continue;
dwarf_lineaddr (srcsp [0], &line_addr);
- if (dwarf_haspc (function, line_addr) != 1)
+ if (!function_name_matches(func_pattern) && dwarf_haspc (function, line_addr) != 1)
break;
}
diff --git a/dwflpp.h b/dwflpp.h
index 3cada4f8..f6305bcf 100644
--- a/dwflpp.h
+++ b/dwflpp.h
@@ -213,6 +213,7 @@ struct dwflpp
enum line_t line_type,
void (* callback) (const dwarf_line_t& line,
void * arg),
+ const std::string& func_pattern,
void *data);
void iterate_over_labels (Dwarf_Die *begin_die,
diff --git a/grapher/StapParser.cxx b/grapher/StapParser.cxx
index 693be919..d70c75b6 100644
--- a/grapher/StapParser.cxx
+++ b/grapher/StapParser.cxx
@@ -3,6 +3,7 @@
#include <gtkmm/window.h>
#include <iostream>
#include <sstream>
+#include <cstring>
namespace systemtap
{
diff --git a/runtime/regs.h b/runtime/regs.h
index 123d7601..d80cdf0a 100644
--- a/runtime/regs.h
+++ b/runtime/regs.h
@@ -13,17 +13,20 @@
#if defined (STAPCONF_X86_UNIREGS) && (defined (__x86_64__) || defined (__i386__))
#define REG_IP(regs) regs->ip
+#define REG_IP_LVALUE 1
#define REG_SP(regs) regs->sp
#define REG_FP(regs) regs->bp
#elif defined (__x86_64__)
#define REG_IP(regs) regs->rip
+#define REG_IP_LVALUE 1
#define REG_SP(regs) regs->rsp
#elif defined (__i386__)
#define REG_IP(regs) regs->eip
+#define REG_IP_LVALUE 1
#define REG_SP(regs) regs->esp
#define REG_FP(regs) regs->ebp
@@ -34,12 +37,14 @@
#elif defined (__powerpc64__)
#define REG_IP(regs) regs->nip
+#define REG_IP_LVALUE 1
#define REG_SP(regs) regs->gpr[1]
#define REG_LINK(regs) regs->link
#elif defined (__arm__)
#define REG_IP(regs) regs->ARM_pc
+#define REG_IP_LVALUE 1
#define REG_SP(regs) regs->ARM_sp
#define REG_LINK(regs) regs->ARM_lr
diff --git a/systemtap.spec b/systemtap.spec
index 03e9419c..860e4332 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -281,13 +281,13 @@ exit 0
%post
# Remove any previously-built uprobes.ko materials
-(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 3>&1 || true
-(/sbin/rmmod uprobes) >/dev/null 3>&1 || true
+(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
+(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
%preun
# Ditto
-(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 3>&1 || true
-(/sbin/rmmod uprobes) >/dev/null 3>&1 || true
+(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
+(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
%files
%defattr(-,root,root)
diff --git a/tapsets.cxx b/tapsets.cxx
index b1ca2998..c953dd78 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -1452,7 +1452,7 @@ query_cu (Dwarf_Die * cudie, void * arg)
for (set<char const *>::const_iterator i = q->filtered_srcfiles.begin();
i != q->filtered_srcfiles.end(); ++i)
q->dw.iterate_over_srcfile_lines (*i, q->line, q->has_statement_str,
- q->line_type, query_srcfile_label, q);
+ q->line_type, query_srcfile_label, q->function, q);
}
else if ((q->has_statement_str || q->has_function_str)
&& (q->spec_type == function_file_and_line))
@@ -1462,7 +1462,7 @@ query_cu (Dwarf_Die * cudie, void * arg)
for (set<char const *>::const_iterator i = q->filtered_srcfiles.begin();
i != q->filtered_srcfiles.end(); ++i)
q->dw.iterate_over_srcfile_lines (*i, q->line, q->has_statement_str,
- q->line_type, query_srcfile_line, q);
+ q->line_type, query_srcfile_line, q->function, q);
}
else
{
@@ -3030,6 +3030,8 @@ dwarf_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it wouldn't have been replaced
// by a breakpoint instruction when calling real probe handler. Reset
// IP regs on return, so we don't confuse kprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long kprobes_ip = REG_IP(c->regs);";
@@ -3037,6 +3039,9 @@ dwarf_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sdp->ph) (c);";
s.op->newline() << "REG_IP(regs) = kprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline() << "return 0;";
@@ -3064,6 +3069,8 @@ dwarf_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it wouldn't have been replaced
// by a breakpoint instruction when calling real probe handler. Reset
// IP regs on return, so we don't confuse kprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long kprobes_ip = REG_IP(c->regs);";
@@ -3071,6 +3078,9 @@ dwarf_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sdp->ph) (c);";
s.op->newline() << "REG_IP(regs) = kprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline() << "return 0;";
@@ -4447,6 +4457,8 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it would in the actual user
// task when calling real probe handler. Reset IP regs on return, so
// we don't confuse uprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long uprobes_ip = REG_IP(c->regs);";
@@ -4454,6 +4466,9 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sups->ph) (c);";
s.op->newline() << "REG_IP(regs) = uprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline(-1) << "}";
@@ -4470,6 +4485,8 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it would in the actual user
// task when calling real probe handler. Reset IP regs on return, so
// we don't confuse uprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long uprobes_ip = REG_IP(c->regs);";
@@ -4477,6 +4494,9 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sups->ph) (c);";
s.op->newline() << "REG_IP(regs) = uprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline(-1) << "}";
@@ -4970,6 +4990,8 @@ kprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it wouldn't have been replaced
// by a breakpoint instruction when calling real probe handler. Reset
// IP regs on return, so we don't confuse kprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long kprobes_ip = REG_IP(c->regs);";
@@ -4977,6 +4999,9 @@ kprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sdp->ph) (c);";
s.op->newline() << "REG_IP(regs) = kprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline() << "return 0;";
@@ -5004,6 +5029,8 @@ kprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
// Make it look like the IP is set as it wouldn't have been replaced
// by a breakpoint instruction when calling real probe handler. Reset
// IP regs on return, so we don't confuse kprobes. PR10458
+ // But only for architectures where REG_IP is a proper lvalue. PR10491
+ s.op->newline() << "#ifdef REG_IP_LVALUE";
s.op->newline() << "{";
s.op->indent(1);
s.op->newline() << "unsigned long kprobes_ip = REG_IP(c->regs);";
@@ -5011,6 +5038,9 @@ kprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "(*sdp->ph) (c);";
s.op->newline() << "REG_IP(regs) = kprobes_ip;";
s.op->newline(-1) << "}";
+ s.op->newline() << "#else";
+ s.op->newline() << "(*sdp->ph) (c);";
+ s.op->newline() << "#endif";
common_probe_entryfn_epilogue (s.op);
s.op->newline() << "return 0;";
diff --git a/testsuite/lib/systemtap.exp b/testsuite/lib/systemtap.exp
index 76fd57bd..82afb6b7 100644
--- a/testsuite/lib/systemtap.exp
+++ b/testsuite/lib/systemtap.exp
@@ -26,6 +26,29 @@ proc utrace_p {} {
}
+proc uprobes_p {} {
+ global env
+ if {! [utrace_p]} {
+ return 0
+ }
+ set uprobes $env(SYSTEMTAP_RUNTIME)/uprobes
+ set res [catch "exec make -q -C $uprobes uprobes.ko" output]
+ if {$res != 0} {
+ if {! [installtest_p]} {
+ # build as user in the source tree
+ verbose -log "exec make -C $uprobes"
+ set res [catch "exec make -C $uprobes" output]
+ verbose -log "OUT $output"
+ verbose -log "RC $res"
+ } else {
+ # build as root in the installed location
+ set res [as_root "make -C $uprobes"]
+ }
+ }
+ if {$res == 0} { return 1 } else { return 0 }
+}
+
+
proc print_systemtap_version {} {
set version [exec /bin/uname -r]
set location "/boot/vmlinux-$version"
diff --git a/testsuite/systemtap.base/bz10078.exp b/testsuite/systemtap.base/bz10078.exp
index cad3a3a8..8928a078 100644
--- a/testsuite/systemtap.base/bz10078.exp
+++ b/testsuite/systemtap.base/bz10078.exp
@@ -3,7 +3,7 @@ set test bz10078
catch {exec gcc -g -o $test $srcdir/$subdir/$test.c} err
if {$err == "" && [file exists $test]} then { pass "$test compile" } else { fail "$test compile" }
-if {![utrace_p]} {
+if {![uprobes_p]} {
catch {exec rm -f $test}
untested "$test -p4"
untested "$test -p5"
@@ -19,9 +19,7 @@ if {! [installtest_p]} {
return
}
-# Pick up the stap being tested.
-set stapexe [exec /usr/bin/which stap]
-spawn sudo $stapexe $srcdir/$subdir/$test.stp -c ./$test
+spawn stap $srcdir/$subdir/$test.stp -c ./$test
set ok 0
expect {
-timeout 60
diff --git a/testsuite/systemtap.base/bz10294.c b/testsuite/systemtap.base/bz10294.c
new file mode 100644
index 00000000..1ea9a0d9
--- /dev/null
+++ b/testsuite/systemtap.base/bz10294.c
@@ -0,0 +1,21 @@
+int func_a(int a)
+{
+ a = a + 1;
+ return a;
+}
+
+
+int func_b(int b)
+{
+ b = b + 2;
+ return b;
+}
+
+int main()
+{
+ int a;
+
+ a = func_a(1);
+ a = a + func_b(a);
+ return 0;
+}
diff --git a/testsuite/systemtap.base/bz10294.stp b/testsuite/systemtap.base/bz10294.stp
new file mode 100644
index 00000000..0a18c45f
--- /dev/null
+++ b/testsuite/systemtap.base/bz10294.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+probe process("./bz10294").statement("*@bz10294.c:10-10") {
+ printf("ok")
+}
diff --git a/testsuite/systemtap.base/bz6850.exp b/testsuite/systemtap.base/bz6850.exp
index 32ecdaf5..1b88ac10 100644
--- a/testsuite/systemtap.base/bz6850.exp
+++ b/testsuite/systemtap.base/bz6850.exp
@@ -3,7 +3,7 @@ set test bz6850
catch {exec gcc -g -o bz6850 $srcdir/$subdir/bz6850.c} err
if {$err == "" && [file exists bz6850]} then { pass "$test compile" } else { fail "$test compile" }
-if {![utrace_p]} {
+if {![uprobes_p]} {
catch {exec rm -f $test}
untested "$test -p4"
untested "$test -p5"
@@ -19,9 +19,7 @@ if {! [installtest_p]} {
return
}
-# Pick up the stap being tested.
-set stapexe [exec /usr/bin/which stap]
-spawn sudo $stapexe $srcdir/$subdir/bz6850.stp -c ./bz6850
+spawn stap $srcdir/$subdir/bz6850.stp -c ./bz6850
expect {
-timeout 60
-re {[^\r\n]*called\r\n} { exp_continue }
diff --git a/testsuite/systemtap.base/bz6905.exp b/testsuite/systemtap.base/bz6905.exp
deleted file mode 100644
index 8119159e..00000000
--- a/testsuite/systemtap.base/bz6905.exp
+++ /dev/null
@@ -1,25 +0,0 @@
-set test bz6905
-
-catch {exec gcc -g -o $test $srcdir/$subdir/$test.c} err
-if {$err == "" && [file exists $test]} then { pass "$test compile" } else { fail "$test compile" }
-
-if {![utrace_p]} {
- catch {exec rm -f $test}
- untested "$test -p2"
- return
-}
-
-set stapexe [exec /usr/bin/which stap]
-spawn sudo $stapexe -p2 $srcdir/$subdir/$test.stp
-set hint 0
-set probes 0
-expect {
- -timeout 60
- -re "# probes" { incr hint; exp_continue }
- -re {process.*statement.*} { incr probes; exp_continue }
- timeout { fail "$test (timeout)" }
- eof { }
-}
-wait
-if { $hint == 1 && $probes > 0 } then { pass "$test -p2" } else { fail "$test -p2 ($probes)" }
-exec rm -f $test
diff --git a/testsuite/systemtap.base/statement.exp b/testsuite/systemtap.base/statement.exp
new file mode 100644
index 00000000..d8fce8d8
--- /dev/null
+++ b/testsuite/systemtap.base/statement.exp
@@ -0,0 +1,38 @@
+set test bz6905
+
+catch {exec gcc -g -o $test $srcdir/$subdir/$test.c} err
+if {$err == "" && [file exists $test]} then { pass "$test compile" } else { fail "$test compile" }
+
+spawn stap -p2 $srcdir/$subdir/$test.stp
+set hint 0
+set probes 0
+expect {
+ -timeout 60
+ -re "# probes" { incr hint; exp_continue }
+ -re {process.*statement.*} { incr probes; exp_continue }
+ timeout { fail "$test (timeout)" }
+ eof { }
+}
+wait
+if { $hint == 1 && $probes > 0 } then { pass "$test -p2" } else { fail "$test -p2 ($probes)" }
+exec rm -f $test
+
+set test bz10294
+
+catch {exec gcc -g -o $test $srcdir/$subdir/$test.c} err
+if {$err == "" && [file exists $test]} then { pass "$test compile" } else { fail "$test compile" }
+
+spawn stap -p2 $srcdir/$subdir/$test.stp
+set hint 0
+set probes 0
+expect {
+ -timeout 60
+ -re "# probes" { incr hint; exp_continue }
+ -re {process.*statement.*} { incr probes; exp_continue }
+ timeout { fail "$test (timeout)" }
+ eof { }
+}
+wait
+if { $hint == 1 && $probes == 1 } then { pass "$test -p2" } else { fail "$test -p2 ($probes)" }
+exec rm -f $test
+
diff --git a/testsuite/systemtap.base/uprobes.exp b/testsuite/systemtap.base/uprobes.exp
index 6344cbf0..bdd620b3 100644
--- a/testsuite/systemtap.base/uprobes.exp
+++ b/testsuite/systemtap.base/uprobes.exp
@@ -18,7 +18,7 @@ if [file exists $path] then { pass "$test prep" } else { fail "$test prep" }
catch {exec gcc -g -o jennie jennie.c} err
if {$err == "" && [file exists jennie]} then { pass "$test compile" } else { fail "$test compile" }
-if {![utrace_p]} {
+if {! [uprobes_p]} {
untested "$test -p4"; untested "$test -p5"
catch {exec rm -f jennie.c jennie}
return
@@ -33,9 +33,7 @@ if {! [installtest_p]} {
return
}
-# Pick up the stap being tested.
-set stapexe [exec /usr/bin/which stap]
-spawn sudo $stapexe $srcdir/$subdir/uprobes.stp -w -c "./jennie 1 2 3 4"
+spawn stap $srcdir/$subdir/uprobes.stp -w -c "./jennie 1 2 3 4"
set ok 0
expect {
-re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*argc=0x[1-5][^\r\n]*\r\n} { incr ok; exp_continue }
diff --git a/testsuite/systemtap.printf/end1b.exp b/testsuite/systemtap.printf/end1b.exp
index 46cdc9c7..c3c9d4cf 100644
--- a/testsuite/systemtap.printf/end1b.exp
+++ b/testsuite/systemtap.printf/end1b.exp
@@ -18,24 +18,24 @@ if {[catch {exec mktemp -t staptestXXXXXX} tmpfile]} {
if {[catch {exec stap -b -o $tmpfile $test} res]} {
puts "stap failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {eval [list exec $stap_merge_path -o $tmpfile] [glob "${tmpfile}_*"]} res]} {
puts "merge failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {exec cmp $tmpfile $srcdir/$subdir/large_output} res]} {
puts "$res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
pass $TEST_NAME
-as_root "/bin/rm -f [glob ${tmpfile}*]"
+eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
diff --git a/testsuite/systemtap.printf/mixed_outb.exp b/testsuite/systemtap.printf/mixed_outb.exp
index c15520b1..1225f9ce 100644
--- a/testsuite/systemtap.printf/mixed_outb.exp
+++ b/testsuite/systemtap.printf/mixed_outb.exp
@@ -18,24 +18,24 @@ if {[catch {exec mktemp -t staptestXXXXXX} tmpfile]} {
if {[catch {exec stap -DMAXACTION=100000 -b -o $tmpfile $test} res]} {
fail $TEST_NAME
puts "stap failed: $res"
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {eval [list exec $stap_merge_path -o $tmpfile] [glob "${tmpfile}_*"]} res]} {
puts "merge failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {exec cmp $tmpfile $srcdir/$subdir/large_output} res]} {
puts "$res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
pass $TEST_NAME
-as_root "/bin/rm -f [glob ${tmpfile}*]"
+eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
diff --git a/testsuite/systemtap.printf/out1b.exp b/testsuite/systemtap.printf/out1b.exp
index 24efbf4c..d09dadef 100644
--- a/testsuite/systemtap.printf/out1b.exp
+++ b/testsuite/systemtap.printf/out1b.exp
@@ -18,24 +18,24 @@ if {[catch {exec mktemp -t staptestXXXXXX} tmpfile]} {
if {[catch {exec stap -b -o $tmpfile $test} res]} {
fail $TEST_NAME
puts "stap failed: $res"
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {eval [list exec $stap_merge_path -o $tmpfile] [glob "${tmpfile}_*"]} res]} {
puts "merge failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {exec cmp $tmpfile $srcdir/$subdir/large_output} res]} {
puts "$res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
pass $TEST_NAME
-as_root "/bin/rm -f [glob ${tmpfile}*]"
+eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
diff --git a/testsuite/systemtap.printf/out2b.exp b/testsuite/systemtap.printf/out2b.exp
index 70a98ea2..bb732c42 100644
--- a/testsuite/systemtap.printf/out2b.exp
+++ b/testsuite/systemtap.printf/out2b.exp
@@ -18,24 +18,24 @@ if {[catch {exec mktemp -t staptestXXXXXX} tmpfile]} {
if {[catch {exec stap -b -o $tmpfile $test} res]} {
fail $TEST_NAME
puts "stap failed: $res"
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {eval [list exec $stap_merge_path -o $tmpfile] [glob "${tmpfile}_*"]} res]} {
puts "merge failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {exec cmp $tmpfile $srcdir/$subdir/large_output} res]} {
puts "$res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
pass $TEST_NAME
-as_root "/bin/rm -f [glob ${tmpfile}*]"
+eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
diff --git a/testsuite/systemtap.printf/out3b.exp b/testsuite/systemtap.printf/out3b.exp
index d49625e9..5d82512a 100644
--- a/testsuite/systemtap.printf/out3b.exp
+++ b/testsuite/systemtap.printf/out3b.exp
@@ -18,24 +18,24 @@ if {[catch {exec mktemp -t staptestXXXXXX} tmpfile]} {
if {[catch {exec stap -DMAXACTION=100000 -b -o $tmpfile $test} res]} {
fail $TEST_NAME
puts "stap failed: $res"
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {eval [list exec $stap_merge_path -o $tmpfile] [glob "${tmpfile}_*"]} res]} {
puts "merge failed: $res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
if {[catch {exec cmp $tmpfile $srcdir/$subdir/large_output} res]} {
puts "$res"
fail $TEST_NAME
- as_root "/bin/rm -f [glob ${tmpfile}*]"
+ eval [list exec /bin/rm -f] [glob "${tmpfile}*"]
return
}
pass $TEST_NAME
-as_root "/bin/rm -f [glob ${tmpfile}*]"
+eval [list exec /bin/rm -f] [glob "${tmpfile}*"]