]> sourceware.org Git - systemtap.git/log
systemtap.git
7 years agoImprove externalval.exp test for gcc 7.
David Smith [Wed, 8 Feb 2017 16:51:52 +0000 (10:51 -0600)]
Improve externalval.exp test for gcc 7.

* testsuite/systemtap.base/externalvar.c: Add asm() statements so that gcc
  won't optimize the external variables away.
* testsuite/systemtap.base/externalvar_lib.c: Ditto.

7 years agoUpdate systemtap.pass1-4/buildok-dyninst.exp.
David Smith [Tue, 7 Feb 2017 20:55:50 +0000 (14:55 -0600)]
Update systemtap.pass1-4/buildok-dyninst.exp.

* testsuite/systemtap.pass1-4/buildok-dyninst.exp: Add a KFAIL for
  defined-entry.stp, since it only uses kernel probes.

7 years agoUpdate tracepoint finding logic for linux 4.10.
David Smith [Tue, 7 Feb 2017 20:13:42 +0000 (14:13 -0600)]
Update tracepoint finding logic for linux 4.10.

* tapsets.cxx (tracepoint_extra_decls): Update for the 4.10 linux kernel.

7 years agoUpdate systemtap.base/utf_kernel_trunc.exp test case for gcc 7.
David Smith [Tue, 7 Feb 2017 16:01:22 +0000 (10:01 -0600)]
Update systemtap.base/utf_kernel_trunc.exp test case for gcc 7.

* testsuite/systemtap.base/utf_kernel_trunc.exp: Lengthen MAXSTRINGLEN
  value to 41 characters to ensure that systemtap's error buffer is large
  enough to handle the "read fault" error messages (for
  example). Otherwise the test will fail when gcc 7 rightly complains that
  the error buffer isn't big enough.
* testsuite/systemtap.base/utf_kernel_trunc.stp: Ditto.

7 years agoAdd some minor fixes to systemtap.base/auto_path.exp.
David Smith [Tue, 7 Feb 2017 15:32:35 +0000 (09:32 -0600)]
Add some minor fixes to systemtap.base/auto_path.exp.

* testsuite/systemtap.base/auto_path.exp: Improve test case by lenghening
  some timeout values.

7 years agocallees test case: pass "stap --ldd ..."
Frank Ch. Eigler [Mon, 6 Feb 2017 15:47:39 +0000 (10:47 -0500)]
callees test case: pass "stap --ldd ..."

... to make it more likely to have enough backtracing data through
glibc if needed.

7 years agopython testsuite: typo fix
Frank Ch. Eigler [Mon, 6 Feb 2017 11:36:57 +0000 (06:36 -0500)]
python testsuite: typo fix

7 years agoruntime: suppress a gcc7 warning
Frank Ch. Eigler [Sun, 5 Feb 2017 19:11:32 +0000 (14:11 -0500)]
runtime: suppress a gcc7 warning

A signed-overflow warning is emitted by gcc7 for former code related
in _stp_vsprint_binary.  A few more conditions make the warning go.

7 years agoPR21063 cont'd: dtrace.in $CFLAGS filtering
Frank Ch. Eigler [Sat, 4 Feb 2017 23:41:32 +0000 (18:41 -0500)]
PR21063 cont'd: dtrace.in $CFLAGS filtering

Passing $CFLAGS with embedded \" sequences is OK, so tune the previous
CFLAGS sanitization logic to nuke only backslash-newline sequences.
Modified dtrace.exp test covers this case as well as previous one.

7 years agoFix PR21105 by updating 2 syscall test cases.
David Smith [Fri, 3 Feb 2017 22:09:00 +0000 (16:09 -0600)]
Fix PR21105 by updating 2 syscall test cases.

* testsuite/systemtap.syscall/getrlimit.c: Handle glibc substituting
  prlimit64() for getrlimit()/setrlimit().
* testsuite/systemtap.syscall/lseek.c: Handle glibc substituting
  llseek() for lseek().

7 years agoUpdate syscall probes and test cases.
David Smith [Thu, 2 Feb 2017 22:21:16 +0000 (16:21 -0600)]
Update syscall probes and test cases.

* tapset/linux/sysc_dup2.stp: Added a 'flags_str' variable to match the
  dup3 syscall probes.
* tapset/linux/sysc_fadvise64.stp: Added a 'advice_str' variable.
* tapset/linux/sysc_accept.stp: Fix addressing error by adding @cast().
* tapset/linux/sysc_accept4.stp: Ditto.
* tapset/linux/sysc_bind.stp: Ditto.
* tapset/linux/sysc_connect.stp: Ditto.
* tapset/linux/sysc_getpeername.stp: Ditto.
* tapset/linux/sysc_getsockname.stp: Ditto.
* tapset/linux/sysc_recv.stp: Ditto.
* tapset/linux/sysc_recvfrom.stp: Ditto.
* tapset/linux/sysc_recvmsg.stp: Ditto.
* tapset/linux/sysc_send.stp: Ditto.
* tapset/linux/sysc_sendmmsg.stp: Ditto.
* tapset/linux/sysc_sendmsg.stp: Ditto.
* tapset/linux/sysc_sendto.stp: Ditto.
* tapset/linux/sysc_setsockopt.stp: Ditto.
* tapset/linux/sysc_shutdown.stp: Ditto.
* tapset/linux/sysc_socket.stp: Ditto.
* testsuite/buildok/syscalls-detailed.stp: Fix a few printf statements.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.

7 years agoFix PR21102 by updating the ioblock tapset.
David Smith [Thu, 2 Feb 2017 18:25:14 +0000 (12:25 -0600)]
Fix PR21102 by updating the ioblock tapset.

* tapset/linux/ioblock.stp: Update tapset for newer kernels. Upstream
  kernel commits (like commit 1eff9d322a444245c67515edb52bc0eb68374aa8)
  renamed and reworked the 'bi_rw' field of the bio structure.

7 years agoPR21101: Fix gcc7 'duplicate-decl-specifier' and 'format-truncation' errors.
David Smith [Thu, 2 Feb 2017 15:08:57 +0000 (09:08 -0600)]
PR21101: Fix gcc7 'duplicate-decl-specifier' and 'format-truncation' errors.

* tapset/linux/aux_syscalls.stp: Fix gcc7 'duplicate-decl-specifier'
  and 'format-truncation' errors
* tapset/linux/arm/aux_syscalls.stp: Fix gcc7 'duplicate-decl-specifier'
  errors.
* tapset/linux/arm64/aux_syscalls.stp: Ditto.
* tapset/linux/i386/aux_syscalls.stp: Ditto.
* tapset/linux/ia64/aux_syscalls.stp: Ditto.
* tapset/linux/powerpc/aux_syscalls.stp: Ditto.
* tapset/linux/s390/aux_syscalls.stp: Ditto.
* tapset/linux/x86_64/aux_syscalls.stp: Ditto.

7 years agoPR20333 - The NEWS file entry.
Martin Cermak [Thu, 2 Feb 2017 10:06:50 +0000 (11:06 +0100)]
PR20333 - The NEWS file entry.

7 years agomerge to master (575fe913f6b6b81421f7bfda7c72ab8c15ecb8e3)
Martin Cermak [Thu, 2 Feb 2017 08:13:40 +0000 (09:13 +0100)]
merge to master (575fe913f6b6b81421f7bfda7c72ab8c15ecb8e3)

7 years agoFix -Wimplicit-fallthrough build errors
Lukas Berk [Mon, 30 Jan 2017 15:14:24 +0000 (10:14 -0500)]
Fix -Wimplicit-fallthrough build errors

GCC7 will now error implicit fallthrough's as per sourceware.org/PR7652

7 years agoUpdated a comment in runtime/time.c.
David Smith [Thu, 26 Jan 2017 15:25:32 +0000 (09:25 -0600)]
Updated a comment in runtime/time.c.

7 years agoPR20672 prime: prevent python $var infinitely recursive expansion
Frank Ch. Eigler [Thu, 26 Jan 2017 13:10:53 +0000 (08:10 -0500)]
PR20672 prime: prevent python $var infinitely recursive expansion

The new python expanding visitors take probe-python bodies and intend
to generate probe-process bodies, expanding python $var references to
uprobe marker $var ones.  During the expansion process however, the
code can get confused as to whether the new $arg3 is fish or foul.
If asked, it will map $arg3 -> foo($arg3, "arg3"), then recurse,
which is a recipe for stack exhaustion.

So now we map the generated $arg3 with a new hacky target_symbol flag,
"synthetic", to prevent infinite recursion there.  (Note that using
the recently added abort_provide() response from the expander is not
enough, because an outer relaxation loop would then trigger infinite
looping rather than infinite recursion.)

A better solution could be to have a *not-in-place* rewriting visitor,
so that the output tree is never reprocessed by the invoking visitor.

7 years agoAdd timestamp to nfsd-trace.stp example.
David Smith [Wed, 25 Jan 2017 19:39:57 +0000 (13:39 -0600)]
Add timestamp to nfsd-trace.stp example.

* testsuite/systemtap.examples/network/nfsd-trace.stp: Add timestamp.

7 years agoPR20627: rework several code rewriting passes
Frank Ch. Eigler [Wed, 25 Jan 2017 15:00:11 +0000 (10:00 -0500)]
PR20627: rework several code rewriting passes

The translator depends on some staptree rewriting passes not only for
optimization but also for correctness.

The @defined() construct is one where its timely execution and
implication handling is important, so that other constructs protected
by false-valued if(@defined()) guards are not even processed.  In
other places, @defined() nodes are collapsed to zero under heuristic
conditions.  This has all been a mash of uncomfortable probe-specific
and probe-independent code, running the same visitors in different
modes at different times, looping or not.

So we take a step forward in recognizing that some visitors
necessarily operate partially, and must be rerun, interleaved with
others.  New functions in tapsets.h:

update_visitor_loop() -- given a vector of update_visitors, loop till relaxed
var_expand_const_fold_loop() -- same specialized to const-folder

... are now used from general elaborator driver as well as
probe-derivation logic.  Some heuristic code regarding @defined()
can be removed.

This extends the update_visitor base template with its own notion of
relaxed-ness, which is naturally that if a staptree node/pointer has
been replaced (changed to a different value) during the visiting
traversal, then it is -not- relaxed yet, and this is saved in a new
instance variable.  (A reset() function resets this so the same
visitor object can be reused.)

This makes it unnecessary to track count_replaced_defined_ops()
separately.  It should make it possible to drop some other bool& flags
in some other older optimization passes; this is left for later.

7 years agotestsuite: tweak bz1027459
Frank Ch. Eigler [Wed, 25 Jan 2017 15:36:57 +0000 (10:36 -0500)]
testsuite: tweak bz1027459

On a multi-CPU box, it's possible for two syscall.* probes to start
firing at the same time, this print two or more "hi"s, before the
exit() stops further new probes.

7 years agotestsuite: more adaptation to $var -> @entry($var) in .return probes
Frank Ch. Eigler [Wed, 25 Jan 2017 11:46:41 +0000 (06:46 -0500)]
testsuite: more adaptation to $var -> @entry($var) in .return probes

... and miscellaneous quickie fixes

7 years agotestsuite infrastructure: change stap_run api
Frank Ch. Eigler [Mon, 16 Jan 2017 15:58:41 +0000 (10:58 -0500)]
testsuite infrastructure: change stap_run api

... add another .exp straggler

7 years agoUpdate lookup_bad_addr() to avoid a kernel warning.
David Smith [Tue, 24 Jan 2017 16:44:12 +0000 (10:44 -0600)]
Update lookup_bad_addr() to avoid a kernel warning.

* runtime/linux/addr-map.c (lookup_bad_addr): Handle kernel commit
  7c4788950ba which adds a kernel warning if access_ok() is called when
  not in task context.

7 years agosystemtap.spec: switch to pkgconfig(LIB) buildreq syntax
Frank Ch. Eigler [Mon, 23 Jan 2017 15:34:47 +0000 (10:34 -0500)]
systemtap.spec: switch to pkgconfig(LIB) buildreq syntax

Instead of buildrequiring the pkgconfig package per se and the various
LIBFOO-devel, switch to the fedora-preferred pkgconfig(LIB) syntax.

7 years agodtrace wrapper: tolerate \ \n etc. in $CFLAGS
Frank Ch. Eigler [Sat, 21 Jan 2017 22:58:48 +0000 (17:58 -0500)]
dtrace wrapper: tolerate \ \n etc. in $CFLAGS

A user reports that some rpmbuild make jobs can cause embedded
wackiness like \ characters in $CFLAGS.  Nuke them.

7 years agonew example: nfsd-trace.stp
Frank Ch. Eigler [Fri, 20 Jan 2017 23:28:07 +0000 (18:28 -0500)]
new example: nfsd-trace.stp

Traces nfsd operations, with file names.

7 years agoPR21065: dtrace .d usdt parser: tolerate probe ... (...) : (...); syntax
Frank Ch. Eigler [Fri, 20 Jan 2017 23:15:44 +0000 (18:15 -0500)]
PR21065: dtrace .d usdt parser: tolerate probe ... (...) : (...); syntax

Allow our /usr/bin/dtrace-impersonating usdt-.d file parser to take in
those .d files that use the "arguments passed to probe consumers"
extended syntax:

provider {
    probe FOO (int foo, char *bar) : (int foo, string bar);
}

We just quietly ignore the latter part though, so the systemtap script
sees the application's raw DTRACE_PROBE* argument list.

7 years agoruntime/unwind: don't warn about self-unwinding
Frank Ch. Eigler [Fri, 20 Jan 2017 03:04:48 +0000 (22:04 -0500)]
runtime/unwind: don't warn about self-unwinding

If a kernel backtrace traversed the stap module itself, until this
patch, the runtime emitted a pair of _stp_warn()'s complaining about
not-quite-perfect unwind data.  This is noisy and unhelpful, since a
user can't do anything about it, so we switch over to a dbug(1) type
message.

7 years agosystemtap.spec: add python*-setuptools buildrequires
Frank Ch. Eigler [Thu, 19 Jan 2017 21:28:30 +0000 (16:28 -0500)]
systemtap.spec: add python*-setuptools buildrequires

On some distros, these packages are not in the basic buildroot.

7 years agoHandle F24 dropping ppc64 32-bit exe support in the testsuite.
David Smith [Fri, 20 Jan 2017 19:06:40 +0000 (13:06 -0600)]
Handle F24 dropping ppc64 32-bit exe support in the testsuite.

* testsuite/lib/compile_flags.exp (arch_compile_init): New
  function. Fedora 24 ppc64 has dropped 32-bit exe support. Now on ppc64
  systems, we test the 32-bit support. If it doesn't work (or isn't
  present), assume only 64-bit exe support.
  (arch_compile_flags): For ppc64, return the number of compile flags
  arch_compile_init() determined for this system.
  (arch_compile_flag): Ditto.
* testsuite/lib/systemtap.exp (setup_systemtap_environment): Call
  arch_compile_init().

7 years agoAdd a syscalls macro to the dyninst tapset that the python tapsets use.
David Smith [Thu, 19 Jan 2017 20:43:49 +0000 (14:43 -0600)]
Add a syscalls macro to the dyninst tapset that the python tapsets use.

* tapset/dyninst/syscalls.stpm: New file.

7 years agoAdd python probe documentation to the man pages.
David Smith [Thu, 19 Jan 2017 17:10:31 +0000 (11:10 -0600)]
Add python probe documentation to the man pages.

* man/stapprobes.3stap: Add python probe documentation.
* stapref.1: Ditto.

7 years agoMove and update comment in systemtap.spec.
David Smith [Mon, 16 Jan 2017 18:54:24 +0000 (12:54 -0600)]
Move and update comment in systemtap.spec.

7 years agotweak python helper installation paths
Frank Ch. Eigler [Mon, 16 Jan 2017 18:23:57 +0000 (13:23 -0500)]
tweak python helper installation paths

Since our python helper includes C shared libraries, all the files
(including .egg-info) will get put under %python_sitearch
(/usr/lib64/...) rather than %python_sitelib (/usr/lib/...).

The translate-time stap-resolve-module-function* file belongs in
the -devel subrpm, not -runtime.

7 years agotestsuite infrastructure: change stap_run api
Frank Ch. Eigler [Mon, 16 Jan 2017 15:58:41 +0000 (10:58 -0500)]
testsuite infrastructure: change stap_run api

... add a few testcase .exp stragglers

7 years agoAnnounce python probe support in NEWS.
David Smith [Mon, 16 Jan 2017 15:30:05 +0000 (09:30 -0600)]
Announce python probe support in NEWS.

7 years agoFix the python helper module compiliation.
David Smith [Mon, 16 Jan 2017 15:29:38 +0000 (09:29 -0600)]
Fix the python helper module compiliation.

* python/Makefile.am: Fix a problem where we were using the system's copy
  of sdt.h, instead of the source tree's copy of sdt.h.
* python/Makefile.in: Regenerated.

7 years agotestsuite infrastructure: change stap_run api
Frank Ch. Eigler [Mon, 16 Jan 2017 15:24:45 +0000 (10:24 -0500)]
testsuite infrastructure: change stap_run api

Formerly, the stap_run tcl proc accepted a target stap script file
name both as its first argument, as well as in the general stap
argument list at the end.  It passed the former name as an extra file
name iff it existed in the $srcdir/$testdir.  Some tests happened to
use test names that matched files, so triggered this stap_run
heuristic, even if the .stp files were specified some other way.  This
led to extra stap arguments, leading to "unused $0/@0 ..."  warnings,
leading to test failures.

Now, stap_run never does anything clever with its first parameter - it
just uses it to construct the dejagnu test case id/name.  The .stp
file name (if any - if not using -e SCRIPT for example) is now
expected to be included by the testcase.exp as arguments at the end.

7 years agotweak unused $n/@n warning for argv tapset users
Frank Ch. Eigler [Mon, 16 Jan 2017 15:23:23 +0000 (10:23 -0500)]
tweak unused $n/@n warning for argv tapset users

Use the demangled (original) names in s.globals[] rather than mangled
name to heuristically identify use of the argv tapset (and thus
suppression of the warnings).

7 years agoMerge syscalls with identical 'name' to common files.
Martin Cermak [Mon, 16 Jan 2017 14:52:54 +0000 (15:52 +0100)]
Merge syscalls with identical 'name' to common files.

7 years agoBackport commit 9b7699bf248e86933aed563a10c6c0bf27b22237 from master.
Martin Cermak [Fri, 13 Jan 2017 12:40:16 +0000 (13:40 +0100)]
Backport commit 9b7699bf248e86933aed563a10c6c0bf27b22237 from master.

7 years agoPR20333: Add new convenience variables to the buildok tests.
Martin Cermak [Fri, 13 Jan 2017 10:09:54 +0000 (11:09 +0100)]
PR20333: Add new convenience variables to the buildok tests.

* nd_syscalls2-detailed.stp, syscalls2-detailed.stp: Drop the
  compat_pselect7a versus compat_pselect7 typo handling which was
  systemtap_v <= "1.3".
* nd_syscalls2-detailed.stp: Add nd_syscall.sched_yield and
  nd_syscall.userfaultfd test to align with syscalls2-detailed.stp
* The rest of the changes is adding new convenience variables.

7 years agoPR20333: Fix optionalness for couple of probe aliases.
Martin Cermak [Fri, 13 Jan 2017 09:59:31 +0000 (10:59 +0100)]
PR20333: Fix optionalness for couple of probe aliases.

Update optionalness for probe aliases where underlying probes are
optional.  Identified using buildok/syscall.stp.

7 years agoPR20333: Fix typos, optionalness, split into separate files.
Martin Cermak [Fri, 13 Jan 2017 09:51:59 +0000 (10:51 +0100)]
PR20333: Fix typos, optionalness, split into separate files.

* sysc_futimesat.stp: Fix optionalness, fix tvp_str
* sysc_getcpu.stp: Fix optionalness, separate getcwd out
* sysc_getcwd.stp: New dedicated tapset file
* sysc_inotify_rm_watch.stp: Fix optionalness, separate io_cancel out
* sysc_io_cancel.stp: New dedicated tapset file
* sysc_nanosleep.stp: Fix optionalness, fix req_str

7 years agoAdd support for python 2 unicode objects.
David Smith [Thu, 12 Jan 2017 20:31:29 +0000 (14:31 -0600)]
Add support for python 2 unicode objects.

* tapset/python2.stp: Add support for the unicode type. Move the python
  module list into a macro, so we've only got one copy.
* testsuite/systemtap.python/python2.exp: Expect working unicode strings.

7 years agoRHBZ1412691 - fix kernel mem leak during tapset task_cwd_path()
Kyle Walker [Thu, 12 Jan 2017 15:11:39 +0000 (10:11 -0500)]
RHBZ1412691 - fix kernel mem leak during tapset task_cwd_path()

7 years agoMerge remote-tracking branch 'origin/master' into dsmith/python
David Smith [Wed, 11 Jan 2017 21:10:07 +0000 (15:10 -0600)]
Merge remote-tracking branch 'origin/master' into dsmith/python

7 years agoFix python 3 intermittent dictionary failures.
David Smith [Wed, 11 Jan 2017 21:09:05 +0000 (15:09 -0600)]
Fix python 3 intermittent dictionary failures.

* tapset/python3.stp: Fix intermittent failure with looking up values in
  dictionaries.

7 years agoFix python3 marker issue.
David Smith [Wed, 11 Jan 2017 20:55:33 +0000 (14:55 -0600)]
Fix python3 marker issue.

* python/HelperSDT/_HelperSDT.c (PyInit__HelperSDT): Force the compiler to
  fully resolve the function pointer value.

7 years agoPR21020: allow --compatible=3.0 java probe string $args without leaks
Tetsuo Handa [Wed, 11 Jan 2017 02:38:15 +0000 (21:38 -0500)]
PR21020: allow --compatible=3.0 java probe string $args without leaks

With some extra work, one can track which individual java parameters
were stringified & need free()ing, and which don't.  That way,
--compatible=3.0 java probes can take string arguments again,
leaklessly.

7 years agosyscalls tapset: compat_io_setup $nr_events
Frank Ch. Eigler [Wed, 11 Jan 2017 02:21:15 +0000 (21:21 -0500)]
syscalls tapset: compat_io_setup $nr_events

We should accept $nr_events as well as the $nr_reqs variables
for the same value.

7 years agolinux memory tapset: do_page_mkwrite changes
Frank Ch. Eigler [Wed, 11 Jan 2017 02:13:45 +0000 (21:13 -0500)]
linux memory tapset: do_page_mkwrite changes

Adapt to linux commit 38b8cb7fbb, wherein the arguments for
do_page_mkwrite have been changed.

7 years agotapset typo fix
Frank Ch. Eigler [Wed, 11 Jan 2017 01:55:19 +0000 (20:55 -0500)]
tapset typo fix

Caught by parseok/compatible.stp test case.

7 years agotestsuite: suppress warnings from empty strings passed to stap
Frank Ch. Eigler [Tue, 10 Jan 2017 20:16:58 +0000 (15:16 -0500)]
testsuite: suppress warnings from empty strings passed to stap

A test case passed a ""-valued tcl variable to a stap command line,
which due to tcl quoting rules means passing an empty string (rather
than nothing).  Use some harmless real option for the empty case,
since we don't want the "" passed through to stap.

7 years agodyninst -t runtime fix: lock contention counts
Frank Ch. Eigler [Tue, 10 Jan 2017 20:16:12 +0000 (15:16 -0500)]
dyninst -t runtime fix: lock contention counts

There was a missing macro definition for "stap --runtime=dyninst -t ..."
runs.  beginenderror.exp test case showed problem.

7 years agoSwap python marker arguments around.
David Smith [Tue, 10 Jan 2017 19:21:22 +0000 (13:21 -0600)]
Swap python marker arguments around.

* python/HelperSDT/_HelperSDT.c (trace_callback): Swap the argument order
  around so that the module name and key are always first.
* tapset-python.cxx: Expect the new marker argument order.

7 years agoHandle python3 class variable references, like '$class->member'.
David Smith [Tue, 10 Jan 2017 18:35:25 +0000 (12:35 -0600)]
Handle python3 class variable references, like '$class->member'.

* tapset/python3.stp: Add support for most python objects (such as
  classes), which use the same internal function to get their attributes.
* python/HelperSDT/_HelperSDT.c (PyInit__HelperSDT): For python version 3,
  add an 'Init' marker.
* tapset-python.cxx (build): Add code to hook up to the new 'Init' marker.
* tapset/python2.stp: Added small simplification.
* testsuite/systemtap.python/python3.exp: Increase timeout values and
  update.

7 years agoconfigury: look for json-c >= 0.12 for monitor/interactive modes
Frank Ch. Eigler [Mon, 9 Jan 2017 21:57:02 +0000 (16:57 -0500)]
configury: look for json-c >= 0.12 for monitor/interactive modes

This way older json-c libraries aren't accidentally accepted by the
configure stage, leading to later build problems.

7 years agoPR21020: reorganize data passing abi for java method parameters
Frank Ch. Eigler [Fri, 6 Jan 2017 22:37:37 +0000 (17:37 -0500)]
PR21020: reorganize data passing abi for java method parameters

Under a new ABI, all java object types are supported for passing to
java-method probes, by converting them all within the JVM to strings.
The systemtap script side now gets $argX being all utf-char-pointers,
which are loaded into script-side string variables with synthetic
user_string_warn() function calls.

A backward compatibility ABI is preserved in the java helper class
as well as the translator, under --compatible=3.0.

The java testsuite is drastically simplified (and execution time
shortened) to one class.  These now test string and object passing
too, with it and stapbm extended to be able to locate the HelperSDT
jar / .so files within the systemtap installation $prefix.  This way,
the system /usr/lib/jvm/.... path does not need to be populated just
for stap tests to run.  (We should sometime extend the tests to cover
all the argument arities, but eyeballing looks OK for now.)

7 years agoelaborate.cxx: optimizations should elide elision warnings for synthetic probes
Frank Ch. Eigler [Fri, 6 Jan 2017 22:36:26 +0000 (17:36 -0500)]
elaborate.cxx: optimizations should elide elision warnings for synthetic probes

We need to check not only whether a token is associated with a
user-vs-tapset file, but also whether the file is entirely synthetic.
We don't want to warn users about the latter.  Relevant to the
new java method probes' argXXX synthetic script variables.

7 years agoimprove system() overlong string handling
Frank Ch. Eigler [Fri, 6 Jan 2017 15:31:18 +0000 (10:31 -0500)]
improve system() overlong string handling

The implementation of the system() tapset function involves sending a
ctl message via the runtime transport system, which can impose smaller
string length limits (STP_CTL_BUFFER_SIZE) than the usual systemtap
strings (MAXSTRINGLEN).  Conditions like that resulted in a kernel
message (printk) being printed, which is a quiet failure.

New code increases the ctl-buffer-size from 256 to 384, and tweaks
_stp_ctl_send() to send an _stp_warn() in case of an overlength input.
The system() tapset function docs point out this possibility.

7 years agoModify the python3 tapset to support python 3.6m.
David Smith [Fri, 6 Jan 2017 14:52:47 +0000 (08:52 -0600)]
Modify the python3 tapset to support python 3.6m.

7 years agoWork around PR20672.
Martin Cermak [Fri, 6 Jan 2017 14:43:45 +0000 (15:43 +0100)]
Work around PR20672.

7 years agoPR20333 - fix typos
Martin Cermak [Fri, 6 Jan 2017 13:26:06 +0000 (14:26 +0100)]
PR20333 - fix typos

7 years agoGet python 3.5 variable access semi-working again (no class variables).
David Smith [Thu, 5 Jan 2017 22:17:45 +0000 (16:17 -0600)]
Get python 3.5 variable access semi-working again (no class variables).

* tapset/python3.stp: Get python 3.5 semi-working again (without class
  variable support). Python 3.6 doesn't work yet.

7 years agoAttempt to support multiple python 3 versions.
David Smith [Wed, 4 Jan 2017 22:06:04 +0000 (16:06 -0600)]
Attempt to support multiple python 3 versions.

* tapset/python3.stp: Attempt to support python versions 3.4, 3.5, and 3.6.

7 years agoMerge remote-tracking branch 'origin/master' into dsmith/python
David Smith [Wed, 4 Jan 2017 19:52:37 +0000 (13:52 -0600)]
Merge remote-tracking branch 'origin/master' into dsmith/python

7 years agoPR20333 - remove empty x86_64/syscalls.stp and x86_64/nd_syscalls.stp
Martin Cermak [Wed, 4 Jan 2017 17:58:16 +0000 (18:58 +0100)]
PR20333 - remove empty x86_64/syscalls.stp and x86_64/nd_syscalls.stp

7 years agoPR20333/compat_lookup_dcookie
Martin Cermak [Wed, 4 Jan 2017 17:57:47 +0000 (18:57 +0100)]
PR20333/compat_lookup_dcookie

7 years agoPR20333/compat_execve
Martin Cermak [Wed, 4 Jan 2017 17:56:30 +0000 (18:56 +0100)]
PR20333/compat_execve

7 years agoPR20333/execve
Martin Cermak [Wed, 4 Jan 2017 17:55:06 +0000 (18:55 +0100)]
PR20333/execve

7 years agoPR20333/compat_fallocate
Martin Cermak [Wed, 4 Jan 2017 17:53:39 +0000 (18:53 +0100)]
PR20333/compat_fallocate

7 years agoPR20333/compat_readahead
Martin Cermak [Wed, 4 Jan 2017 17:52:11 +0000 (18:52 +0100)]
PR20333/compat_readahead

7 years agoPR20333/compat_fadvise64_64
Martin Cermak [Wed, 4 Jan 2017 17:51:38 +0000 (18:51 +0100)]
PR20333/compat_fadvise64_64

7 years agoPR20333/compat_fadvise64
Martin Cermak [Wed, 4 Jan 2017 17:50:16 +0000 (18:50 +0100)]
PR20333/compat_fadvise64

7 years agoPR20333/compat_truncate64
Martin Cermak [Wed, 4 Jan 2017 17:48:27 +0000 (18:48 +0100)]
PR20333/compat_truncate64

7 years agoPR20333/compat_ftruncate64
Martin Cermak [Wed, 4 Jan 2017 17:33:37 +0000 (18:33 +0100)]
PR20333/compat_ftruncate64

7 years agoPR20333/pipe32
Martin Cermak [Wed, 4 Jan 2017 14:55:48 +0000 (15:55 +0100)]
PR20333/pipe32

7 years agoPR20333/vm86_warning
Martin Cermak [Wed, 4 Jan 2017 14:49:47 +0000 (15:49 +0100)]
PR20333/vm86_warning

7 years agoPR20333/mmap2
Martin Cermak [Wed, 4 Jan 2017 14:49:21 +0000 (15:49 +0100)]
PR20333/mmap2

7 years agoPR20333/mmap32
Martin Cermak [Wed, 4 Jan 2017 14:47:38 +0000 (15:47 +0100)]
PR20333/mmap32

7 years agoPR20333/mmap
Martin Cermak [Wed, 4 Jan 2017 14:43:18 +0000 (15:43 +0100)]
PR20333/mmap

7 years agoPR20333/sysctl32
Martin Cermak [Wed, 4 Jan 2017 14:38:52 +0000 (15:38 +0100)]
PR20333/sysctl32

7 years agoPR20333/sigaltstack
Martin Cermak [Wed, 4 Jan 2017 14:35:49 +0000 (15:35 +0100)]
PR20333/sigaltstack

7 years agoPR20333/set_thread_area
Martin Cermak [Wed, 4 Jan 2017 14:32:09 +0000 (15:32 +0100)]
PR20333/set_thread_area

7 years agoPR20333/iopl
Martin Cermak [Wed, 4 Jan 2017 14:30:57 +0000 (15:30 +0100)]
PR20333/iopl

7 years agoPR20333/get_thread_area
Martin Cermak [Wed, 4 Jan 2017 14:30:18 +0000 (15:30 +0100)]
PR20333/get_thread_area

7 years agoPR20333/arch_prctl
Martin Cermak [Wed, 4 Jan 2017 14:27:47 +0000 (15:27 +0100)]
PR20333/arch_prctl

7 years agoPR20333 - remove empty s390/syscalls.stp and s390/nd_syscalls.stp
Martin Cermak [Wed, 4 Jan 2017 14:22:01 +0000 (15:22 +0100)]
PR20333 - remove empty s390/syscalls.stp and s390/nd_syscalls.stp

7 years agoPR20333/compat_lookup_dcookie
Martin Cermak [Wed, 4 Jan 2017 14:21:35 +0000 (15:21 +0100)]
PR20333/compat_lookup_dcookie

7 years agoPR20333/compat_execve
Martin Cermak [Wed, 4 Jan 2017 14:20:14 +0000 (15:20 +0100)]
PR20333/compat_execve

7 years agoPR20333/execve
Martin Cermak [Wed, 4 Jan 2017 14:09:23 +0000 (15:09 +0100)]
PR20333/execve

7 years agoPR20333/compat_fallocate
Martin Cermak [Wed, 4 Jan 2017 14:07:26 +0000 (15:07 +0100)]
PR20333/compat_fallocate

7 years agoPR20333/compat_fadvise64_64
Martin Cermak [Wed, 4 Jan 2017 14:05:46 +0000 (15:05 +0100)]
PR20333/compat_fadvise64_64

7 years agoPR20333/compat_fadvise64
Martin Cermak [Wed, 4 Jan 2017 14:03:51 +0000 (15:03 +0100)]
PR20333/compat_fadvise64

7 years agoPR20333/compat_readahead
Martin Cermak [Wed, 4 Jan 2017 14:01:52 +0000 (15:01 +0100)]
PR20333/compat_readahead

7 years agoPR20333/compat_truncate64
Martin Cermak [Wed, 4 Jan 2017 14:00:54 +0000 (15:00 +0100)]
PR20333/compat_truncate64

7 years agoPR20333/compat_ftruncate64
Martin Cermak [Wed, 4 Jan 2017 14:00:02 +0000 (15:00 +0100)]
PR20333/compat_ftruncate64

7 years agoPR20333/sysctl32
Martin Cermak [Wed, 4 Jan 2017 13:58:29 +0000 (14:58 +0100)]
PR20333/sysctl32

This page took 0.06104 seconds and 5 git commands to generate.