]> sourceware.org Git - systemtap.git/log
systemtap.git
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.

9 years agoAdding ppc64le loader to interpreter list
Athira [Fri, 24 Apr 2015 11:50:51 +0000 (17:20 +0530)]
Adding ppc64le loader to interpreter list

listing_mode.exp tests using stap -l for process.library are failing on
ppc64le.

Using the liblisting_mode.so library and executable from the testsuite,
stap  -l is not listing any probe points.

#stap -l 'process.library("liblisting_mode.so").function("libfoo")' -c
listing_mode

Running with verbose mode:
"WARNING: module /usr/share/systemtap/testsuite/listing_mode --ldd
skipped: unsupported interpreter: /lib64/ld64.so.2"

This is because /lib64/ld64.so.2 is not added in the interpreter list.
So Adding the ppc64le loader to the code.

Signed-off-by: Athira Rajeev <atrajeev@in.ibm.com>
9 years agoPR18310: Test coverage improvements, tapset extension.
Martin Cermak [Fri, 24 Apr 2015 08:18:53 +0000 (10:18 +0200)]
PR18310: Test coverage improvements, tapset extension.

* tapset/linux/nd_syscalls2.stp: Improve argument decoding for
                                 remap_file_pages syscall.
* tapset/linux/syscalls2.stp: Likewise + fix types.
* testsuite/systemtap.syscall/remap_file_pages.c: New testcase.
* testsuite/systemtap.syscall/restart_syscall.c: New testcase.
* testsuite/systemtap.syscall/setsid.c: New testcase.
* testsuite/systemtap.syscall/uselib.c: New testcase.
* testsuite/systemtap.syscall/vhangup.c: New testcase.

9 years agosession.cxx: improve parse error token colorization
Frank Ch. Eigler [Fri, 24 Apr 2015 01:33:18 +0000 (21:33 -0400)]
session.cxx: improve parse error token colorization

Previous code had imperfect heuristics about cutting apart parts of
erroneous source lines, with a colorized token in the middle.  It
could occur that the token was synthetic, or cmd-line $/@ based,
in which case the srcline-cutting arithmetic could go off-end and
cause a basic_string::substr: exception.  New code dabbles less in
heuristics and confirms that the token content actually matches
the srcline content.  In case of a mismatch, the original srcline
around the token's location is transcribed verbatim (with ellipses).

9 years agotapset/speculative.stp: optimize
Frank Ch. Eigler [Fri, 24 Apr 2015 01:32:18 +0000 (21:32 -0400)]
tapset/speculative.stp: optimize

Replacing several explicit iterations with array slices
makes the code cleaner and faster.

9 years agotapsets.cxx: Respond to pending_interrupts during $var expansion loops.
Frank Ch. Eigler [Fri, 24 Apr 2015 01:31:13 +0000 (21:31 -0400)]
tapsets.cxx: Respond to pending_interrupts during $var expansion loops.

Otherwise, a giant stap job processing .statement("*") with $$vars
becomes hard-to-interrupt.

9 years agoman error::pass5: mention --suppress-time-limits
Frank Ch. Eigler [Thu, 23 Apr 2015 16:16:58 +0000 (12:16 -0400)]
man error::pass5: mention --suppress-time-limits

9 years agoFix tapsets.cxx double ->-> compile error.
Mark Wielaard [Thu, 23 Apr 2015 15:06:45 +0000 (17:06 +0200)]
Fix tapsets.cxx double ->-> compile error.

9 years agoppc64le doesn't have function descriptors. Remove __powerpc__ in tapsets.cxx.
Mark Wielaard [Thu, 23 Apr 2015 13:59:49 +0000 (15:59 +0200)]
ppc64le doesn't have function descriptors. Remove __powerpc__ in tapsets.cxx.

Only process the opd section and do function descriptor mangling when
the target is ppc64 ELFv1 ABI. Also filter out any duplicate func_infos.
When seeing a symbol with a name starting with '.' we assume it is a
regular function pointer and not a pointer to a function descriptor and
mangle its name. That might create duplicates if there is also a function
descriptor with that name (the address will already have been resolved to
the same address).

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