diff options
author | fche <fche> | 2007-06-06 00:40:13 +0000 |
---|---|---|
committer | fche <fche> | 2007-06-06 00:40:13 +0000 |
commit | e41b2484eaf36459eb9e80080c1ec3da277c9e36 (patch) | |
tree | 2dcdc4699b53353ce376ff08709e4bf223502d11 /testsuite/systemtap.base | |
parent | 357081d3ced4beb537cd1ec49ae71e8a8de2db64 (diff) | |
download | systemtap-steved-e41b2484eaf36459eb9e80080c1ec3da277c9e36.tar.gz systemtap-steved-e41b2484eaf36459eb9e80080c1ec3da277c9e36.tar.xz systemtap-steved-e41b2484eaf36459eb9e80080c1ec3da277c9e36.zip |
2007-06-05 Frank Ch. Eigler <fche@redhat.com>
PR 3331.
* loc2c.c (emit_base_fetch): Emit size/signedness cast
for every low-level fetch.
(translate_base_fetch, c_translate_fetch, c_translate_store,
c_translate_pointer): Fetch & pass the $target signedness.
2007-06-05 Frank Ch. Eigler <fche@elastic.org>
PR 3331.
* systemtap.base/deref2.*: New test, disabled.
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/deref2.exp | 29 | ||||
-rw-r--r-- | testsuite/systemtap.base/deref2.stp | 9 |
2 files changed, 38 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/deref2.exp b/testsuite/systemtap.base/deref2.exp new file mode 100644 index 00000000..6ee85d10 --- /dev/null +++ b/testsuite/systemtap.base/deref2.exp @@ -0,0 +1,29 @@ +set test "deref2" + +# XXX: the load-generation code below doesn't trigger reliably under dejagnu +untested $test; continue + + +if {![installtest_p]} { untested $test; continue } + +# This is asking perl to consume all of its file handles with sockets. +# When there are no more, sock_alloc_fd will start returning errors (negatives). +set load_gen_cmd {perl -e {use Socket; while ($i < 65536) { $i++; socket $Foo[$i], AF_UNIX, SOC_STREAM, PF_UNSPEC;} print "Toodaloo\n"; }} + +spawn stap $srcdir/$subdir/deref2.stp + +set pos 0 +set neg 0 +expect { + start\r\n { + catch { eval exec $load_gen_cmd } + verbose -log "starting loadgen" + } + pos\r\n { verobse -log "pos"; incr pos; exp_continue } + neg\r\n { verbose -log "neg"; incr neg; exp_continue } + eof { } + timeout { } +} +wait + +if {$neg > 0} { pass "$test ($pos $neg)" } else { fail "$test ($pos $neg)" } diff --git a/testsuite/systemtap.base/deref2.stp b/testsuite/systemtap.base/deref2.stp new file mode 100644 index 00000000..aa59490c --- /dev/null +++ b/testsuite/systemtap.base/deref2.stp @@ -0,0 +1,9 @@ +# PR 3331 + +# It's just an ordinary function that returns a 4-byte signed value, +# even on a 64-bit hosts. +probe kernel.function("sock_alloc_fd").return { + log ($return < 0 ? "neg" : "pos") +} +probe timer.s (5) { exit () } +probe begin { log ("start") }
\ No newline at end of file |