]> sourceware.org Git - systemtap.git/log
systemtap.git
9 years agoPR18075 documentation
Felix Lu [Wed, 24 Jun 2015 20:49:38 +0000 (16:49 -0400)]
PR18075 documentation

9 years agoPR18075 add callee.return probes
Felix Lu [Tue, 23 Jun 2015 19:57:48 +0000 (15:57 -0400)]
PR18075 add callee.return probes

9 years agoPR18462: Allow library macro deprecation
Martin Cermak [Tue, 23 Jun 2015 06:36:46 +0000 (08:36 +0200)]
PR18462: Allow library macro deprecation

Parts of the tapset code can get deprecated using conditionals as
described in the HACKING file. This patch extends this to library
macros, which can now get deprecated too. Patch includes example
macro deprecation and a testcase.

* NEWS: Mention '__int32_compat' library macro deprecation.
* parse.cxx: Allow library macro deprecation.
* tapset/linux/syscalls.stpm: Deprecate '__int32_compat' macro.
* testsuite/parseok/macros09.stp: New testcase.

9 years agoPR13664: test that map indexes don't propagate dwarf types
Josh Stone [Mon, 22 Jun 2015 20:26:38 +0000 (13:26 -0700)]
PR13664: test that map indexes don't propagate dwarf types

9 years agoruntime/unwind.c: Also sanity check DWARF regno for DW_CFA_restore[_extended].
Mark Wielaard [Mon, 22 Jun 2015 14:57:59 +0000 (16:57 +0200)]
runtime/unwind.c: Also sanity check DWARF regno for DW_CFA_restore[_extended].

When processCFI wanted to restore a register state to its initial value it
wasn't checking whether the register was actually interesting (or existing).
DWARF_REG_MAP might return a marker (9999) that we don't know or don't care
about this register. This was checked in all the set_*_rule functions, but
not in the case we reset the rule of the register. Add this check also for
DW_CFA_restore[_extended].

9 years agoFixed PR18563 by updating mbrwatch.meta.
David Smith [Fri, 19 Jun 2015 18:26:41 +0000 (13:26 -0500)]
Fixed PR18563 by updating mbrwatch.meta.

* testsuite/systemtap.examples/io/mbrwatch.meta: Update to ignore any
  devices called 'sr[0-0]', which on ppc64 aren't disk drives.

9 years agoFixed PR18562 by updating listing_mode.exp for systems without uprobes.
David Smith [Fri, 19 Jun 2015 18:08:23 +0000 (13:08 -0500)]
Fixed PR18562 by updating listing_mode.exp for systems without uprobes.

* testsuite/systemtap.base/listing_mode.exp: For systems without uprobes,
  such as ia64 and some s390x kernels, mark probes requiring uprobes as
  untested.

9 years agoPR17737 cont'd: switch to out-of-line xsl parameter file
Frank Ch. Eigler [Fri, 19 Jun 2015 14:04:33 +0000 (10:04 -0400)]
PR17737 cont'd: switch to out-of-line xsl parameter file

The "generate.toc" parameter is a PITA to pass on the xmlto command
line with --stringparam, because it's whitespace-laden and structured.
So instead we switch to the "xmlto -m FRAGMENT.xml" mechanism.

9 years agoscripts/update-docs: reduce effort
Frank Ch. Eigler [Fri, 19 Jun 2015 13:59:29 +0000 (09:59 -0400)]
scripts/update-docs: reduce effort

Do only a partial checkout and build only the docs, if possible.

9 years agoImproved spawned process cleanup in stmt_counting.exp and valid_pid.exp.
David Smith [Thu, 18 Jun 2015 17:56:12 +0000 (12:56 -0500)]
Improved spawned process cleanup in stmt_counting.exp and valid_pid.exp.

* testsuite/systemtap.base/stmt_counting.exp: Properly call "close" and
  "wait" after "spawn" call.
* testsuite/systemtap.base/valid_pid.exp: Ditto.

9 years agoFixed PR17831 by making kprobes_onthefly.exp more robust.
David Smith [Thu, 18 Jun 2015 17:46:43 +0000 (12:46 -0500)]
Fixed PR17831 by making kprobes_onthefly.exp more robust.

* testsuite/systemtap.onthefly/kprobes_onthefly.exp: Switch from probing
  'vfs.read' and 'vfs.read.return' to probing the underlying kernel
  function to avoid inlines, which confused the output.

9 years agoMark json-detailed.stp as an expected fail in buildok-dyninst.exp.
David Smith [Wed, 17 Jun 2015 18:34:40 +0000 (13:34 -0500)]
Mark json-detailed.stp as an expected fail in buildok-dyninst.exp.

* testsuite/systemtap.pass1-4/buildok-dyninst.exp: Mark json-detailed.stp
  as an expected fail since it requires procfs probes.

9 years agobump versions to 2.9
Abegail Jakop [Wed, 17 Jun 2015 18:24:21 +0000 (14:24 -0400)]
bump versions to 2.9

9 years agoFixed PR18554 by upating the list.exp test case.
David Smith [Wed, 17 Jun 2015 18:13:09 +0000 (13:13 -0500)]
Fixed PR18554 by upating the list.exp test case.

* testsuite/systemtap.base/list.exp: Look for several inlined kernel
  functions instead of just one (since on any particular kernel there
  might not be an inlined version of that function).

9 years agoFixed PR18552 by updating the dump_probe_aliases.exp test case.
David Smith [Wed, 17 Jun 2015 17:36:31 +0000 (12:36 -0500)]
Fixed PR18552 by updating the dump_probe_aliases.exp test case.

* testsuite/systemtap.base/dump_probe_aliases.exp: Update by using
  '__syscall.accept' instead of '__syscall.lseek', which no longer
  exists

9 years agoFixed PR18551 by updating the migrate.stp example script.
David Smith [Wed, 17 Jun 2015 16:35:44 +0000 (11:35 -0500)]
Fixed PR18551 by updating the migrate.stp example script.

* testsuite/systemtap.examples/process/migrate.stp: Now prefers using the
  'sched_migrate_task' tracepoint since its arguments will always be
  available. Updated to use more of the functions from task.stp.

9 years agorelease 2.8 dating in .spec and NEWS release-2.8
Abegail Jakop [Wed, 17 Jun 2015 14:28:20 +0000 (10:28 -0400)]
release 2.8 dating in .spec and NEWS

9 years agoregenerate examples index
Abegail Jakop [Wed, 17 Jun 2015 13:49:15 +0000 (09:49 -0400)]
regenerate examples index

9 years agoImproved spawned process cleanup in several test cases.
David Smith [Tue, 16 Jun 2015 17:52:48 +0000 (12:52 -0500)]
Improved spawned process cleanup in several test cases.

* testsuite/systemtap.base/additional_scripts.exp: Properly call "close"
  and "wait" after "spawn" call.
* testsuite/systemtap.base/dtrace.exp: Ditto.
* testsuite/systemtap.base/listing_mode.exp: Ditto.
* testsuite/systemtap.base/proc_by_pid.exp: Ditto.
* testsuite/systemtap.base/valid_pid.exp: Ditto.
* testsuite/systemtap.clone/main_quiesce.exp: Ditto.

9 years agoNEWS: mention man page additions, @task and golang
Abegail Jakop [Mon, 15 Jun 2015 19:38:47 +0000 (15:38 -0400)]
NEWS: mention man page additions, @task and golang

9 years agoupdate AUTHORS file
Abegail Jakop [Mon, 15 Jun 2015 19:25:38 +0000 (15:25 -0400)]
update AUTHORS file

9 years agoFix PR18460 by updating the tracepoint_onthefly.exp test for ppc64.
David Smith [Mon, 15 Jun 2015 19:26:47 +0000 (14:26 -0500)]
Fix PR18460 by updating the tracepoint_onthefly.exp test for ppc64.

* testsuite/systemtap.onthefly/tracepoint_onthefly.exp: On ppc64, don't
  probe kernel tracepoints causing a crash.

9 years agoreleng: update-po
Frank Ch. Eigler [Mon, 15 Jun 2015 18:00:18 +0000 (14:00 -0400)]
releng: update-po

9 years agoFixed PR18538 by updating the scsi tapset.
David Smith [Mon, 15 Jun 2015 16:34:08 +0000 (11:34 -0500)]
Fixed PR18538 by updating the scsi tapset.

* tapset/linux/scsi.stp: Fix problems on rawhide by removing source file
  names from probe aliases. These don't appear to be needed and they cause
  problems if functions get moved around.

9 years agoxhtml-common.xsl: remove use of writing.mode var
Abegail Jakop [Fri, 12 Jun 2015 21:36:53 +0000 (17:36 -0400)]
xhtml-common.xsl: remove use of writing.mode var

the writing.mode var doesn't always exist. on RHEL5 it doesn't
seem to exist at all, so xmlto fails to build the beginner docs.

9 years agoFixed PR18526 by updating the socket tapset.
David Smith [Fri, 12 Jun 2015 20:38:34 +0000 (15:38 -0500)]
Fixed PR18526 by updating the socket tapset.

* tapset/linux/socket.stp: Add support for socket_write_iter() and
  socket_read_iter(), the replacements for socket_aio_write() and
  socket_aio_read. Update socket.sendmsg for newer kernels. Update
  _get_sock_addr() for newer kernels.
* testsuite/buildok/socket-detailed.stp: Updated and add tests for new
  probes.

9 years agoEnsure we have everything we need before trying the net_xmit_json.stp example.
David Smith [Fri, 12 Jun 2015 20:09:54 +0000 (15:09 -0500)]
Ensure we have everything we need before trying the net_xmit_json.stp example.

* testsuite/systemtap.examples/network/net_xmit_json.meta: Check for the
  needed tracepoints before trying to compile and run.

9 years agoFixed PR18518 by updating the vfs and nfs tapsets.
David Smith [Fri, 12 Jun 2015 14:07:05 +0000 (09:07 -0500)]
Fixed PR18518 by updating the vfs and nfs tapsets.

* tapset/linux/vfs.stp: Fix the vfs.do_sync_read and vfs.do_sync_write
  probe aliases on rawhide kernels where the underlying probe points no
  longer exist.
* tapset/linux/nfs.stp: Update probes that use vfs.do_sync_read and
  vfs.do_sync_write.

9 years agoMade x86_64 specific [nd_]syscall.vm86_warning probes optional.
David Smith [Thu, 11 Jun 2015 17:20:45 +0000 (12:20 -0500)]
Made x86_64 specific [nd_]syscall.vm86_warning probes optional.

* tapset/linux/x86_64/syscalls.stp: Made vm86_warning optional, since it
  doesn't exist anymore on rawhide.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* testsuite/buildok/syscalls-arch-detailed.stp: Updated.
* testsuite/buildok/nd_syscalls-arch-detailed.stp: Ditto.

9 years agoNEWS piece on the ns-aware tapsets
Abegail Jakop [Thu, 11 Jun 2015 15:07:15 +0000 (11:07 -0400)]
NEWS piece on the ns-aware tapsets

9 years agomake pid ns tapsets available on kernel 3.7
Abegail Jakop [Thu, 11 Jun 2015 14:02:00 +0000 (10:02 -0400)]
make pid ns tapsets available on kernel 3.7

9 years ago[task_]ns_* tapsets: throw error instead of returning -1
Abegail Jakop [Wed, 10 Jun 2015 17:28:17 +0000 (13:28 -0400)]
[task_]ns_* tapsets: throw error instead of returning -1

9 years agoget_task_from_pid() only if def CONFIG_*_NS
Abegail Jakop [Mon, 8 Jun 2015 22:21:22 +0000 (18:21 -0400)]
get_task_from_pid() only if def CONFIG_*_NS

9 years agostaprun: send STP_NAMESPACE_PID msg only if -N PID
Abegail Jakop [Mon, 8 Jun 2015 22:00:20 +0000 (18:00 -0400)]
staprun: send STP_NAMESPACE_PID msg only if -N PID

9 years agoruntime/linux/namespaces.h: hold rcu_read_lock longer
Abegail Jakop [Mon, 8 Jun 2015 19:30:12 +0000 (15:30 -0400)]
runtime/linux/namespaces.h: hold rcu_read_lock longer

require the rcu_read_lock in get_*_namespaces(). then the rcu_read_lock
is acquired in from_target_*_ns() before calling get_*_namespace()
and is returned after it's done with the pid namepace. also moved
duplicated code to a helper function, get_task_struct_from pid()

9 years agosemko test using task_ns_pid() tapset without -g
Abegail Jakop [Mon, 8 Jun 2015 18:28:26 +0000 (14:28 -0400)]
semko test using task_ns_pid() tapset without -g

9 years agotranslate.cxx: always include namespaces.h
Abegail Jakop [Mon, 8 Jun 2015 17:34:55 +0000 (13:34 -0400)]
translate.cxx: always include namespaces.h

add empty file dyninst/namespaces.h, so that the conditional for
whether to include RUNTIME/namespaces.h can be removed.

9 years agocontext_ns.exp: replace userns_child_exec.c with unshare
Abegail Jakop [Fri, 5 Jun 2015 20:39:27 +0000 (16:39 -0400)]
context_ns.exp: replace userns_child_exec.c with unshare

9 years agostore pid from staprun -N opt in _stp_namespaces_pid
Abegail Jakop [Wed, 3 Jun 2015 14:51:01 +0000 (10:51 -0400)]
store pid from staprun -N opt in _stp_namespaces_pid

9 years agoadd -N TARGET_NS_PID option to staprun
Abegail Jakop [Fri, 29 May 2015 20:08:07 +0000 (16:08 -0400)]
add -N TARGET_NS_PID option to staprun

buildrun.cxx: add -N if there is a target namespaces pid when making
the staprun command
staprun/common.c: parse new -N option that takes a pid. also check
to make sure the given pid is not obviously invalid
staprun/mainloop.c: dbug msg if there is a target namespace pid
session.cxx: check the target ns pid is not an obviously invalid pid

9 years agomove the bulk of [task_]ns_* tapsets to helper fns
Abegail Jakop [Mon, 1 Jun 2015 15:46:34 +0000 (11:46 -0400)]
move the bulk of [task_]ns_* tapsets to helper fns

runtime/linux/namespaces.h: define helper fns to get specific pid or user
information based on the target namespaces. rely on the new runtime
variable _stp_namespace_pid rather than the _STP_NAMESPACE_PID macro
runtime/transport/transport.c: define runtime var _stp_namespace_pid
that will contain the target namespaces pid. default to _stp_pid
if there was no target ns pid specified
tapset/linux/*.stp: replace body of [task_]ns_* tapset functions with a
call to the helper functions in namespaces.h
translate.cxx: remove _STP_NAMESPACE_PID macro definition

9 years agoadd /* guru */ pragma to task_ns_* tapsets
Abegail Jakop [Fri, 29 May 2015 15:20:17 +0000 (11:20 -0400)]
add /* guru */ pragma to task_ns_* tapsets

the task_ns_* functions aren't protected from read faults when trying to
access the task struct at the provided address, so we'll add the /* guru */
pragma to hint at how unsafe those functions are.

9 years agomoved repetitive pid-to-ns chunks into a function
Abegail Jakop [Tue, 26 May 2015 18:40:35 +0000 (14:40 -0400)]
moved repetitive pid-to-ns chunks into a function

runtime/linux/namespaces.h: get_pid_namespace() and get_user_namespace()
that take in a (int) pid returning a pointer to the namespace.
translate.cxx: include the namespaces.h file, if --runtime=kernel
tapset/linux/*.stp: replace repetitive pid-to-namespace code with new
get_*_namespace()

9 years agocontext_ns.exp: test for pid ns-aware tapset functions
Abegail Jakop [Mon, 25 May 2015 18:45:08 +0000 (14:45 -0400)]
context_ns.exp: test for pid ns-aware tapset functions

new test case to check that the ns-aware tapset functions are returning
values that match what is expected. currently only implemented for pid
ns tapset functions.

9 years agoremove ns comparison in [task_]ns_* tapsets
Abegail Jakop [Fri, 22 May 2015 18:10:03 +0000 (14:10 -0400)]
remove ns comparison in [task_]ns_* tapsets

turns out that the functions used to get the ns-specific values in the
new tapsets will return a sufficient error value (0 or uid/guid overflow
value) if the target task/current  is not in the target pid/user namespace

9 years agouse find_pid_ns instead of find_get_pid in [task_]ns_*
Abegail Jakop [Fri, 22 May 2015 18:02:17 +0000 (14:02 -0400)]
use find_pid_ns instead of find_get_pid in [task_]ns_*

in the new namespace-aware tapset functions, we cant use find_get_pid() to
get the pid struct from a target ns pid because it looks for that pid in the
current task's pid ns, when we want it to look in the root pidns. switched
to find_pid_ns() which allows us to specify a pid ns to look in.

9 years agobuildok test cases for ns-aware tapsets
Abegail Jakop [Tue, 19 May 2015 18:30:50 +0000 (14:30 -0400)]
buildok test cases for ns-aware tapsets

testsuite/buildok/context-embedded-ns.stp: check that the pid and user
related ns_* tapsets can build.
testsuite/buildok/task_ns.stp: check that the pid and user related
task_ns_* tapsets can build.
testsuite/systemtap.pass1-4/buildok-dyninst.exp: add test cases to
dyinst run's KFAIL list

9 years agonew namespace-aware tapset functions: [task_]ns_*
Abegail Jakop [Fri, 15 May 2015 15:18:01 +0000 (11:18 -0400)]
new namespace-aware tapset functions: [task_]ns_*

context.stp: new tapset functions ns_[pid|tid|ppid|pgrp|sid] for pid
namespaces. ns_[e][g|u]id functions for user namespaces. the returned
value with be relative to either the --target-namespaces=PID or the stap
process' pid or user namespace.
task.stp: task_ns_* (and others) functions to be the namespace-aware
counterparts to the original task_* functions. the new functions will
return a value relative to the target-namespaces=PID or stap process'
namespaces.

9 years agonew option: --target-namespaces=PID
Abegail Jakop [Tue, 19 May 2015 15:54:31 +0000 (11:54 -0400)]
new option: --target-namespaces=PID

added a new option to specify a set of target namespaces based on a pid.
this will be used with upcoming namespace-aware tapsets, which will
rely on that target namespaces in order to provide relevant information.

9 years agoFixed PR18461 by updating the netfilter code for linux 4.1.
David Smith [Wed, 10 Jun 2015 17:38:52 +0000 (12:38 -0500)]
Fixed PR18461 by updating the netfilter code for linux 4.1.

* tapset-netfilter.cxx (emit_module_decls): Add support for new linux 4.1
  netfilter changes.
* buildrun.cxx (compile_pass): Add new netfilter autoconf test.
* runtime/linux/autoconf-netfilter-4_1.c: New autoconf test.

9 years agoFix typo in stap.1 man page
Masanari Iida [Tue, 9 Jun 2015 12:15:57 +0000 (21:15 +0900)]
Fix typo in stap.1 man page

This patch fix spelling typos in stap.1

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
9 years agoRemove more non-syscalls from testsuite/systemtap.syscall/coverage.tcl output.
David Smith [Tue, 9 Jun 2015 21:40:24 +0000 (16:40 -0500)]
Remove more non-syscalls from testsuite/systemtap.syscall/coverage.tcl output.

* testsuite/systemtap.syscall/coverage.tcl: Remove more non-syscalls from
  the output: copyarea, fillrect, and imageblit.

9 years agoIncrease the testsuite timeout value for 32-bit arm systems.
David Smith [Tue, 9 Jun 2015 18:29:41 +0000 (13:29 -0500)]
Increase the testsuite timeout value for 32-bit arm systems.

* testsuite/lib/systemtap.exp (setup_systemtap_environment): Increase the
  timeout value for 32-bit arm systems.

9 years agoPR18492: Add tapset support and test coverage for sched_{get,set}attr
Martin Cermak [Tue, 9 Jun 2015 07:47:01 +0000 (09:47 +0200)]
PR18492: Add tapset support and test coverage for sched_{get,set}attr

* tapset/linux/aux_syscalls.stp: New function _struct_sched_attr_u()
* tapset/linux/nd_syscalls2.stp: New probes nd_syscall.sched_{g,s}etattr
* tapset/linux/syscalls2.stp: New probes syscall.sched_{g,s}etattr
* testsuite/buildok/aux_syscalls-embedded.stp: New subtest
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto
* testsuite/buildok/syscalls2-detailed.stp: Ditto
* testsuite/systemtap.syscall/sched_attr.c: New testcase

9 years agoPR18501: Add tapset support and test coverage for the kcmp syscall
Martin Cermak [Tue, 9 Jun 2015 06:32:41 +0000 (08:32 +0200)]
PR18501: Add tapset support and test coverage for the kcmp syscall

* tapset/linux/aux_syscalls.stp: New function _kcmp_type_str()
* tapset/linux/nd_syscalls.stp: New probe nd_syscall.kcmp
* tapset/linux/syscalls.stp: New probe syscall.kcmp
* testsuite/buildok/aux_syscalls-embedded.stp: New subtest
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto
* testsuite/buildok/syscalls-detailed.stp: Ditto
* testsuite/systemtap.syscall/kcmp.c: New testcase

9 years agostapprobes: mention symbol-table based semi-dwarfy probe fallbacks
Frank Ch. Eigler [Mon, 8 Jun 2015 17:11:04 +0000 (13:11 -0400)]
stapprobes: mention symbol-table based semi-dwarfy probe fallbacks

9 years agoPR14161: tweak NEWS wordage and extend test case run time
Frank Ch. Eigler [Fri, 5 Jun 2015 15:10:57 +0000 (11:10 -0400)]
PR14161: tweak NEWS wordage and extend test case run time

9 years agoNEWS: STP packet probe points
Felix Lu [Fri, 5 Jun 2015 15:00:59 +0000 (11:00 -0400)]
NEWS: STP packet probe points

9 years agoNEWS: mention commit d8ef032e
Frank Ch. Eigler [Wed, 3 Jun 2015 20:12:11 +0000 (16:12 -0400)]
NEWS: mention commit d8ef032e

9 years ago14164 netfilter bridge protocol packet info
Felix Lu [Thu, 4 Jun 2015 14:24:06 +0000 (10:24 -0400)]
14164 netfilter bridge protocol packet info

9 years agoImprove a couple of syscall testcases for aarch64.
David Smith [Thu, 4 Jun 2015 18:14:24 +0000 (13:14 -0500)]
Improve a couple of syscall testcases for aarch64.

* testsuite/systemtap.syscall/getdents.c: Make changes to work better on
  aarch64.
* testsuite/systemtap.syscall/mknod.c: Ditto.

9 years agoFixed PR18477 by adding support for 10 syscalls.
David Smith [Thu, 4 Jun 2015 16:47:04 +0000 (11:47 -0500)]
Fixed PR18477 by adding support for 10 syscalls.

* runtime/linux/compat_unistd.h: Add syscall defines.
* tapset/linux/aux_syscalls.stp: Add _kexec_file_load_flags_str,
  _renameat2_flags_str, _fanotify_init_flags_str,
  _fanotify_mark_flags_str, _fanotify_mark_mask_str, and
  _perf_event_open_flags_str functions.
* tapset/linux/syscalls.stp: Added fanotify_init, fanotify_mark, getcpu,
  and kexec_file_load probes.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/syscalls2.stp: Added perf_event_open, prlimit64,
  process_vm_readcv, process_vm_writev, and renameat2 probes.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/syscalls.stpm: Added __BIG_ENDIAN macro.
* tapset/linux/x86_64/syscalls.stp: Made several probes optional.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* testsuite/buildok/aux_syscalls-embedded.stp: Added compile tests for new
  functions.
* testsuite/buildok/syscalls-detailed.stp: Added compile tests for new
  probes.
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/fanotify.c: New test case.
* testsuite/systemtap.syscall/getcpu.c: Ditto.
* testsuite/systemtap.syscall/perf_event.c: Ditto.
* testsuite/systemtap.syscall/prlimit.c: Ditto.
* testsuite/systemtap.syscall/process_vm.c: Ditto.
* testsuite/systemtap.syscall/kexec_load.c: Added new tests.
* testsuite/systemtap.syscall/rename.c: Ditto.
* testsuite/systemtap.syscall/setgroups.c: Ditto.
* testsuite/systemtap.syscall/accept4.c: Checks for glibc support for
  syscall.
* testsuite/systemtap.syscall/handle_at.c: Ditto.
* testsuite/systemtap.syscall/ptrace.c: Ditto.
* testsuite/systemtap.syscall/sendmmsg.c: Ditto.
* testsuite/systemtap.syscall/sync_file_range.c: Fixed 32-bit compilation.

9 years agoAvoid compile errors in arch-dependent aux_syscalls.stp tapset files.
David Smith [Thu, 4 Jun 2015 16:31:26 +0000 (11:31 -0500)]
Avoid compile errors in arch-dependent aux_syscalls.stp tapset files.

* tapset/linux/aux_syscalls.stp: Move macro and structure definitions to
  runtime/linux/syscalls-common.h. Include new file.
* runtime/linux/syscalls-common.h: New file.
* tapset/linux/arm/aux_syscalls.stp: Include new header file to avoid
  compilation 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.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* tapset/linux/x86_64/syscalls.stp: Ditto.

9 years agoUse a value for bad syscall that works better on 32-bit ARM
William Cohen [Fri, 29 May 2015 19:50:22 +0000 (15:50 -0400)]
Use a value for bad syscall that works better on 32-bit ARM

On 32-bit ARM the use of -1 for the syscall number for the bad syscall
in the utrace_syscall_args test will result in a kernel oops on some
kernels and the use other negative numbers will result in illegal
instruction exceptions.  Changing the bad syscall to use a large
positive number for the bad syscall to allow this test to work better
on 32-bit arm.

or an illegal instruction fault.

9 years agoUse __compat_[u]long() macros in syscall.migrate_pages and __keyctl_argstr()
Martin Cermak [Fri, 29 May 2015 13:26:49 +0000 (15:26 +0200)]
Use __compat_[u]long() macros in syscall.migrate_pages and __keyctl_argstr()

9 years agoAllow preprocessor.exp test to recognize 4.x kernels
William Cohen [Thu, 28 May 2015 15:08:37 +0000 (11:08 -0400)]
Allow preprocessor.exp test to recognize 4.x kernels

9 years agoSyscall tapset cleanup
Martin Cermak [Wed, 27 May 2015 06:32:58 +0000 (08:32 +0200)]
Syscall tapset cleanup

* tapset/linux/syscalls.stpm: New macros, add pragma comments
* tapset/linux/syscalls[2].stp: Cleanup

9 years agonetfilter/ip tapset: add "kernel<foo.h>" for all @cast()'s
Frank Ch. Eigler [Tue, 26 May 2015 23:01:33 +0000 (19:01 -0400)]
netfilter/ip tapset: add "kernel<foo.h>" for all @cast()'s

It is preferable to generate typing debuginfo for tapsets from headers
if possible, rather than require kernel-debuginfo.  This corrects the
buildok/netfilter-glob.stp test case on f21.

9 years agoBug 15987 - generated function::* man pages should xref to enclosing tapset::*
Felix Lu [Mon, 25 May 2015 20:27:32 +0000 (16:27 -0400)]
Bug 15987 - generated function::* man pages should xref to enclosing tapset::*

9 years agoAdd stapref.1 to systemtap.spec
Felix Lu [Mon, 25 May 2015 14:06:28 +0000 (10:06 -0400)]
Add stapref.1 to systemtap.spec

9 years agoImprove systemtap language reference man page
Felix Lu [Thu, 21 May 2015 14:25:59 +0000 (10:25 -0400)]
Improve systemtap language reference man page

9 years agoSystemtap language reference man page
Felix Lu [Tue, 19 May 2015 19:17:36 +0000 (15:17 -0400)]
Systemtap language reference man page

9 years agoAdd entry for ppc64le in arch list
Athira [Wed, 20 May 2015 12:21:03 +0000 (17:51 +0530)]
Add entry for ppc64le in arch list

A few tests fails in ppc64le with error:

========
parse error: expected 'probe', 'global', 'function', or '%{'^M
         saw: identifier 'ERROR' at <input>:22:43^M
      source:     %( arch == "ppc64le"            %? %: ERROR %)^M
                                                        ^^M
^M
1 parse error.^M
Pass 1: parse failed.  [man error::pass1]^M
FAIL: preprocessor basic ops
=========

This is because ppc64le is not added to arch list in systemtap.exp .
cmd_parse.exp also fails with similar error for arch.  Modifying the
code for ppc64le.

Signed-off-by: Athira Rajeev <atrajeev@in.ibm.com>
9 years agoSeveral small fixes in syscall tapset and related testcases.
Martin Cermak [Wed, 20 May 2015 12:16:09 +0000 (14:16 +0200)]
Several small fixes in syscall tapset and related testcases.

* tapset/linux/syscalls.stp: Fix s390x compat task pointer retrieval.
* tapset/linux/syscalls2.stp: Fix s390x compat task pointer retrieval,
    fix syscall.rt_sigsuspend compat probe
* testsuite/systemtap.syscall/getrandom.c: Fix compile time issues
* testsuite/systemtap.syscall/memfd_create.c: Fix compile time issues
* testsuite/systemtap.syscall/nfsservctl.c: Fix compile time issues
* testsuite/systemtap.syscall/ptrace.c: Fix concurrent inclusion of
    sys/ptrace.h and linux/ptrace.h for e.g. 3.13.9-200.fc20
* testsuite/systemtap.syscall/recv.c: Relax limit testing
* testsuite/systemtap.syscall/recvfrom.c: Likewise
* testsuite/systemtap.syscall/send.c: Likewise
* testsuite/systemtap.syscall/sendto.c: Likewise
* testsuite/systemtap.syscall/signalfd.c: Fix compile time issues

9 years agoman warning::debuginfo.7stap: tweak highlighting
Frank Ch. Eigler [Sat, 16 May 2015 11:54:32 +0000 (07:54 -0400)]
man warning::debuginfo.7stap: tweak highlighting

9 years agowarning::debuginfo page: elaborate on kernel-debug vs. kernel-debuginfo rpms
Frank Ch. Eigler [Sat, 16 May 2015 01:08:05 +0000 (21:08 -0400)]
warning::debuginfo page: elaborate on kernel-debug vs. kernel-debuginfo rpms

9 years agoAdd the JSON tapset and macros to the generated documentation.
David Smith [Thu, 14 May 2015 19:08:52 +0000 (14:08 -0500)]
Add the JSON tapset and macros to the generated documentation.

* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add JSON tapset chapter.
* tapset/linux/json.stp: Update documentation.
* tapset/linux/json.stpm: Ditto.

9 years agoAdd support for documenting systemtap macros.
David Smith [Thu, 14 May 2015 19:07:17 +0000 (14:07 -0500)]
Add support for documenting systemtap macros.

* scripts/kernel-doc (process_file): Add support for documenting systemtap
  macros.
* doc/SystemTap_Tapset_Reference/manpager: Ditto.

9 years agomake from_glob a per-component field rather than per-pp
Jonathan Lebon [Thu, 14 May 2015 14:29:50 +0000 (10:29 -0400)]
make from_glob a per-component field rather than per-pp

The original need for from_glob in probe_point was to distinguish
"specified" probe points from those that were still generic/globby. E.g.
so that we know to make function suggestions for
process("/usr/bin/ls").function("bad_func") but not yet for
process("/usr/bin/l*").function("bad_func").

The issue however is that there is no distinction between which
component is from a globby one. E.g. if we have
process("/usr/bin/l*").library("libc").function("bad_func"), which
becomes process("/usr/bin/ls").library("libc").function("bad_func"), we
won't know while resolving the library whether from_glob is true because
the process was globby or because the library was globby.

Thus, the 'from_globbiness' is a property of the component, not the
whole probe point. In this commit, we make from_glob instead a member of
probe_point::component. We then add a from_globby_comp() function which
can be used to determine if a specific component was derived from a
globby one.

9 years agoAdd a JSON tapset build test case.
David Smith [Thu, 14 May 2015 14:30:22 +0000 (09:30 -0500)]
Add a JSON tapset build test case.

* testsuite/buildok/json-detailed.stp: New test.

9 years agotracepoint_onthefly.exp: setup_kfail tests for now
Jonathan Lebon [Wed, 13 May 2015 21:37:18 +0000 (17:37 -0400)]
tracepoint_onthefly.exp: setup_kfail tests for now

At least until the patch in PR17256 is merged.

Also comment out the last stress-test, which uses process.end probes and
is subject to the effects in PR17461.

9 years agotracepoint_onthefly.exp: new testcase
Jonathan Lebon [Tue, 12 Aug 2014 21:48:50 +0000 (17:48 -0400)]
tracepoint_onthefly.exp: new testcase

This testcase will be useful when tracepoints will support on-the-fly
arming. See PR17256.

9 years agoAdd 2 JSON tapset examples.
David Smith [Wed, 13 May 2015 17:43:20 +0000 (12:43 -0500)]
Add 2 JSON tapset examples.

* testsuite/systemtap.examples/network/net_xmit_json.meta: New file.
* testsuite/systemtap.examples/network/net_xmit_json.stp: Ditto.
* testsuite/systemtap.examples/network/netfilter_summary_json.meta: Ditto.
* testsuite/systemtap.examples/network/netfilter_summary_json.stp: Ditto.

9 years agoPR18398: Tapset support for {get,set}_thread_area syscalls
Martin Cermak [Wed, 13 May 2015 15:06:34 +0000 (17:06 +0200)]
PR18398: Tapset support for {get,set}_thread_area syscalls

* tapset/linux/i386/aux_syscalls.stp: New function _struct_user_desc_u()
* tapset/linux/i386/nd_syscalls.stp: Decode struct user_desc
* tapset/linux/i386/syscalls.stp: Ditto
* tapset/linux/x86_64/aux_syscalls.stp: New function _struct_user_desc_u()
* tapset/linux/x86_64/nd_syscalls.stp: New probes nd_syscall.{get,set}_thread_area
* tapset/linux/x86_64/syscalls.stp: New probes syscall.{get,set}_thread_area
* testsuite/buildok/nd_syscalls-arch-detailed.stp: New subtests
* testsuite/buildok/syscalls-arch-detailed.stp: New subtests
* testsuite/systemtap.syscall/thread_area.c: New testcase

9 years agoAdd JSON tapset and macro file.
David Smith [Tue, 12 May 2015 21:36:36 +0000 (16:36 -0500)]
Add JSON tapset and macro file.

* tapset/linux/json.stp: New file.
* tapset/linux/json.stpm: Ditto.

9 years agoPR18395: New tapset handling {get,set}_robust_list syscalls.
Martin Cermak [Tue, 12 May 2015 05:23:49 +0000 (07:23 +0200)]
PR18395: New tapset handling {get,set}_robust_list syscalls.

* tapset/linux/nd_syscalls.stp: New probe nd_syscall.get_robust_list
* tapset/linux/nd_syscalls2.stp: New probe nd_syscall.set_robust_list
* tapset/linux/syscalls.stp: New probe syscall.get_robust_list
* tapset/linux/syscalls2.stp: New probe syscall.set_robust_list
* testsuite/buildok/nd_syscalls-detailed.stp: New subtest
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto
* testsuite/buildok/syscalls-detailed.stp: Ditto
* testsuite/buildok/syscalls2-detailed.stp: Ditto
* testsuite/systemtap.syscall/robust_list.c: New testcase

9 years agoPR18387: New tapset handling the setns syscall
Martin Cermak [Mon, 11 May 2015 06:46:37 +0000 (08:46 +0200)]
PR18387: New tapset handling the setns syscall

* tapset/linux/nd_syscalls2.stp: New nd_syscall.setns tapset
* tapset/linux/syscalls2.stp: New syscall.setns tapset
* testsuite/buildok/nd_syscalls2-detailed.stp: Add tests
* testsuite/buildok/syscalls2-detailed.stp: Add tests
* testsuite/systemtap.syscall/setns.c: New testcase

9 years agoPR18389: disable ICF on tracepoint queries
Josh Stone [Fri, 8 May 2015 20:17:36 +0000 (13:17 -0700)]
PR18389: disable ICF on tracepoint queries

We want distinct representation of every tracepoint, even if they happen
to look identical to GCC with the same function prototype.

9 years agotapsets.cxx: handle library globbing by path
Josh Stone [Fri, 1 May 2015 22:13:31 +0000 (15:13 -0700)]
tapsets.cxx: handle library globbing by path

Library globbing was working fine on DT_NEEDED matches, but would
infinitely recurse on path globs without expanding.

9 years agotestsuite: add prototypes to sdt_misc.c
Josh Stone [Fri, 1 May 2015 22:12:13 +0000 (15:12 -0700)]
testsuite: add prototypes to sdt_misc.c

GCC5 was failing on implicit functions with -DONLY_MAIN.  We can
unconditionally declare the functions to avoid this.

9 years agoFix PR18361 by supporting RHEL7's 'securelevel' feature.
David Smith [Thu, 30 Apr 2015 17:56:12 +0000 (12:56 -0500)]
Fix PR18361 by supporting RHEL7's 'securelevel' feature.

* session.cxx (modules_must_be_signed): Check the
  '/sys/kernel/security/securelevel' file for the value '1'. If so,
  modules must be signed.

9 years agoNEWS: retroactively add mention of STAP_ERROR() embedded-c code
Frank Ch. Eigler [Wed, 29 Apr 2015 14:36:45 +0000 (10:36 -0400)]
NEWS: retroactively add mention of STAP_ERROR() embedded-c code

(It was overlooked in the stap 2.5 block of release notes.)

9 years agoFix PR18309 by updating the syscall.sig{pending,suspend,altstack} probes.
David Smith [Tue, 28 Apr 2015 20:36:24 +0000 (15:36 -0500)]
Fix PR18309 by updating the syscall.sig{pending,suspend,altstack} probes.

* tapset/linux/syscalls2.stp (syscall.sigaltstack): Add 32-bit
  support. Also call _stp_sigaltstack_u() or _stp_compat_sigaltstack_u()
  to decode the uss.
  (syscall.sigpending): Add 32-bit support.
  (syscall.sigsuspend): Improve 32-bit support.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/i386/nd_syscalls.stp: Improve sigaltstack probe.
* tapset/linux/i386/syscalls.stp: Ditto.
* tapset/linux/ia64/nd_syscalls.stp: Ditto.
* tapset/linux/ia64/syscalls.stp: Ditto.
* tapset/linux/powerpc/nd_syscalls.stp: Ditto.
* tapset/linux/powerpc/syscalls.stp: Ditto.
* tapset/linux/s390/nd_syscalls.stp: Ditto.
* tapset/linux/s390/syscalls.stp: Ditto.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* tapset/linux/x86_64/syscalls.stp: Ditto.
* tapset/linux/aux_syscalls.stp: Improve _stp_sigmask_str(). Add
  _stp_sigaltstack_u() and _stp_compat_sigaltstack_u().
* runtime/linux/compat_structs.h: Renamed from compat_siginfo.h and more
  compat structs added.
* testsuite/buildok/aux_syscalls-embedded.stp: Test new functions.
* testsuite/buildok/nd_syscalls-arch-detailed.stp: Moved sigaltstack
  testing to nd_syscalls2-detailed.stp.
* testsuite/buildok/syscalls-arch-detailed.stp: Ditto.
* testsuite/buildok/nd_syscalls2-detailed.stp: Always test sigaltstack.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/remap_file_pages.c: Tweaked test case.
* testsuite/systemtap.syscall/sigaltstack.c: New test case.
* testsuite/systemtap.syscall/signal.c: Added more tests.

9 years agoPR18343: New tapset handling the clock_adjtime syscall
Martin Cermak [Tue, 28 Apr 2015 16:23:24 +0000 (18:23 +0200)]
PR18343: New tapset handling the clock_adjtime syscall

* tapset/linux/nd_syscalls.stp: New nd_syscall.clock_adjtime
* tapset/linux/syscalls.stp: New syscall.clock_adjtime
* testsuite/buildok/nd_syscalls-detailed.stp: Test script level vars
* testsuite/buildok/syscalls-detailed.stp: Likewise
* testsuite/systemtap.syscall/clock.c: Syscall test coverage

9 years agoPR18337: Test coverage improvements, tapset extension.
Martin Cermak [Tue, 28 Apr 2015 04:45:02 +0000 (06:45 +0200)]
PR18337: Test coverage improvements, tapset extension.

* tapset/linux/aux_syscalls.stp: New auxiliary function _kexec_flags_str()
* tapset/linux/nd_syscalls.stp: Fix types and nesting for kexec_load
* tapset/linux/syscalls.stp: Likewise
* testsuite/buildok/nd_syscalls-detailed.stp: Test the flags_str variable
* testsuite/buildok/syscalls-detailed.stp: Likewise
* testsuite/systemtap.syscall/kexec_load.c: New testcase
* testsuite/systemtap.syscall/set_tid_address.c: New testcase

9 years agoAdd spawn_seeker.txt to example information.
William Cohen [Mon, 27 Apr 2015 19:10:33 +0000 (15:10 -0400)]
Add spawn_seeker.txt to example information.

9 years agoFix PR17986 by updating the unprivileged_probes.exp test case.
David Smith [Mon, 27 Apr 2015 18:21:50 +0000 (13:21 -0500)]
Fix PR17986 by updating the unprivileged_probes.exp test case.

* testsuite/systemtap.unprivileged/unprivileged_probes.exp: Run the loop
  executable in the background so that all 'process(number)' probes get a
  valid pid.
* testsuite/systemtap.unprivileged/foo.c: Deleted unused file.
* testsuite/systemtap.unprivileged/libfoo.c: Ditto.

9 years agoFilter out descriptor/SHN_UNDEF symbols in symbol_table::lookup_symbol.
Mark Wielaard [Fri, 24 Apr 2015 17:59:32 +0000 (19:59 +0200)]
Filter out descriptor/SHN_UNDEF symbols in symbol_table::lookup_symbol.

With newer elfutils (>= 0.158) function descriptor symbols get resolved
to their actual function entry address. With older elfutils we mark such
symbols as descriptor through reject_section (because their address will
match the .opd). Filter these symbols out in symbol_table::lookup_symbol
and symbol_table::lookup_symbol_address. None of the callers want these
SHN_UNDEF/descriptor symbol (addresses).

This solves another instance of Multiple 'sys_ni_syscall' symbols found
warning on ppc64[be] with older elfutils.

9 years agowhythefail.stp: typo fix in comments
Frank Ch. Eigler [Fri, 24 Apr 2015 15:30:08 +0000 (11:30 -0400)]
whythefail.stp: typo fix in comments

(Printing $return$ from a statement probe doesn't make any sense.)

9 years agonew example: whythefail.stp
Frank Ch. Eigler [Fri, 24 Apr 2015 15:11:20 +0000 (11:11 -0400)]
new example: whythefail.stp

Inspired by wcohen's speculate.stp tapset/testcase and cibegttd@irc's
needs, this script prints a statement-execution trace for a given
function, but only for those runs of the function that ended up with a
(configurable) post-return condition.  It turns out to be a neat
multipurpose widget, for random-sampled function tracing as well as
failure analysis.

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