| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
* testsuite/systemtap.base/sdt.exp: Better cleanup.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Both kernel.function and kprobe.function were defining a global array
stap_unreg_kprobes to use in bulk kprobes unregistration. The compiler
allowed the duplicate definition as long as they were the same size, as
it was when exercised in buildok/thirtyone.
kprobe.function now uses a separate stap_unreg_kprobes2, and the
testcase is modified to produce an imbalanced number of probes.
|
|
|
|
|
|
| |
When a kernel.function or kprobe.function fails in registration, we
usually print a WARNING and move on. With this patch, kprobes that have
the optional '?' flag will not print any WARNING.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, _stp_init_time and _stp_kill_time were being called from
begin/end/error probes, which will run with preemption disabled. The
BUG reported on RT kernels showed that cpufreq_unregister_notifier can
end up sleeping, which violates our preemption block.
This patch moves the init/kill into systemtap_module_init/exit, where it
is safe to sleep. The code maintains a new predicate with the define
STAP_NEED_GETTIMEOFDAY, so we don't still incur any timer overhead if
it's not used.
|
|/ |
|
|
|
|
|
|
|
|
| |
* runtime/itrace.c (usr_itrace_report_signal): Add a workaround for
ppc-specific problem.
* testsuite/systemtap.base/itrace.exp: Improved tests. Improved test
completeness. Will also no longer give fails for systems that don't
support single or block step (will give xfails instead).
|
|\ |
|
| |
| |
| |
| |
| | |
It's not a terribly clean split, but moving it helps reveals some of the
knots that need to be untangled.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Works around a make installcheck issue that resulted in skipped.exp failing
because of "ERROR: can't set "cpus": variable is array"
* testsuite/systemtap.base/skipped.exp: Renamed cpus variable to nr_cpus.
|
| |
| |
| |
| |
| |
| |
| |
| | |
In an make installcheck run this is the first script that goes through
the full kernel debuginfo which might take a bit.
* testsuite/systemtap.base/alternatives.exp: Set timeout to 60, verbose
log EOF or TIMEOUT when they occur.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* testsuite/parseko/cmdline17.stp:
command line check - bad combination with -D and -L
* testsuite/parseko/cmdline18.stp:
command line check - bad combination with -D and -d
* testsuite/parseko/cmdline19.stp:
command line check - bad combination with -D and -c
* testsuite/parseko/cmdline20.stp:
command line check - need output file with -D
* testsuite/parseko/cmdline21.stp:
command line check - need output file with -S
* testsuite/systemtap.base/flightrec3.exp:
New test case for file switching with bulk mode
* testsuite/systemtap.base/flightrec3.stp:
Test script for file switching per cpu
|
|/
|
|
|
| |
* testsuite/buildok/tcp_test.stp (tcp.sendmsg): Use sock for testing.
(tcp.recvmsg): Likewise.
|
|\ |
|
| | |
|
|/ |
|
|
|
|
|
|
| |
We have the saved_conversion_error field, but I wasn't using it. Now
@cast errors are saved in that field, so they're only seen if the
optimizer doesn't remove the @cast.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous code recursed the entirety of translate_components, and
it seemed to be restarting the components list every time, so it would
only work if the anonymous portion was the first component. Even then,
examining the code output by semok/thirtythree revealed that it wasn't
fully translating the locations when multiple anonymous pieces were
involved.
Instead, it now recurses in a separate function, find_struct_member,
which does just enough to find the member die and return. It also
builds a vector of the locations passed through, so translate_components
can output code for the full chain of anonymity.
The generated code for semok/thirtythree's $page->mapping now appears to
match the offsets from my manual inspection of struct page. I also
added a test for $page->first_page->mapping, which works now but would
segfault the old code.
|
|
|
|
|
|
|
|
|
|
| |
The test was using optional probes on uptime_read_proc, which doesn't
exist anymore on 2.6.30. The problem is that when those optional probes
are skipped, the test doesn't really do anything.
For a buildok test of the context functions, the actual probe point
doesn't matter, so I've changed it to just a begin probe that calls all
of the functions.
|
| |
|
|
|
|
| |
Reported-By: Petr Muller <pmuller@redhat.com>
|
|
|
|
| |
HAVE_NSS related compile time warning.
|
|
|
|
|
|
|
|
|
| |
This patch will make stap silently accept the
failure related to optional probe. It puts try/catch
around find_and_build which can cover most probe types.
The specific treatment for dwarf_derived_probe in
commit ed82b7c902d6a2e26452ec51c9cdb9665dbf9e97 is
reverted.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
This reverts commit 97d1fa6e24d8d4e8ceefc62f0d4a7f93a18e4125.
|
| | |
|
|\| |
|
| |
| |
| |
| | |
Patch from Prerna Saxena.
|
| |
| |
| |
| |
| |
| |
| |
| | |
+ and * are metacharacters, but should always be used
as metacharacters in the expressions, don't escape them.
* testsuite/systemtap.syscall/test.tcl (run_one_test): Remove escaping
of + and *.
|
| |
| |
| |
| | |
* testsuite/systemtap.base/alternatives.exp (local1_script): Fix typo.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The syscall testsuite uses embedded "// TEXT" markers in the .c files
to designate expected output, kind of like the "dg-" bunch in the gcc
test suite. Unfortunately, "//" is not a unique prefix to systemtap
tests, and in particular it can occur in the system headers that will
be picked up with the "gcc -E -C ..." invocation in test.tcl.
So let's switch to "//staptest//". test.tcl is also modified to
escape a few more mischevious regexp metacharacters that might sneak
past.
|
| | |
|
|/ |
|
|
|
|
| |
While there, fix minor issues with the s390x syscall tapset.
|
|
|
|
|
|
|
|
| |
Using timeval had problems on big-endian multi-arch platforms (ppc64),
because the user tv_sec used in the @cast didn't match the kernel tv_sec
used to provide a pointer. Hopefully reading from a sockaddr should be
more robust, as that type doesn't appear to need any compat wrappers for
multi-archs.
|
|
|
|
|
|
|
| |
* testsuite/systemtap.base/flightrec2.exp: Use stat instead of ls for checking
file size.
* testsuite/systemtap.base/flightrec2.stp: Increase timer interval for some
architecture on which the minimum interval is more than 1 ms (e.g. xen)
|
|
|
|
|
|
| |
* elaborate.cxx: Early return for mismatched optional probe.
* testsuite/systemtap.base/optionalprobe.exp: New test case.
* testsuite/systemtap.base/optionalprobe.stp: Ditto.
|
| |
|
|
|
|
| |
... rather than exiting with MAXACTIONS exceeded
|
|
|
|
|
|
|
|
|
|
| |
This patch will make %M directive dump the variable width
buffer in hex format instead of returning uint64_t number
as before.
* runtime/vsprintf.c: Modify %M directive.
* stap.1.in: Update description.
* testsuite/systemtap.printf/memory1.stp: Add test case.
|
|
|
|
|
|
| |
* tapset/string.stp: New function stringat.
* testsuite/systemtap.printf/char1.exp: Update test case.
* testsuite/systemtap.printf/char1.stp: Ditto.
|
|
|
|
|
| |
* tapsets.cxx (kprobe_derived_probe): Use enter_k[ret]probe>>2<<_probe.
* testsuite/buildok/thirtyone.stp: Test this.
|
|
|
|
|
|
|
|
|
|
| |
All of our other kprobe types will let the script continue after a
registration failure, as per PR6749. The dwarfless kprobes should be
no exception.
Also, the way they were exiting was causing an unclean shutdown, so I
added tests to badkprobe.exp to make sure that cleanup is always allowed
to run.
|
| |
|