]> sourceware.org Git - systemtap.git/log
systemtap.git
8 years agoFixed PR19120 by rearranging the list of modules to search in @cast().
David Smith [Tue, 20 Oct 2015 18:19:42 +0000 (13:19 -0500)]
Fixed PR19120 by rearranging the list of modules to search in @cast().

* tapset/linux/dentry.stp (fullpath_struct_path): Rearrange the list of
  modules to search for 'struct path' so that looking in "<linux/path.h>"
  comes last, so that RHEL5-era kernels don't make it that far. That
  include file doesn't exist on RHEL5-era kernels, which causes kbuild
  warnings.

8 years agoUpdate several of the example scripts for better kernel coverage.
David Smith [Tue, 20 Oct 2015 17:45:59 +0000 (12:45 -0500)]
Update several of the example scripts for better kernel coverage.

* testsuite/systemtap.examples/network/tcp_trace.stp: Handle change in the
  tcp_sock structure in newer kernels.
* testsuite/systemtap.examples/process/pfiles.stp: Add changes for
  RHEL6-era kernels and kernels >= 4.0.
* testsuite/systemtap.examples/process/pstree.stp: Handle kernels < 3.7.
* testsuite/systemtap.examples/process/rlimit_nofile.stp: Add a fallback
  for when the kernel function __alloc_fd() doesn't exist.
* testsuite/systemtap.examples/process/schedtimes.stp: Handle newer
  kernels where the "sched_wakeup" tracepoint doesn't have a 'success'
  argument.
* testsuite/systemtap.examples/profiling/fileline-profile.stp: Handle
  32-bit kernels better by making the global array smaller.
* testsuite/systemtap.examples/profiling/pf3.stp: Ditto.
* testsuite/systemtap.examples/profiling/pf4.stp: Ditto.
* testsuite/systemtap.examples/io/slowvfs.meta: Add 'test_support' line.
* testsuite/systemtap.examples/process/procmod_watcher.meta: Ditto.

8 years agoStandardize and fix mm's exe_file handling for kernels >= 4.1.
David Smith [Wed, 14 Oct 2015 21:03:52 +0000 (16:03 -0500)]
Standardize and fix mm's exe_file handling for kernels >= 4.1.

* runtime/task_finder_vma.c (stap_find_exe_file): Rewrite
  stap_find_exe_file() to handle kernels >= 4.1.
* runtime/linux/task_finder.c (__stp_get_mm_path): Call the net
  stap_find_exe_file(), which handles locking the mm.
* runtime/linux/task_finder.c (__stp_get_mm_path): Ditto.
* runtime/linux/uprobes-inode.c (stapiu_get_task_inode): Ditto.
* tapset/linux/task.stp (task_exe_file): Ditto.

8 years agoFixed PR6525 by adding functions to get a task's cwd and exe path.
David Smith [Mon, 12 Oct 2015 16:17:00 +0000 (11:17 -0500)]
Fixed PR6525 by adding functions to get a task's cwd and exe path.

* tapset/linux/task.stp (task_cwd_path:long): New function.
  (task_exe_file): Ditto.
* buildrun.cxx (compile_pass): Add export test for "get_mm_exe_file()".
* testsuite/systemtap.base/task_paths.exp: New test case.
* testsuite/systemtap.base/task_paths.stp: New test file.
* testsuite/buildok/task-embedded.stp: Added compile tests for new
  functions.

8 years agoUpdate systemtap.apps tests.
Stan Cox [Fri, 9 Oct 2015 15:47:21 +0000 (11:47 -0400)]
Update systemtap.apps tests.

* (python.exp):  Untest by noting that this test was replaced by
  the example suite python test.
* (xulrunner.exp):  Untest if gtk+-2.0 configure requirement fails
* (py?example.meta):  Require python debuginfo
* (python.stpm):  Update python3-lib version.

8 years agoNew testcase: systemtap.stress/tapset_functions.exp.
Martin Cermak [Fri, 9 Oct 2015 11:28:32 +0000 (13:28 +0200)]
New testcase: systemtap.stress/tapset_functions.exp.

8 years agoAlign nd_syscall.mmap* and syscall.mmap* convenience vars lists.
Martin Cermak [Fri, 9 Oct 2015 11:09:58 +0000 (13:09 +0200)]
Align nd_syscall.mmap* and syscall.mmap* convenience vars lists.

* NEWS: Mention deprecations.
* tapset/linux/aux_syscalls.stp: Deprecate: get_mmap_args().
* tapset/linux/s390/aux_syscalls.stp: Deprecate get_32mmap_args().
* tapset/linux/s390/nd_syscalls.stp: Provide missing convenience vars.
* tapset/linux/x86_64/nd_syscalls.stp: Provide missing convenience vars.
* tapset/linux/x86_64/syscalls.stp: Use convenience vars in argstr.

8 years agosystemtap configury version bump for future v3.0
Frank Ch. Eigler [Fri, 9 Oct 2015 03:30:41 +0000 (23:30 -0400)]
systemtap configury version bump for future v3.0

8 years agoUpdate systemtap.apps tests.
Stan Cox [Fri, 9 Oct 2015 02:33:57 +0000 (22:33 -0400)]
Update systemtap.apps tests.

* (mysql.exp, postgres.exp, xulrunner.exp):  Update version,
  adjust test thresholds.

8 years agorelease 2.9 date-stamp fix release-2.9
Frank Ch. Eigler [Fri, 9 Oct 2015 01:43:34 +0000 (21:43 -0400)]
release 2.9 date-stamp fix

8 years agotestsuite callee.exp: Hunt for the last FAIL:
Frank Ch. Eigler [Fri, 9 Oct 2015 01:17:09 +0000 (21:17 -0400)]
testsuite callee.exp: Hunt for the last FAIL:

The hunt is not successful (1 FAIL:), but the tcl code is being
gradually simplified and more diagnostics emitted to help find the
culprit.

8 years agoon-the-fly testsuite: stablify
Frank Ch. Eigler [Fri, 9 Oct 2015 01:15:03 +0000 (21:15 -0400)]
on-the-fly testsuite: stablify

Remove the "-g" flag from both {k,u}probe tests; it's not needed, and
for the kernel case can trigger weird hangs due to overriding of the
blacklist.  Relax the output matching patterns, perhaps due to
different ordering of task workqueues in 4.3.0-rc.  Produce more
diagnostics upon failure.

8 years agoioblock tapset updates for linux-4.3-rc
Frank Ch. Eigler [Thu, 8 Oct 2015 19:23:29 +0000 (15:23 -0400)]
ioblock tapset updates for linux-4.3-rc

Update for linux commit 4246a0b63 and a thinko in
embedded-C to script function conversion.

8 years agoFix nd_syscall.(compat_sysctl|sysctl32).return probe.
Martin Cermak [Thu, 8 Oct 2015 17:15:46 +0000 (19:15 +0200)]
Fix nd_syscall.(compat_sysctl|sysctl32).return probe.

8 years agotestsuite/tapset tweaks for 4.3.0-rc
Frank Ch. Eigler [Thu, 8 Oct 2015 15:38:28 +0000 (11:38 -0400)]
testsuite/tapset tweaks for 4.3.0-rc

8 years agoUpdate the syscalls documentation (based on kernel-4.3.0-0.rc4.git1.1.fc24).
Martin Cermak [Thu, 8 Oct 2015 15:15:59 +0000 (17:15 +0200)]
Update the syscalls documentation (based on kernel-4.3.0-0.rc4.git1.1.fc24).

8 years agoImprove the nfsdtop.stp example script.
David Smith [Thu, 8 Oct 2015 14:38:51 +0000 (09:38 -0500)]
Improve the nfsdtop.stp example script.

* testsuite/systemtap.examples/network/nfsdtop.stp: By default, now
  returns 'dirname/filename' for the last files looked up for each
  client. With any command line argument, returns the full pathname.

8 years agokprobe probes: protect kallsyms_on_each_symbol with rcu lock
Frank Ch. Eigler [Wed, 7 Oct 2015 21:18:26 +0000 (17:18 -0400)]
kprobe probes: protect kallsyms_on_each_symbol with rcu lock

* kprobe_derived_probe_group::emit_module_init: Wrap
  kallsyms_on_each_symbol in rcu lock, to prevent lockdep
  warning.

8 years agotapset: syscall.fadvise64_64.return
David Smith [Wed, 7 Oct 2015 19:01:20 +0000 (15:01 -0400)]
tapset: syscall.fadvise64_64.return

Tolerate occasionally mis-dwarf'd sys_fadvise64_64 function by
permitting the .return probe to resolve without a $return value.
Convert to if @defined()-based hack.

8 years agoelaboration: decorate more pass-2 errors with probe derivation chain / function name
Frank Ch. Eigler [Wed, 7 Oct 2015 18:50:45 +0000 (14:50 -0400)]
elaboration: decorate more pass-2 errors with probe derivation chain / function name

semantic_pass_types() carries out $context variable resolution, but
didn't identify what probe the $variable might have come from.  This
is especially tricky if the derived_probe is many wildcarding/aliasing
levels away from the input probe point.  We now print per-probe (or
analogous per-function) naming during the semantic_pass_types loops
via semantic_error chaining.

8 years agoFix PR19057 by making _is_reset() more robust.
David Smith [Wed, 7 Oct 2015 16:56:01 +0000 (11:56 -0500)]
Fix PR19057 by making _is_reset() more robust.

* tapset/linux/tcpmib.stp (_is_reset): Make more robust by using
  kderef_buffer() on the tcp header we're reading.

8 years agoMove s390x's get_32mmap_args() to its proper place.
David Smith [Wed, 7 Oct 2015 15:44:25 +0000 (10:44 -0500)]
Move s390x's get_32mmap_args() to its proper place.

* tapset/linux/s390/aux_syscalls.stp: Move get_32mmap_args() here.
* tapset/linux/s390/nd_syscalls.stp: Move get_32mmap_args() to
  aux_syscalls.stp.

8 years agoFix PR19000 by making task_ns_pid() and task_ns_tid() more robust.
David Smith [Wed, 7 Oct 2015 15:14:15 +0000 (10:14 -0500)]
Fix PR19000 by making task_ns_pid() and task_ns_tid() more robust.

* runtime/linux/namespaces.h (from_target_pid_ns): Make sure the task
  struct is valid before using it. The task_ns_pid() and task_ns_tid()
  tapset functions call from_target_pid_ns().
  (_stp_task_struct_valid): New function.

8 years agoAdded comments and whitespace in runtime/linux/namespaces.h.
David Smith [Wed, 7 Oct 2015 14:27:15 +0000 (09:27 -0500)]
Added comments and whitespace in runtime/linux/namespaces.h.

8 years agoRHBZ1269062 redux, less quote elevator_name
Frank Ch. Eigler [Tue, 6 Oct 2015 20:41:02 +0000 (16:41 -0400)]
RHBZ1269062 redux, less quote elevator_name

dsmith pointed out that switching to a quoted string is not always the
right thing to do, esp. from a backward compatibility point of view.
We now formalize a policy guideline in DEVGUIDE that *_string2 be used
when pointers should be valid but might be 0, which is the situation
with these probe points.

8 years agoFix buildability of task_fd_lookup() on 32-bit systems.
Martin Cermak [Tue, 6 Oct 2015 19:42:49 +0000 (21:42 +0200)]
Fix buildability of task_fd_lookup() on 32-bit systems.

8 years agoRHBZ1269062: quote ioscheduler.* elevator_name value
Frank Ch. Eigler [Tue, 6 Oct 2015 14:56:06 +0000 (10:56 -0400)]
RHBZ1269062: quote ioscheduler.* elevator_name value

It was reported that the $q->elevator->elevator_name could be 0.

8 years agoFix PR19070 by applying /* pragma:uprobes */ to __ustack_raw().
Martin Cermak [Tue, 6 Oct 2015 12:29:33 +0000 (14:29 +0200)]
Fix PR19070 by applying /* pragma:uprobes */ to __ustack_raw().

8 years agoFix PR19069 by conditionally including linux/user_namespace.h.
Martin Cermak [Tue, 6 Oct 2015 07:49:46 +0000 (09:49 +0200)]
Fix PR19069 by conditionally including linux/user_namespace.h.

8 years agoFix PR19065 by making task_fd_lookup() more robust.
David Smith [Mon, 5 Oct 2015 18:10:49 +0000 (13:10 -0500)]
Fix PR19065 by making task_fd_lookup() more robust.

* tapset/linux/task.stp (task_fd_lookup): No longer write to the
  task_struct memory. We check to make sure the memory is valid to read
  from, but that doesn't mean it is valid to write to.

8 years agoAdd another fix for PR19000 by doing more pointer validation in task.stp.
David Smith [Mon, 5 Oct 2015 16:19:11 +0000 (11:19 -0500)]
Add another fix for PR19000 by doing more pointer validation in task.stp.

* tapset/linux/task.stp (task_gid): Add more pointer validation.
  (task_egid): Ditto.
  (task_uid): Ditto.
  (task_euid): Ditto.

8 years agoFix compile-time issues for a few _struct_compat_*_u() functions.
Martin Cermak [Mon, 5 Oct 2015 13:58:36 +0000 (15:58 +0200)]
Fix compile-time issues for a few _struct_compat_*_u() functions.

* tapset/linux/aux_syscalls.stp: Fix _struct_compat_itimerspec_u(),
  and _struct_itimerval_u() so that they compile on non CONFIG_COMPAT
  systems. Fix _struct_sched_attr_u() so that it compiles on kernels
  not having struct sched_attr, i.e. when kernel_v < "3.14".
* testsuite/buildok/aux_syscalls-embedded.stp: Remove unneeded
  constraint for _struct_sched_attr_u() testing.

9 years agoFix PR17920 by adding task_fd_lookup().
David Smith [Fri, 2 Oct 2015 16:55:19 +0000 (11:55 -0500)]
Fix PR17920 by adding task_fd_lookup().

* tapset/linux/task.stp (task_fd_lookup): New function.
* tapset/linux/dentry.stp (fullpath_struct_file): Ditto.
* testsuite/buildok/dentry-embedded.stp: Added compile test for
  fullpath_struct_file().
* testsuite/buildok/task-embedded.stp: Added compile test for
  task_fd_lookup().
* testsuite/systemtap.base/task_fd_lookup.exp: New testcase for
  task_fd_lookup.
* testsuite/systemtap.base/task_fd_lookup.stp: Ditto.
* testsuite/systemtap.base/task_fd_lookup.c: Ditto.

9 years agoFix PR19021 by adding support for synthetic filesystems to task_dentry_path().
David Smith [Fri, 2 Oct 2015 15:36:35 +0000 (10:36 -0500)]
Fix PR19021 by adding support for synthetic filesystems to task_dentry_path().

* tapset/linux/dentry.stp (task_dentry_path): Add better support for
  synthetic filesystems, like pipes, sockets, etc.
  (fullpath_struct_path): Add better RHEL5 support.

9 years agoExplicitly set the return type for __stack_raw() and __ustack_raw().
Martin Cermak [Fri, 2 Oct 2015 14:48:54 +0000 (16:48 +0200)]
Explicitly set the return type for __stack_raw() and __ustack_raw().

Missing return type defs may cause "unresolved type" error when
calling a function without enough context for type inference to work
like e.g. `stap -e 'probe oneshot{println(__stack_raw(0))}'`.

9 years agoFix PR19045 by updating _stp_text_str() (called by kernel_string_quoted()).
David Smith [Thu, 1 Oct 2015 21:03:08 +0000 (16:03 -0500)]
Fix PR19045 by updating _stp_text_str() (called by kernel_string_quoted()).

* runtime/stp_string.c (_stp_text_str): Use _stp_read_address() to read
  kernel memory also, not just user memory. This should keep us safe from
  invalid pointers.

9 years agoFix PR19043 by updating __bio_ino(), __rqstp_gid() and __rqstp_uid().
David Smith [Thu, 1 Oct 2015 18:50:21 +0000 (13:50 -0500)]
Fix PR19043 by updating __bio_ino(), __rqstp_gid() and __rqstp_uid().

* tapset/linux/nfsd.stp (__rqstp_uid): Make sure all pointers are valid
  before using them.
  (__rqstp_gid): Ditto.
* tapset/linux/ioblock.stp (__bio_ino): Ditto.
  (bio_rw_num): Rewrite using embedded-C.

9 years agoFix pstrace() to prevent it from cycling on s390 with invalid input.
Martin Cermak [Thu, 1 Oct 2015 12:51:12 +0000 (14:51 +0200)]
Fix pstrace() to prevent it from cycling on s390 with invalid input.

On s390 reading zero address doesn't cause read fault and thus e.g.
pstrace(0) was cycling until MAXACTION got reached.

9 years agoSpecify argument type for _madvice_advice_str:string(behavior:long).
Martin Cermak [Thu, 1 Oct 2015 12:01:14 +0000 (14:01 +0200)]
Specify argument type for _madvice_advice_str:string(behavior:long).

This makes stap --dump-functions report the correct argument type
for _madvice_advice_str().

9 years agorelease date
Felix Lu [Wed, 30 Sep 2015 19:58:52 +0000 (15:58 -0400)]
release date

9 years agoupdate AUTHORS file
Felix Lu [Wed, 30 Sep 2015 13:55:17 +0000 (09:55 -0400)]
update AUTHORS file

9 years agorelease: update po files
Felix Lu [Wed, 30 Sep 2015 13:51:39 +0000 (09:51 -0400)]
release: update po files

9 years agotestsuite plt.c: suppress another compiler warning
Frank Ch. Eigler [Tue, 29 Sep 2015 20:19:23 +0000 (16:19 -0400)]
testsuite plt.c: suppress another compiler warning

9 years agotestsuite wakeup.*: standardize more
Frank Ch. Eigler [Tue, 29 Sep 2015 15:27:52 +0000 (11:27 -0400)]
testsuite wakeup.*: standardize more

Eliminating the timer.s() wait, putting in a fixed 'sleep NN'
into the -c CMD string makes stopping condition clearer and
overall CMD exit value fixed (0).

9 years agotestsuite wakeup.*:
Frank Ch. Eigler [Tue, 29 Sep 2015 15:14:13 +0000 (11:14 -0400)]
testsuite wakeup.*:

On a rawhide smp box, it was possible to see corrupted lines of text
from this test's multiple concurrent outputs, and thus lose counts.
The strings are revised, and exit timing managed mroe carefully,
to make the run more repeatable.

9 years agotestsuite plt.c: correct compiler warnings
Frank Ch. Eigler [Tue, 29 Sep 2015 13:44:13 +0000 (09:44 -0400)]
testsuite plt.c: correct compiler warnings

9 years agoSet up kfails for testsuite/buildok/stap_staticmarkers-detailed.stp.
David Smith [Fri, 25 Sep 2015 17:25:41 +0000 (12:25 -0500)]
Set up kfails for testsuite/buildok/stap_staticmarkers-detailed.stp.

* testsuite/systemtap.pass1-4/buildok.exp: For
  buildok/stap_staticmarkers-detailed.stp, kfail if we don't have uprobes
  or if we're not running as root. Only root can read "staprun".

9 years agoAdd '-g' switch to testsuite/buildok/task-embedded.stp.
David Smith [Fri, 25 Sep 2015 17:23:54 +0000 (12:23 -0500)]
Add '-g' switch to testsuite/buildok/task-embedded.stp.

9 years agoFix PR19000 by making task.stp functions handle invalid addresses.
David Smith [Fri, 25 Sep 2015 15:04:25 +0000 (10:04 -0500)]
Fix PR19000 by making task.stp functions handle invalid addresses.

* tapset/linux/task.stp (task_ns_pid): Make sure the task_struct pointer
  is valid before using it.
  (task_ns_tid): Ditto.
  (task_gid): Ditto.
  (task_ns_gid): Ditto.
  (task_egid): Ditto.
  (task_ns_egid): Ditto.
  (task_uid): Ditto.
  (task_ns_uid): Ditto.
  (task_euid): Ditto.
  (task_ns_euid): Ditto.
* testsuite/buildok/task-embedded.stp: Add missing functions.

9 years agoAdd explicit typecasts ensuring buildability of json_set_prefix().
Martin Cermak [Fri, 25 Sep 2015 14:20:20 +0000 (16:20 +0200)]
Add explicit typecasts ensuring buildability of json_set_prefix().

Without this update json_set_prefix() doesn't compile on rhel[56]
i686 systems due to "format â€˜%lu’ expects type â€˜long unsigned int’,
but argument 4 has type â€˜size_t’". The reproducer is as follows:
`stap -wge 'probe oneshot {println(json_set_prefix("blah"))}'`

9 years agoRefix PR18999 by changing the way we check last_error.
David Smith [Thu, 24 Sep 2015 21:01:57 +0000 (16:01 -0500)]
Refix PR18999 by changing the way we check last_error.

* tapsets.cxx (common_probe_entryfn_epilogue): Only check to see if
  'last_error' isn't NULL, don't check to see if it isn't empty.
* tapset/logging.stp (error): Don't provide a default error message.

9 years agoFix PR18999 by giving the 'error()' function a default error message.
David Smith [Thu, 24 Sep 2015 18:41:57 +0000 (13:41 -0500)]
Fix PR18999 by giving the 'error()' function a default error message.

* tapset/logging.stp (error): If 'msg' is empty, put in a default error
  message. Otherwise the function won't cause an error.

9 years agoexamples index: wrap version note in <p> for css coloring
Frank Ch. Eigler [Thu, 24 Sep 2015 14:53:53 +0000 (10:53 -0400)]
examples index: wrap version note in <p> for css coloring

9 years agoexamples index: note systemtap version
Frank Ch. Eigler [Thu, 24 Sep 2015 14:47:56 +0000 (10:47 -0400)]
examples index: note systemtap version

lberk noticed that our examples, and especially their listings at
sourceware.org/systemtap/examples/ may mislead people who run older
versions of systemtap that can't run all modern samples.  We now
add a brief version header to tip people off.

9 years agoFix the scheduler tapset on rawhide systems.
David Smith [Thu, 24 Sep 2015 13:39:09 +0000 (08:39 -0500)]
Fix the scheduler tapset on rawhide systems.

* tapset/linux/scheduler.stp (scheduler.process_fork): Fix the
  krpobes-based probe variant for rawhide systems by also probing
  '_do_fork'.

9 years agosemok/optimize.stp: remove string+long portion
Abegail Jakop [Wed, 23 Sep 2015 20:43:52 +0000 (16:43 -0400)]
semok/optimize.stp: remove string+long portion

work for PR18455 now produces a mismatch error in the case that
some binary expression has a long expression and a string expression,
meaning the string+long binary expression no longer gets optimized out.

9 years agoPR18455: avoid duplicate type mismatch errors
Abegail Jakop [Wed, 23 Sep 2015 16:00:01 +0000 (12:00 -0400)]
PR18455: avoid duplicate type mismatch errors

elaborate.cxx: stop analyzing the script if an error was generated in
the initial type pass to avoid generating a duplicate error in the
main type resolution pass

9 years agoPR18455: add type mismatch checks in const_folder
Abegail Jakop [Wed, 23 Sep 2015 14:14:53 +0000 (10:14 -0400)]
PR18455: add type mismatch checks in const_folder

elaborate.cxx: in const_folder::visit_binary_expression() if one
side is a literal number and the other is not pe_long or pe_unkown,
produce a type mismatch

9 years agoPR18455: include early check for type mismatches
Abegail Jakop [Wed, 9 Sep 2015 21:01:00 +0000 (17:01 -0400)]
PR18455: include early check for type mismatches

elaborate.cxx: during the initial typeres pass, we'll check for early type
mismatches (ignoring unresolved types), and produce errors (if verbose).

9 years agoPR18455: globals type_details are null in initial typres
Abegail Jakop [Wed, 9 Sep 2015 19:53:48 +0000 (15:53 -0400)]
PR18455: globals type_details are null in initial typres

elaborate.cxx: in the intial type pass, follow semantic_pass_types()
and set globals' type_details to null, since globals are not supposed
to have detailed types. this fixes the semko/autocast05.stp failure.

9 years agoPR18455: use an initial_typeres_info visitor
Abegail Jakop [Wed, 2 Sep 2015 21:54:44 +0000 (17:54 -0400)]
PR18455: use an initial_typeres_info visitor

elaborate.cxx: since some visit* functions in the typeresolution_info visitor
just throw errors, create an initial_typeresolution_info visitor that
overwrites those functions to account for substitutions/replacements not being
done. semko tests autocast05 and binexpr_infer_type fail with theses changes.

9 years agoPR18455: use an initial type resolution pass
Abegail Jakop [Wed, 26 Aug 2015 21:36:31 +0000 (17:36 -0400)]
PR18455: use an initial type resolution pass

elaborate.cxx: for the const_folder visitor attempt to resolve some
times before the const_foler visitor is called. this is to try to
propogate an expression's type that is implied by what expression it's
in, up to the vardecl, to avoid unresolved type errors in cases like:
{println(i*0)}

9 years agoPR18455: testcases for type inference changes
Abegail Jakop [Tue, 25 Aug 2015 15:09:39 +0000 (11:09 -0400)]
PR18455: testcases for type inference changes

semok/*: if some part of a binary expresion is elided in the const_folder
visitor, the type inference is still passed on.
semko/*: if some part of a binary expression, where one expression is a
string and the other is a long, gets elided in the const_folder visitor,
the type inference is still passed on, and stap reports a type mismatch.

9 years agoPR18455: suggest type in const_folder binary expr
Abegail Jakop [Tue, 25 Aug 2015 15:00:51 +0000 (11:00 -0400)]
PR18455: suggest type in const_folder binary expr

elaborate.cxx: within const_folder::visit_binary_expression(), for cases
like {println(i+0)} where part of the binary expression is elided, suggest
what the type (pe_long) should be to the remaining part of the expression.

9 years agoFix BZ1264678 by updating the networking tapset for the 4.1 kernel.
Mikhail Kulemin [Wed, 23 Sep 2015 17:10:50 +0000 (12:10 -0500)]
Fix BZ1264678 by updating the networking tapset for the 4.1 kernel.

* tapset/linux/networking.stp (netdev.transmit): Prefer
  __dev_queue_xmit() if available.
  (netdev.hard_transmit): Handle the change in argument name from 'skb' to
  'first'.

9 years agoActually test nfsdtop.stp by fixing its 'meta' file.
David Smith [Mon, 21 Sep 2015 21:21:23 +0000 (16:21 -0500)]
Actually test nfsdtop.stp by fixing its 'meta' file.

* testsuite/systemtap.examples/network/nfsdtop.meta (test_installcheck):
  Fix typo so that we actually test nfsdtop.stp instead of nfsd_unlink.stp.

9 years agotapset: remove unnecessary casts in rlimit_from_str()
Josh Stone [Fri, 18 Sep 2015 19:22:04 +0000 (12:22 -0700)]
tapset: remove unnecessary casts in rlimit_from_str()

9 years agoPR18885: Use /* unmodified-fnargs */ in tapsets
Martin Cermak [Fri, 18 Sep 2015 09:41:58 +0000 (11:41 +0200)]
PR18885: Use /* unmodified-fnargs */ in tapsets

* runtime/stp_string.[ch]: Make _stp_text_str's "in" parameter const.
* tapset/dyninst/context-envvar.stp: Optimize env_var().
* tapset/linux/context-caller.stp: Optimize _caller_match().
* tapset/linux/kretprobe.stp: Optimize _set_kretprobe_string().
* tapset/linux/panic.stp: Speed up the panic().
* tapset/linux/rlimit.stp: Optimize rlimit_from_str().
* tapset/string.stp: Optimize strlen(), substr(), stringat(), isinstr(),
text_str(), text_strn(), strtol(), isdigit().
* tapset/tokenize.stp: Optimize tokenize().
* tapset/uconversions.stp: Optimize user_string_n2(), user_string2_n_warn().

9 years agoPR18885: drop sensitivity of error() to /* unmodifed-fnargs */
Frank Ch. Eigler [Thu, 17 Sep 2015 18:33:06 +0000 (14:33 -0400)]
PR18885: drop sensitivity of error() to /* unmodifed-fnargs */

Switch to a less tricky implementation that uses explicit
string copies operations rather than char*-sharing to preserve
the incoming error message.

9 years agoprocess_by_pid.exp: Known failures marked as KFAIL per PR18971.
Martin Cermak [Thu, 17 Sep 2015 05:29:41 +0000 (07:29 +0200)]
process_by_pid.exp: Known failures marked as KFAIL per PR18971.

9 years agokretprobe.stp: sanity check the probe_type
Josh Stone [Wed, 16 Sep 2015 21:59:40 +0000 (14:59 -0700)]
kretprobe.stp: sanity check the probe_type

9 years agosystemtap-service.exp: Testcase update for modern developer toolset.
Martin Cermak [Wed, 16 Sep 2015 09:52:12 +0000 (11:52 +0200)]
systemtap-service.exp: Testcase update for modern developer toolset.

9 years agoFix PR18944 by updating runtime/linux/autoconf-blk-types.c.
David Smith [Mon, 14 Sep 2015 15:35:36 +0000 (10:35 -0500)]
Fix PR18944 by updating runtime/linux/autoconf-blk-types.c.

* runtime/linux/autoconf-blk-types.c: Add linux/blkdev.h that hopefully
  includes linux/rh_kabi.h. We can't include it directly since it doesn't
  exist on non-RHEL kernels.

9 years agoFix s390 [nd_]syscall.fallocate argstr.
Martin Cermak [Fri, 11 Sep 2015 07:12:31 +0000 (09:12 +0200)]
Fix s390 [nd_]syscall.fallocate argstr.

* tapset/linux/s390/nd_syscalls.stp: Remove 'mode' from argstr.
* tapset/linux/s390/syscalls.stp: Ditto.

9 years agobz1252436.exp: Only run the testcase within installcheck under root.
Martin Cermak [Fri, 11 Sep 2015 06:58:47 +0000 (08:58 +0200)]
bz1252436.exp: Only run the testcase within installcheck under root.

9 years agoPR17921: add testcase
Felix Lu [Thu, 10 Sep 2015 15:21:46 +0000 (11:21 -0400)]
PR17921: add testcase

9 years agoPR17921 - /proc/kallsyms symbols
Felix Lu [Wed, 9 Sep 2015 13:30:49 +0000 (09:30 -0400)]
PR17921 - /proc/kallsyms symbols

* translate.cxx: allow translator to read /proc/kallsyms when
  debuginfo is not available.

9 years agoNew regression test for rhbz1252436
Martin Cermak [Wed, 9 Sep 2015 17:19:46 +0000 (19:19 +0200)]
New regression test for rhbz1252436

9 years agoNew regression test for rhbz1214176.
Martin Cermak [Wed, 9 Sep 2015 16:25:30 +0000 (18:25 +0200)]
New regression test for rhbz1214176.

9 years agoFixed PR18942 by avoiding the inclusion of unused global variables.
David Smith [Wed, 9 Sep 2015 15:47:57 +0000 (10:47 -0500)]
Fixed PR18942 by avoiding the inclusion of unused global variables.

* tapset/linux/aux_syscalls.stp (__count_envp): Changed the name of the
  'argc' local variable to '__argc' to avoid confusing the translator with
  the global 'argc' variable from tapset/argv.stp.
  (__count_compat_envp): Ditto.

9 years agoPR18936: extend the lifetime of synthesized DW_OP_addr
Josh Stone [Tue, 8 Sep 2015 21:24:36 +0000 (14:24 -0700)]
PR18936: extend the lifetime of synthesized DW_OP_addr

In dwflpp::literal_stmt_for_local(), a fake addr_loc is created for
variables we find in the symbol table.  But this addr_loc had tight
scope on the stack, and its contents were clobbered by the time the
pointer was read by emit_header().

Just extending the lifetime to the whole function scope is enough.

9 years agoFix missing exec perm on parseko/cmdline23.stp and parseok/cmdline03.stp.
Martin Cermak [Mon, 7 Sep 2015 05:51:46 +0000 (07:51 +0200)]
Fix missing exec perm on parseko/cmdline23.stp and parseok/cmdline03.stp.

Missing the 'execute' perm on parse{ok,ko} files causes `ERROR: tcl error
sourcing ...` during make installcheck.

9 years agoSwitch to SSL_GetImplementedCiphers()
Josh Stone [Fri, 4 Sep 2015 18:11:53 +0000 (11:11 -0700)]
Switch to SSL_GetImplementedCiphers()

When nss rebases, the size of SSL_ImplementedCiphers[] may change.  If
we have a copy relocation, this could mean we'll get an incomplete copy
of the array.  Use the accessor function instead for a simple pointer.

See also: https://bugzilla.mozilla.org/show_bug.cgi?id=496993

9 years agoPR18649: Add tests for the new --prologue-searching option
Martin Cermak [Fri, 4 Sep 2015 07:38:45 +0000 (09:38 +0200)]
PR18649: Add tests for the new --prologue-searching option

* NEWS: Add entry describing the new option.
* hash.cxx: Add the option index into the script hash.
* testsuite/parseko/cmdline23.stp: New testcase.
* testsuite/parseok/cmdline03.stp: Ditto.
* testsuite/systemtap.base/pr18649.exp: Ditto.

9 years agoPR18889 testing: already done by modules_out_of_tree.exp
Frank Ch. Eigler [Wed, 2 Sep 2015 15:52:31 +0000 (11:52 -0400)]
PR18889 testing: already done by modules_out_of_tree.exp

Ditch bz6503, given that it wasn't reliable.

9 years agoPR18889: switch to STP_TRACEPOINT* frontend for kernel tracepoint registration
Frank Ch. Eigler [Wed, 2 Sep 2015 15:16:46 +0000 (11:16 -0400)]
PR18889: switch to STP_TRACEPOINT* frontend for kernel tracepoint registration

jistone kindly reminded that the runtime/stp_tracepoint.[ch] machinery
allows us to attach to kernel tracepoints, whether on string- or
tp*-based kernel APIs, and whether or not the tp* objects are
EXPORT_TRACEPOINT_SYMBOL_GPL'd.  Let's use those; presto we get
module-init probing back on kernels oldish and newish.

9 years agoFix PR18649 by adding --prologue-searching[=WHEN] command line switch.
Martin Cermak [Tue, 1 Sep 2015 07:08:25 +0000 (09:08 +0200)]
Fix PR18649 by adding --prologue-searching[=WHEN] command line switch.

Add --prologue-searching[=WHEN] command line switch with '-P' being
its short counterpart.  Add respective man page and usage entries.

Using --prologue-searching=never turns prologue searching off
working around issue PR18649.

9 years agoFix PR18827 by adding a new testcase and correcting issues it found.
Martin Cermak [Tue, 1 Sep 2015 06:35:08 +0000 (08:35 +0200)]
Fix PR18827 by adding a new testcase and correcting issues it found.

* NEWS: Deprecate powerpc variant of nd_syscall.compat_sysctl.
* scripts/update-syscall-docs: Filter underscore prefixed locals per PR18827#c1.
* tapset/linux/powerpc/nd_syscalls.stp: Deprecation per NEWS.
* tapset/linux/powerpc/syscalls.stp: Remove systemtap_v <= "1.4" deprecated bit.
* tapset/linux/s390/nd_syscalls.stp: Add locals to align to resp. syscall.
* tapset/linux/s390/syscalls.stp: Use existing locals in argstr.
* tapset/linux/syscalls.stp: Fix probe syscall.mq_timedsend.
* testsuite/systemtap.syscall/syscall_consistency.exp: New testcase.

9 years agoPR18889 part: module-init notification via module_{load,free} tracepoints
Frank Ch. Eigler [Mon, 31 Aug 2015 21:46:43 +0000 (17:46 -0400)]
PR18889 part: module-init notification via module_{load,free} tracepoints

Investigating RHBZ1257399 et al., we found that module_notifier is
being called too early after kernel commit #4982223e51.  This
precludes normal module section-address computation and thus kprobe
emplacement.  This patch adds hooking into the module_{load,free}
tracepoints in parallel, because on some kernels (RHEL7.1.Z+) they
occur at just the right time.

On the downside, on recent LKML kernels, attaching to those
tracepoints requires EXPORT_TRACEPOINT_SYMBOL_GPL's, so until that is
done (or another workaround made), LKML kernels will still miss out on
module-init probing.

9 years agoPR18889 part: improve module-notification related debug tracing
Frank Ch. Eigler [Mon, 31 Aug 2015 15:17:33 +0000 (11:17 -0400)]
PR18889 part: improve module-notification related debug tracing

-DDEBUG_KPROBES -DDEBUG_SYMBOLS -DDEBUG_STP_ON_THE_FLY recommended.

9 years agoPR18885: use unmodified-fnargs in logging.stp
Josh Stone [Fri, 28 Aug 2015 20:36:54 +0000 (13:36 -0700)]
PR18885: use unmodified-fnargs in logging.stp

9 years agoarm/registers.stp: correct the assert condition
Josh Stone [Fri, 28 Aug 2015 16:49:48 +0000 (09:49 -0700)]
arm/registers.stp: correct the assert condition

The offset condition was not fully inverted in its transition to assert.
(The same checks for other architectures were all done correctly.)

9 years agoInclude assert parameters in document comment
Felix Lu [Fri, 28 Aug 2015 13:58:27 +0000 (09:58 -0400)]
Include assert parameters in document comment

9 years agoMove assert function
Felix Lu [Fri, 28 Aug 2015 13:47:29 +0000 (09:47 -0400)]
Move assert function

Move assertion function into logging.stp.

9 years agoPR18876: modify existing tapset and testcases to use assert()
Felix Lu [Thu, 27 Aug 2015 20:35:38 +0000 (16:35 -0400)]
PR18876: modify existing tapset and testcases to use assert()

9 years agoPR18876: new assert tapset function
Felix Lu [Thu, 27 Aug 2015 18:54:43 +0000 (14:54 -0400)]
PR18876: new assert tapset function

* new file: tapset/assert.stp

9 years agotapset: add fullpath_struct_{nameidata,path}() and probe vfs.open*
Frank Ch. Eigler [Thu, 27 Aug 2015 20:36:29 +0000 (16:36 -0400)]
tapset: add fullpath_struct_{nameidata,path}() and probe vfs.open*

Fill little gaps in the tapset.
Includes new sample script io/slowvfs.stp.

9 years agoLet STAP_PRINTF work with no format args
Josh Stone [Thu, 27 Aug 2015 16:36:46 +0000 (09:36 -0700)]
Let STAP_PRINTF work with no format args

With ##__VA_ARGS__, cpp will remove the prior comma when there are no
args at all.  This way you avoid syntax errors like 'printf("fmt",)'.

Also #undef STAP_PRINTF at the function end, like other macros.

9 years agoEscape backslashes on some man pages
Felix Lu [Thu, 27 Aug 2015 14:12:32 +0000 (10:12 -0400)]
Escape backslashes on some man pages

Some instances of \n were not escaped.

9 years agoPR18751: STAP_PRINTF macro
Felix Lu [Thu, 27 Aug 2015 13:29:50 +0000 (09:29 -0400)]
PR18751: STAP_PRINTF macro

* translate.cxx: new macro for embedded-c functions

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