]> sourceware.org Git - systemtap.git/log
systemtap.git
9 years agoPR12276: fix line numbers to match in usymfileline.exp
Abegail Jakop [Mon, 2 Feb 2015 21:56:14 +0000 (16:56 -0500)]
PR12276: fix line numbers to match in usymfileline.exp

9 years agoPR12276: compare symfileline() with pp()
Abegail Jakop [Wed, 28 Jan 2015 16:43:46 +0000 (11:43 -0500)]
PR12276: compare symfileline() with pp()

[u]symfileline.*: added a test that uses *.statement(*@*:*) probes to
compare the return from [u]symfileline() with the @file:line portion of pp()

9 years agoPR12276: expect path+file in [u]symfile[line] tests
Abegail Jakop [Tue, 27 Jan 2015 19:22:55 +0000 (14:22 -0500)]
PR12276: expect path+file in [u]symfile[line] tests

9 years agoPR12276: symfile[line]() return path and filename
Abegail Jakop [Tue, 27 Jan 2015 18:51:23 +0000 (13:51 -0500)]
PR12276: symfile[line]() return path and filename

sym.c: changed the filename gathering portion from _stp_linenumber_lookup()
to collect the directory information and include that with the returned
filename. moved the filename gathering portion to its own function,
_stp_filename_lookup()

9 years agoPR12276: fix comparison in dump_line_tables_check()
Abegail Jakop [Fri, 23 Jan 2015 16:57:57 +0000 (11:57 -0500)]
PR12276: fix comparison in dump_line_tables_check()

9 years agoPR12276: correct checks in dump_line_tables_check()
Abegail Jakop [Thu, 22 Jan 2015 20:28:50 +0000 (15:28 -0500)]
PR12276: correct checks in dump_line_tables_check()

9 years agoPR12276: add ifdef when assigning _stp_module.debug_line
Abegail Jakop [Wed, 14 Jan 2015 17:31:17 +0000 (12:31 -0500)]
PR12276: add ifdef when assigning _stp_module.debug_line

9 years agoPR12276: fix inital line data check to check all units
Abegail Jakop [Wed, 14 Jan 2015 17:22:24 +0000 (12:22 -0500)]
PR12276: fix inital line data check to check all units

translate.cxx: encase the majority of dump_line_tables_check() in a while
loop to check all of the units/line number programs instead of only
the first unit/line number program

9 years agoPR12276: perform initial checks on debug_line data
Abegail Jakop [Wed, 7 Jan 2015 21:30:23 +0000 (16:30 -0500)]
PR12276: perform initial checks on debug_line data

translate.cxx: during translation, check that most of the line data
header looks fine. checks dont cover directory or file name table.

9 years agoPR12276: tests for symfileline and related
Abegail Jakop [Wed, 31 Dec 2014 15:22:11 +0000 (10:22 -0500)]
PR12276: tests for symfileline and related

[u]context-symbols-embedded.stp: check that [u]symfileline() and
the related tapset functions build without issues
usymfileline.*: tests usymfileline(), usymfile(), and usymline() with
and without debug_line info
symfileline.*: tests symfileline(), symfile() and symline() with
an valid address from the kernel module set up in context.exp
context.exp: add symfileline to list of tests to be run

9 years agoPR12276: add functions [u]symfile and [u]symline
Abegail Jakop [Mon, 22 Dec 2014 21:58:44 +0000 (16:58 -0500)]
PR12276: add functions [u]symfile and [u]symline

runtime/sym.c: in _stp_snprint_addr(), add in the ability to return
the linenumber or the filename.
tapset/linux/[u]context-symbols.stp: added functions [u]symline and
[u]symfile. fixed spelling mistake with pragma:myproc-unprivileged

9 years agoPR12276: fix addr adjustment for symfileline()
Abegail Jakop [Mon, 22 Dec 2014 20:04:34 +0000 (15:04 -0500)]
PR12276: fix addr adjustment for symfileline()

runtime/sym*: adjust the given address to account for the load offset
runtime/transport/symbols.c: include the body of _stp_module_update_self()
if STP_NEED_LINE_DATA so that the sec_load_offset can be updated
tapset/linux/context-symbols.stp: remove the pragma myproc-unpriveleged
since it's spelled wrong, and it's not needed anyways
translate.cxx: add funtion find_debug_frame_offset() to set the
sec_load_offset for the ".text" section

9 years agoPR12276: debug_line data decoder
Abegail Jakop [Thu, 11 Dec 2014 20:20:44 +0000 (15:20 -0500)]
PR12276: debug_line data decoder

runtime/sym.c: have _stp_linenumber_lookup() go through the
debug_line info and determine if the given address corresponds
to a line number (and a file name).

9 years agoPR12276: constant definitions and moved functions
Abegail Jakop [Tue, 9 Dec 2014 20:58:17 +0000 (15:58 -0500)]
PR12276: constant definitions and moved functions

unwind.*: moved function and constant definitions related to read_pointer()
from unwind.c to unwind/unwind.h for use by the debug_line decoder
sym.*: include the unwind header file and add in constants for decoding
opcodes within the debug_line decoder

9 years agoPR12276: [u]symfileline() tapset functions
Abegail Jakop [Tue, 9 Dec 2014 19:29:10 +0000 (14:29 -0500)]
PR12276: [u]symfileline() tapset functions

runtime/sym.c: added the portion to print out the file name and line
number of the given address

9 years agoPR12276: pragma:lines sets need_lines, not need_symbols
Abegail Jakop [Fri, 5 Dec 2014 20:55:30 +0000 (15:55 -0500)]
PR12276: pragma:lines sets need_lines, not need_symbols

9 years agoPR12276: dump debug_line data to generated header
Abegail Jakop [Fri, 5 Dec 2014 15:15:37 +0000 (10:15 -0500)]
PR12276: dump debug_line data to generated header

elaborate.cxx: set a flag to indicate debug_line data is needed if
pragma:lines was found in embedded code
translate.cxx: gather debug_line data if it is needed and can be accessed.
if the data was gathered, output it to the generated header file

9 years agoActually add changes meant for commit cfdd554.
David Smith [Wed, 4 Feb 2015 21:57:55 +0000 (15:57 -0600)]
Actually add changes meant for commit cfdd554.

* tapset/linux/syscalls.stp (syscall.kill): Fix types.
* tapset/linux/syscalls2.stp (syscall.quotactl): Fix types and add 32-bit
  support.
  (syscall.wait4): Fix nesting.
  (syscall.waitid): Add 32-bit support.
  (syscall.waitpid): New probe.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/aux_syscalls.stp (_adjtx_mode_str): Deprecate unused function.
  (_statfs_f_type_str): Ditto.
  (_waitid_opt_str): Deprecated, since the difference between it and
  _wait4_opt_str() was unnecessary.
  (_internal_wait_opt_str): Deprecated since no longer necessary.
  (_flock_cmd_str): Reworked and updated.
  (_wait4_opt_str): Ditto.
  (_waitid_which_str): Ditto.
  (_quotactl_cmd_str): Ditto.
* NEWS: Mention deprecated functions.
* runtime/linux/compat_unistd.h: Added __NR_compat_wait4.
* testsuite/buildok/aux_syscalls-embedded.stp: Updated.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/clone.c: Ditto.
* testsuite/systemtap.syscall/flock.c: Ditto.
* testsuite/systemtap.syscall/getrandom.c: Ditto.
* testsuite/systemtap.syscall/wait4.c: Ditto.
* testsuite/systemtap.syscall/test.tcl: Make more robust.
* testsuite/systemtap.syscall/module.c: Handle s390.

9 years agoPR16716 partial fix: Fix types for 'syscall.{kill,quotactl,wait{4,id,pid}}'.
David Smith [Tue, 3 Feb 2015 16:21:02 +0000 (10:21 -0600)]
PR16716 partial fix: Fix types for 'syscall.{kill,quotactl,wait{4,id,pid}}'.

* tapset/linux/syscalls.stp (syscall.kill): Fix types.
* tapset/linux/syscalls2.stp (syscall.quotactl): Fix types and add 32-bit
  support.
  (syscall.wait4): Fix nesting.
  (syscall.waitid): Add 32-bit support.
  (syscall.waitpid): New probe.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/aux_syscalls.stp (_adjtx_mode_str): Deprecate unused function.
  (_statfs_f_type_str): Ditto.
  (_waitid_opt_str): Deprecated, since the difference between it and
  _wait4_opt_str() was unnecessary.
  (_internal_wait_opt_str): Deprecated since no longer necessary.
  (_flock_cmd_str): Reworked and updated.
  (_wait4_opt_str): Ditto.
  (_waitid_which_str): Ditto.
  (_quotactl_cmd_str): Ditto.
* NEWS: Mention deprecated functions.
* runtime/linux/compat_unistd.h: Added __NR_compat_wait4.
* testsuite/buildok/aux_syscalls-embedded.stp: Updated.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/clone.c: Ditto.
* testsuite/systemtap.syscall/flock.c: Ditto.
* testsuite/systemtap.syscall/getrandom.c: Ditto.
* testsuite/systemtap.syscall/wait4.c: Ditto.
* testsuite/systemtap.syscall/test.tcl: Make more robust.
* testsuite/systemtap.syscall/kill.c: New test.
* testsuite/systemtap.syscall/quotactl.c: Ditto.
* testsuite/systemtap.syscall/wait.c: Ditto.

9 years agoruntime/unwind.c: advance data pointer in get_sleb128()
Abegail Jakop [Tue, 3 Feb 2015 14:30:09 +0000 (09:30 -0500)]
runtime/unwind.c: advance data pointer in get_sleb128()

9 years agoFix the hw_watch_addr.stp test to properly test for kernel support
William Cohen [Mon, 2 Feb 2015 04:02:01 +0000 (23:02 -0500)]
Fix the hw_watch_addr.stp test to properly test for kernel support

The check for kernel support uses perf and perf needs to just have the
address to watch.  There was additional output on the line from
/proc/kallsyms causing the test to fail. Used awk to extract only the
numerical address from the line.

9 years agoFix the hw_watch_sym.stp test to properly test for kernel support
William Cohen [Mon, 2 Feb 2015 02:21:24 +0000 (21:21 -0500)]
Fix the hw_watch_sym.stp test to properly test for kernel support

The check for kernel support uses perf and perf needs to just have the
address to watch.  There was additional output on the line from
/proc/kallsyms causing the test to fail. Used awk to extract only the
numerical address from the line.

9 years agoAdd missing "'" to pingpong.meta for proper check for support
William Cohen [Mon, 2 Feb 2015 01:53:42 +0000 (20:53 -0500)]
Add missing "'" to pingpong.meta for proper check for support

9 years agoMatch more 32-bit ARM variants for sdt_misc.exp
William Cohen [Mon, 2 Feb 2015 01:16:54 +0000 (20:16 -0500)]
Match more 32-bit ARM variants for sdt_misc.exp

On 32-bit ARM The target names may be things like
armv7l-unknown-linux-gnueabihf.  The target test would miss these
types of tuples because the tuple had something other than just "arm".
The tests have been broaden to allow for these other arm variants.

9 years agoFixed systemtap-server.exp
William Cohen [Fri, 30 Jan 2015 22:38:43 +0000 (17:38 -0500)]
Fixed systemtap-server.exp

When certain systemtap-service.exp tests failed the failure would
cause the script to exit early due to an error and omit the remaining
tests due to a missing "global test".  Added the missing statement.
Now the failures are reported and the rest of the tests are run.

9 years agoPR17749: add subtest to global_end.exp
Jonathan Lebon [Mon, 26 Jan 2015 19:19:59 +0000 (14:19 -0500)]
PR17749: add subtest to global_end.exp

Make a new test script checking all the ways in which a variable should
be marked as used.

Note that there are other places in which a var should be marked used
(e.g. stat_op), but they would need to be nested within a context which
already marks nested symbols as used (e.g. in an if() condition). Unless
it's placed on a line by itself, in which case it doesn't matter because
it would get elided as a side-effect-free expr.

9 years agoPR17749: varuse visitor: account for all ways vars are used
Jonathan Lebon [Mon, 12 Jan 2015 20:27:10 +0000 (15:27 -0500)]
PR17749: varuse visitor: account for all ways vars are used

Ensures that vars are marked as used in the following situations:
- if conditions
- for/while loop conditions
- function call arguments
- return statements
- foreach array slices
- foreach limit
- ternary expression conditions
- arrayindex indexes

Also fixes all the variables in a function marked as used if called from
an lvalue context.

9 years agoAllow utrace_syscall_args.stp to accepts arm64 use of syscall.openat
William Cohen [Fri, 30 Jan 2015 15:45:03 +0000 (10:45 -0500)]
Allow utrace_syscall_args.stp to accepts arm64 use of syscall.openat

The arm64 maps open syscalls to openat syscalls.  Tweaked the
testsuite to also look for the openat syscalls so things work on
arm64.

9 years agoRemove the "-m64" option forr arm64 sdt_misc.exp tests
William Cohen [Thu, 29 Jan 2015 17:56:45 +0000 (12:56 -0500)]
Remove the "-m64" option forr arm64 sdt_misc.exp tests

The arm64 code is always 64-bit, never 32-bit. Tthe gcc compiler does
not have a "-m64" option to force 64-bit code generation for arm64 and
the builds will fail with "-m64" on the command line.  Eliminated the
unwanted option from the sdt_misc.exp tests when running on arm64.

9 years agoJust use a simple match for the uname for cmd_parse15
William Cohen [Thu, 29 Jan 2015 16:58:28 +0000 (11:58 -0500)]
Just use a simple match for the uname for cmd_parse15

When building kernels from a git repository the uname ends up having
'+' in the name.  The '+' in the uname can cause the expect for the
cmd_parse15 test to fail.  Changed expect to use the simple-minded
"-gl" to match in these cases.

9 years agoUpdate and improve some aux_syscalls.stp functions.
David Smith [Thu, 29 Jan 2015 17:10:16 +0000 (11:10 -0600)]
Update and improve some aux_syscalls.stp functions.

* tapset/linux/aux_syscalls.stp (_struct_itimerval_u): Instead of
  returning "UNKNOWN" for an invalid pointer, return the pointer value.
  (_struct_compat_itimerval_u): Ditto.
  (_itimer_which_str): Reworked and updated.
  (_sock_family_str): Ditto.
  (_rlimit_resource_str): Ditto.
  (_rusage_who_str): Ditto.
  (_rlimit_resource_str): Ditto.
  (_rusage_who_str): Ditto.
* tapset/linux/syscalls.stp (syscall.getrusage): Don't bother rejecting
  RUSAGE_BOTH, let the kernel do it.
* tapset/linux/nd_syscalls.stp: Ditto.
* testsuite/systemtap.syscall/clone.c: Add s390 fix.
* testsuite/systemtap.syscall/acct.c: Add limit tests.
* testsuite/systemtap.syscall/itimer.c: Ditto.
* testsuite/systemtap.syscall/unlink.c: Ditto.
* testsuite/systemtap.syscall/getitimer.c: Update expected output.
* testsuite/systemtap.syscall/getrlimit.c: Ditto.
* testsuite/systemtap.syscall/getrusage.c: Ditto.
* testsuite/systemtap.syscall/setitimer.c: Ditto.
* testsuite/systemtap.syscall/socket.c: Ditto.
* testsuite/systemtap.syscall/socketpair.c: Ditto.

9 years agonew example: glibc-malloc
Siddhesh Poyarekar [Thu, 29 Jan 2015 16:39:41 +0000 (11:39 -0500)]
new example: glibc-malloc

Taken from http://developerblog.redhat.com/2015/01/06/malloc-systemtap-probes-an-example/
with slight tweaks by fche.

9 years agoPR17894: skip testing unknown globals on kernels < 3.11
Josh Stone [Wed, 28 Jan 2015 18:19:42 +0000 (10:19 -0800)]
PR17894: skip testing unknown globals on kernels < 3.11

Kernels didn't start ignoring unknown module options until commit
54041d8a7333 (v3.11-rc1~44^2~2), so just mark earlier as unsupported.

9 years agostapprobes.3stap: correct a probepoint typo
Josh Stone [Wed, 28 Jan 2015 18:19:26 +0000 (10:19 -0800)]
stapprobes.3stap: correct a probepoint typo

9 years agoPR16716 partial fix: 'syscall.{exit,exit_group,{delete,finit,init}_module}'.
David Smith [Wed, 28 Jan 2015 18:16:59 +0000 (12:16 -0600)]
PR16716 partial fix: 'syscall.{exit,exit_group,{delete,finit,init}_module}'.

* tapset/linux/syscalls.stp (syscall.delete_module): Fixed types and added
  'flags_str'.
  (syscall.exit): Fixed types.
  (syscall.exit_group): Ditto.
  (syscall.finit_module): New probe.
  (syscall.init_module): Fixed types.
* tapset/linux/nd_syscalls.stp (nd_syscall.delete_module): Fixed types and
  added 'flags_str'.
  (nd_syscall.finit_module): New probe.
  (nd_syscall.init_module): Fixed types.
* tapset/linux/syscalls2.stp (syscall.nfsservctl): Handle
  CONFIG_NFSD_DEPRECATED.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/aux_syscalls.stp (_nfsctl_cmd_str): Reworked and updated.
  (_module_flags_str): Ditto.
  (_finit_module_flags_str): Ditto.
* testsuite/buildok/aux_syscalls-embedded.stp: Added more tests.
* testsuite/buildok/syscalls-detailed.stp: Added finit_module testing.
* testsuite/buildok/nd_syscalls-detailed.stp: Ditto.
* testsuite/systemtap.syscall/exit.c: New test.
* testsuite/systemtap.syscall/exit_group.c: Ditto.
* testsuite/systemtap.syscall/module.c: Ditto.
* testsuite/systemtap.syscall/nfsservctl.c: Ditto.
* testsuite/systemtap.syscall/clone.c: Update regexp.
* testsuite/systemtap.syscall/getrandom.c: Added COVERAGE comment.
* testsuite/systemtap.syscall/memfd_create.c: Ditto.
* testsuite/systemtap.syscall/shmat.c: Ditto.
* testsuite/systemtap.syscall/shmget.c: Ditto.
* testsuite/systemtap.syscall/coverage.tcl: No longer ignores 'add_key'.

9 years agoSupport constant arguments for arm64 sdt markers
William Cohen [Wed, 28 Jan 2015 03:36:40 +0000 (22:36 -0500)]
Support constant arguments for arm64 sdt markers

Testing of the arm64 uprobes kernel support showed that systemtap was
not handling sdt marker arguments that were optimized into constants
correctly (PR17889).  The arm64 does not prefix literals. No '$' or
'#' prefixes.  Corrected the matching code to address this case.  Also
added an entry in the comment of architecture specific sdt argument
constructs documenting the possible arm64 sdt marker argument formats.

9 years agoFix PR17888 by updating the dentry.stp tapset.
David Smith [Tue, 27 Jan 2015 20:45:49 +0000 (14:45 -0600)]
Fix PR17888 by updating the dentry.stp tapset.

* tapset/linux/dentry.stp (task_dentry_path): For newer kernels, the 'mnt'
  and 'dentry' members of 'struct path' are already pointers, so no need
  to take their addresses.

9 years agoMake EM_AARCH64 backup definition more generally available (PR17884)
William Cohen [Tue, 27 Jan 2015 15:29:08 +0000 (10:29 -0500)]
Make EM_AARCH64 backup definition more generally available (PR17884)

There are older versions of elf.h that do not have a definition of
EM_AARCH64.  There was a backup definition of EM_AARCH64 in
tapset.cxx, but also need this definition for dwflpp.cxx.  Moved the
definition EM_AARCH64 to dwflpp.h to make it more generally visible.

9 years agoFix strconcat.stp file perms to avoid possible tcl sourcing error.
Martin Cermak [Tue, 27 Jan 2015 14:35:44 +0000 (15:35 +0100)]
Fix strconcat.stp file perms to avoid possible tcl sourcing error.

9 years agoPR16716 partial fix: Fix types for 'syscall.{keyctl,add_key,request_key}'.
Martin Cermak [Tue, 27 Jan 2015 08:41:05 +0000 (09:41 +0100)]
PR16716 partial fix: Fix types for 'syscall.{keyctl,add_key,request_key}'.

* tapset/linux/aux_syscalls.stp: Added related defines.
* tapset/linux/nd_syscalls.stp: Fix types for add_key and keyctl.
* tapset/linux/nd_syscalls2.stp: Fix argstr for request_key.
* tapset/linux/syscalls.stp: Fix types for add_key and keyctl.
* tapset/linux/syscalls2.stp: Fix argstr for request_key.
* testsuite/buildok/nd_syscalls-detailed.stp: New keyctl convenience vars.
* testsuite/buildok/syscalls-detailed.stp: Ditto.
* testsuite/systemtap.syscall/keyctl.c: New testcase.

9 years agoAdd plt support for arm64 and allow the plt tests to run arm64.
William Cohen [Mon, 26 Jan 2015 21:07:00 +0000 (16:07 -0500)]
Add plt support for arm64 and allow the plt tests to run arm64.

9 years agoCorrect syscall numbers for arm64
William Cohen [Mon, 26 Jan 2015 21:01:33 +0000 (16:01 -0500)]
Correct syscall numbers for arm64

The 32-bit arm and 64-bit arm architectures are pretty different.
They do not share the same syscall numbers for mmap, mmap2, munmap,
and mremap.  These need to be corrected for systemtap to notice when
memory map operations occured on arm64 and uprobes may need to be
inserted or removed.

9 years agoTolerate missing line records in prologue search
Josh Stone [Fri, 23 Jan 2015 23:03:01 +0000 (15:03 -0800)]
Tolerate missing line records in prologue search

If we're trying to scan line records for the function prologue, but the
current CU fails dwarf_getsrclines(), then just return so we can probe
without skipping prologues.

Such CUs were seen for the jemalloc sources built into Rust's libstd.
For some reason these don't have any DW_AT_stmt_list at all!

9 years agoPR17858: Just warn and continue for stapdyn unknown globals
Josh Stone [Fri, 23 Jan 2015 22:46:03 +0000 (14:46 -0800)]
PR17858: Just warn and continue for stapdyn unknown globals

With staprun modules, the kernel just noted the unknown module option in
dmesg, and everything continues.  For stapdyn, we were getting a warning
which set enough of an error state to skip the rest of initialization,
including begin probes, but not enough to exit the script.  Now unknown
options just warn without setting error state, but invalid options like
bad number formats will set an error and properly exit.

9 years agoPR17860: add testcase to foreach_limit.exp
Jonathan Lebon [Mon, 19 Jan 2015 15:09:20 +0000 (10:09 -0500)]
PR17860: add testcase to foreach_limit.exp

This testcase would have failed to compile prior to the previous commit.

9 years agoPR17860: match foreach logic in tmpcounter and unparser
Jonathan Lebon [Fri, 16 Jan 2015 18:29:40 +0000 (13:29 -0500)]
PR17860: match foreach logic in tmpcounter and unparser

This patch fixes PR17860 by ensuring that tmpvars are declared in
c_tmpcounter::visit_foreach_loop() in the same order as they are used in
c_unparser::visit_foreach_loop().

9 years agoUpdate systemtap-service.exp to reflect commit 075ec56b (RHBZ847286)
Martin Cermak [Fri, 23 Jan 2015 10:30:49 +0000 (11:30 +0100)]
Update systemtap-service.exp to reflect commit 075ec56b (RHBZ847286)

9 years agoPR16716 partial fix: Fix types for 'syscall.{clone,s[gs]etmask,tkill}'.
David Smith [Thu, 22 Jan 2015 21:17:42 +0000 (15:17 -0600)]
PR16716 partial fix: Fix types for 'syscall.{clone,s[gs]etmask,tkill}'.

* tapset/linux/nd_syscalls.stp (nd_syscall.clone): Fix types.
* tapset/linux/syscalls2.stp (syscall.ssetmask): Fix types and add
  'newmask_str'.
  (syscall.tkill): Fix types.
* tapset/linux/nd_syscalls2.stp (nd_syscall.ssetmask): Add 'newmask_str'.
* tapset/linux/aux_syscalls.stp (_stp_sigmask_str): New function.
* testsuite/buildok/syscalls2-detailed.stp: Added 'newmask_str' testing to
  syscall.ssetmask.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/clone.c: Add limit testing.
* testsuite/systemtap.syscall/signal.c: Add testing for the 'tkill' syscall.
* testsuite/systemtap.syscall/sigmask.c: New test case.

9 years agoPR17864: Fix alias_tapset.exp regression
Martin Cermak [Wed, 21 Jan 2015 17:29:48 +0000 (18:29 +0100)]
PR17864: Fix alias_tapset.exp regression

* Take only interesting parts of the stap output into account
  so that expect's match_max doesn't get exceeded.
* Adapt the testcase to commit befbf100 which modifies
  syscall.read on s390x

9 years agoerror::dwarf man page: mention possibility of elfutils lack-of-compression
Frank Ch. Eigler [Tue, 20 Jan 2015 20:16:54 +0000 (15:16 -0500)]
error::dwarf man page: mention possibility of elfutils lack-of-compression

Reported-By: Simon Eskildsen @Sirupsen
9 years agohello-world example: use probe oneshot
Frank Ch. Eigler [Sun, 18 Jan 2015 21:50:22 +0000 (16:50 -0500)]
hello-world example: use probe oneshot

9 years agodtrace.in: ignore "-x FOOBAR" options
Frank Ch. Eigler [Fri, 16 Jan 2015 19:07:02 +0000 (14:07 -0500)]
dtrace.in: ignore "-x FOOBAR" options

Reported-By: tromey & sfink
9 years agoPR17696: Ignore DW_AT_comp_dir == s.kernel_build_tree
Josh Stone [Mon, 12 Jan 2015 20:39:52 +0000 (12:39 -0800)]
PR17696: Ignore DW_AT_comp_dir == s.kernel_build_tree

If DW_AT_comp_dir is the same as s.kernel_build_tree, then it's not a
useful path for s.kernel_source_tree.  By ignoring this case, we allow
the next block to check whether the source symlink is useful instead.

9 years agoPR17714: Work with valid pointers, correctly test for unimplemented syscalls.
Martin Cermak [Mon, 12 Jan 2015 16:37:18 +0000 (17:37 +0100)]
PR17714: Work with valid pointers, correctly test for unimplemented syscalls.

* tapset/linux/syscalls.stp: Work with valid pointers in s390 compat task.
* testsuite/systemtap.syscall/poll.c: epoll_pwait() unimplemented on RHEL5 x86_64.

9 years agodummy commit to credit smileytap.svg creator
Andy Fitzsimon [Fri, 9 Jan 2015 20:53:57 +0000 (15:53 -0500)]
dummy commit to credit smileytap.svg creator

9 years agoMerge branch 'jlebon/trace_system' (PR13330)
Jonathan Lebon [Fri, 9 Jan 2015 16:41:50 +0000 (11:41 -0500)]
Merge branch 'jlebon/trace_system' (PR13330)

9 years agotracepoint_query: make private what need not be public
Jonathan Lebon [Fri, 9 Jan 2015 16:29:05 +0000 (11:29 -0500)]
tracepoint_query: make private what need not be public

And document each member with a small comment.

9 years agoNEWS: add blurb about PR13330
Jonathan Lebon [Fri, 19 Dec 2014 14:54:52 +0000 (09:54 -0500)]
NEWS: add blurb about PR13330

9 years agostapprobes.3stap: document new tracepoint syntax
Jonathan Lebon [Fri, 19 Dec 2014 21:03:11 +0000 (16:03 -0500)]
stapprobes.3stap: document new tracepoint syntax

Talk about the new system:name syntax. Also update the sched_switch
tracepoint example, which no longer shares the $rq argument.

9 years agolisting_mode.exp: update for new syntax
Jonathan Lebon [Fri, 19 Dec 2014 20:12:11 +0000 (15:12 -0500)]
listing_mode.exp: update for new syntax

9 years agotracepoints.exp: add new tests for $$system
Jonathan Lebon [Mon, 22 Dec 2014 14:16:07 +0000 (09:16 -0500)]
tracepoints.exp: add new tests for $$system

9 years agotracepoint probes: add support for $$system
Jonathan Lebon [Fri, 19 Dec 2014 19:19:06 +0000 (14:19 -0500)]
tracepoint probes: add support for $$system

The $$system context variable holds the system in which the current
tracepoint resides. E.g.:

probe kernel.trace("sched:sched_switch") {
   println($$system)
   println($$name)
}

Prints:

sched
sched_switch

9 years agotracepoints.exp: add tests or new syntax
Jonathan Lebon [Fri, 31 Oct 2014 13:59:45 +0000 (09:59 -0400)]
tracepoints.exp: add tests or new syntax

9 years agotracepoint probes: ensure valid string given
Jonathan Lebon [Fri, 19 Dec 2014 21:16:23 +0000 (16:16 -0500)]
tracepoint probes: ensure valid string given

9 years agodon't support TRACE_SYSTEM for --compatible <= 2.6
Jonathan Lebon [Fri, 19 Dec 2014 18:53:09 +0000 (13:53 -0500)]
don't support TRACE_SYSTEM for --compatible <= 2.6

When in compatibility mode, we want the probe name to remain the same so
that e.g. pn() still only displays the tracepoint name (without the
system prefix).

9 years agomake a #define for STAP_TRACE_SYSTEM
Jonathan Lebon [Mon, 6 Oct 2014 21:21:26 +0000 (17:21 -0400)]
make a #define for STAP_TRACE_SYSTEM

Rather than hardcode it in a bunch of places.

9 years agotracepoint probes: filter by system and append to final probe
Jonathan Lebon [Fri, 26 Sep 2014 23:38:54 +0000 (19:38 -0400)]
tracepoint probes: filter by system and append to final probe

We 'turn on' the switch and implement the filter in
handle_query_module() which rejects any module that does not match the
given system (if any).

This commit also makes the system part of the final name of the
tracepoint. As a nice side-effect, listing tracepoints using e.g.

stap -l 'kernel.trace("*")'

will list tracepoints in order of system.

9 years agotracepoint probes: parse system:tracepoint syntax
Jonathan Lebon [Fri, 26 Sep 2014 22:58:40 +0000 (18:58 -0400)]
tracepoint probes: parse system:tracepoint syntax

9 years agotracepoint_builder: add section to hold TRACE_SYSTEM
Jonathan Lebon [Fri, 26 Sep 2014 22:00:23 +0000 (18:00 -0400)]
tracepoint_builder: add section to hold TRACE_SYSTEM

Upon compiling the various headers, we also suck up the current value of
TRACE_SYSTEM into a new section called .stap_trace_system.
Unfortunately, we cannot play the same trick we do with the
stapprobe_{function} since TRACE_SYSTEM can be any string value and may
thus contain invalid identifier characters.

9 years agopf4 sample: tweak keywords
Frank Ch. Eigler [Fri, 9 Jan 2015 02:04:30 +0000 (21:04 -0500)]
pf4 sample: tweak keywords

9 years agoUse the kernel source symlink for tracepoints
Josh Stone [Thu, 8 Jan 2015 22:47:20 +0000 (14:47 -0800)]
Use the kernel source symlink for tracepoints

When the source symlink is different than the build symlink, as for
out-of-tree kernel builds and Debian linux-headers, then we should use
that path as a prefix for finding tracepoint headers.

9 years agoUse POSIX '=' in run-stap and run-staprun
Josh Stone [Thu, 8 Jan 2015 22:46:19 +0000 (14:46 -0800)]
Use POSIX '=' in run-stap and run-staprun

9 years agoFix PR17807 by updating the vfs tapset.
David Smith [Tue, 6 Jan 2015 21:43:42 +0000 (15:43 -0600)]
Fix PR17807 by updating the vfs tapset.

* tapset/linux/vfs.stp (generic.fop.aio_read): Make optional and fix
  __iov_length() call to use VERIFY_WRITE.
  (generic.fop.aio_read.return): Make optional.
  (generic.fop.read_iter): New probe.
  (generic.fop.read_iter.return): Ditto.
  (generic.fop.aio_write): Make optional and fix __iov_length() call to
  use VERIFY_READ.
  (generic.fop.aio_write.return): Make optional.
  (generic.fop.write_iter): New probe.
  (generic.fop.write_iter.return): Ditto.
* tapset/linux/nfs.stp (nfs.fop.aio_read): Fix __iov_length() call to use
  VERIFY_WRITE.
  (nfs.fop.read_iter): Ditto.
  (nfs.fop.aio_write): Fix __iov_length() call to use VERIFY_READ.
  (nfs.fop.write_iter): Ditto.
* testsuite/buildok/vfs-detailed.stp: Add tests for the new probes.

9 years agoNEWS: mention _best keyword sample scripts
Frank Ch. Eigler [Tue, 6 Jan 2015 19:39:26 +0000 (14:39 -0500)]
NEWS: mention _best keyword sample scripts

9 years agoUpdate testsuite/buildok/xtime.stp for the 3.18 kernel.
David Smith [Tue, 6 Jan 2015 19:11:29 +0000 (13:11 -0600)]
Update testsuite/buildok/xtime.stp for the 3.18 kernel.

9 years agoMake the testsuite's get_system_info() function more robust.
David Smith [Tue, 6 Jan 2015 18:53:23 +0000 (12:53 -0600)]
Make the testsuite's get_system_info() function more robust.

* testsuite/lib/systemtap.exp (get_system_info): Make more robust by
  handling errors when running 'lsb_release'.

9 years agoUpdate dentry.stp to handle more kernels, especially 3.18.
David Smith [Tue, 6 Jan 2015 18:51:34 +0000 (12:51 -0600)]
Update dentry.stp to handle more kernels, especially 3.18.

* tapset/linux/dentry.stp: Adapt to changes in the dentry structure.

9 years agoPR16716 partial fix: Fix types in 'syscall.{fadvise64,futex,[gs]et_mempolicy}'.
David Smith [Tue, 6 Jan 2015 18:49:10 +0000 (12:49 -0600)]
PR16716 partial fix: Fix types in 'syscall.{fadvise64,futex,[gs]et_mempolicy}'.

* tapset/linux/syscalls.stp: Fixed types and nesting in syscall.fadvise64,
  syscall.fadvise64_64, syscall.futex, syscall.compat_futex,
  and syscall.get_mempolicy.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/syscalls2.stp: Fixed types and nesting in syscall.set_mempolicy.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/aux_syscalls.stp (__futex_op_str): Improved and updated.
  (__futex_wake_op_str): New function.
  (__fadvice_advice_str): Improved and updated.
  (_mempolicy_flags_str): New function.
  (_mempolicy_mode_str): Ditto.
* tapset/linux/syscalls.stpm: Added __futex_argstr() macro.
* tapset/linux/x86_64/syscalls.stp: Added syscall.compat_fadvise64 probe.
* tapset/linux/x86_64/nd_syscalls.stp: Ditto.
* runtime/linux/compat_unistd.h: Added '__NR_fadvise64_64' define.
* testsuite/systemtap.syscall/fadvise64.c: New testcase.
* testsuite/systemtap.syscall/futex.c: Ditto.
* testsuite/systemtap.syscall/mempolicy.c: Ditto.
* testsuite/buildok/aux_syscalls-embedded.stp: Updated.
* testsuite/buildok/nd_syscalls-detailed.stp: Updated.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/buildok/syscalls-detailed.stp: Ditto.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.

9 years agoFixed compile problem on 3.18 kernels, caused by removal of dentry macro.
David Smith [Tue, 6 Jan 2015 16:07:01 +0000 (10:07 -0600)]
Fixed compile problem on 3.18 kernels, caused by removal of dentry macro.

* runtime/linux/task_finder.c (__stp_call_mmap_callbacks_with_addr):
  Handle 'dentry' macro removal.
  (__stp_call_mmap_callbacks_for_task): Ditto.
* runtime/linux/task_finder2.c (__stp_call_mmap_callbacks_with_addr): Ditto.
  (__stp_call_mmap_callbacks_for_task): Ditto.

9 years ago_best samples: nominate thread-times.stp
Frank Ch. Eigler [Fri, 2 Jan 2015 00:23:05 +0000 (19:23 -0500)]
_best samples: nominate thread-times.stp

9 years agoAdd "_best" category sample scripts
Frank Ch. Eigler [Thu, 1 Jan 2015 19:23:06 +0000 (14:23 -0500)]
Add "_best" category sample scripts

On suggestion from Brendan Gregg, it would be helpful for the examples
list to highlight "best" scripts, out of the over-one-hundred we ship.
To begin, this is approximated by special support for the .meta keyword
"_best", which results in highlighting the marked samples at the top
of the [keyword-]index.html files.

9 years agoPR17743: stap* help/version text should go peacefully to stdout
Frank Ch. Eigler [Tue, 30 Dec 2014 15:25:01 +0000 (10:25 -0500)]
PR17743: stap* help/version text should go peacefully to stdout

As per GNU habits, specifically requested help/version strings for
our programs should go to stdout with rc=0 rather than stderr rc=1.
Adjust stap, staprun, stapio, stapdyn code to taste.  helpout.exp
test case to confirm.

9 years agoAdd the spawn_seeker.stp example.
William Cohen [Tue, 23 Dec 2014 22:19:47 +0000 (17:19 -0500)]
Add the spawn_seeker.stp example.

9 years agolisting_mode.exp: update for RHEL5
Jonathan Lebon [Mon, 22 Dec 2014 17:21:40 +0000 (12:21 -0500)]
listing_mode.exp: update for RHEL5

The listing_mode.exp testcase showed multiple failures on RHEL5. This
commit fixes these errors by making perf probe testing conditional on
system support and by adjusting linenos to play nice with RHEL5's GCC.

9 years agoNEWS: add blurb about PR17190
Jonathan Lebon [Mon, 6 Oct 2014 21:06:34 +0000 (17:06 -0400)]
NEWS: add blurb about PR17190

9 years agoscripts/update-docs: pass on some learned wisdom during startup
Frank Ch. Eigler [Mon, 22 Dec 2014 17:40:50 +0000 (12:40 -0500)]
scripts/update-docs: pass on some learned wisdom during startup

9 years agostap.1 option doc tweaks
Frank Ch. Eigler [Mon, 22 Dec 2014 17:31:06 +0000 (12:31 -0500)]
stap.1 option doc tweaks

9 years agoregenerate configury with fedora-21 auto* toolchain
Frank Ch. Eigler [Mon, 22 Dec 2014 17:02:35 +0000 (12:02 -0500)]
regenerate configury with fedora-21 auto* toolchain

9 years agoPR17737: tapset-reference html chapters should not get <toc>
Frank Ch. Eigler [Mon, 22 Dec 2014 16:59:40 +0000 (11:59 -0500)]
PR17737: tapset-reference html chapters should not get <toc>

The docbook xsl-stylesheets' html output normally includes generated
TOC for incoming <chapter> blocks.  Suppress this with a cunning
choice of generate.toc --stringparam for the xmlto.  (On F21 at least,
the parameter needs to contain an embedded \ apparently due to layers
of being passed between shell scripts and xml parsers and whatnot.
Sorry.)

9 years agoFix PR17292 parse error of string auto-concatenation in printf statement.
Hushan Jia [Mon, 22 Dec 2014 15:08:20 +0000 (09:08 -0600)]
Fix PR17292 parse error of string auto-concatenation in printf statement.

Use multi part string concatenation as the format string of printf
statement will cuase following parse error:

$ /usr/bin/stap -p1 testsuite/parseok/strconcat.stp
parse error: expected ','
        saw: string 'bar' at testsuite/parseok/strconcat.stp:6:19
     source:     printf("foo " "bar" "\n")
                               ^

1 parse error.
Pass 1: parse failed.  [man error::pass1]

This fix is suggested by fche.

9 years agoFixed PR17270 by updating "on the fly" tests for ppc64.
David Smith [Wed, 17 Dec 2014 17:38:45 +0000 (11:38 -0600)]
Fixed PR17270 by updating "on the fly" tests for ppc64.

* translate.cxx (c_unparser::emit_module_refresh): Don't print debug
  message in STAP_SESSION_STOPPING state.
* testsuite/systemtap.onthefly/hrtimer_onthefly.exp: On ppc64, don't probe
  kernel tracepoints causing a crash.
* testsuite/systemtap.onthefly/kprobes_onthefly.exp: Ditto.
* testsuite/systemtap.onthefly/uprobes_onthefly.exp: Ditto.

9 years agoFix PR17688 by updating the nfs tapset for kernels >= 3.16.
David Smith [Tue, 16 Dec 2014 16:58:05 +0000 (10:58 -0600)]
Fix PR17688 by updating the nfs tapset for kernels >= 3.16.

* tapset/linux/nfs.stp (nfs.fop.aio_read): Only use if the kernel version
  is less than 3.16. Upstream kernel has switched from aio_{read,write} to
  {read_write}_iter, but using the same function names.
  (nfs.fop.aio_write): Ditto.
  (nfs.fop.read_iter): New probe for kernel versions >= 3.16.
  (nfs.fop.write_iter): Ditto.
* testsuite/buildok/nfs-detailed.stp: Added new tests.

9 years agoImprove the output of cycle_thief.stp to include executable name
William Cohen [Mon, 15 Dec 2014 19:45:40 +0000 (14:45 -0500)]
Improve the output of cycle_thief.stp to include executable name

Jeremy Eder suggested that it would be good to include the executable
name in the output to save people the step of looking up the
executable name of the various PIDs.  The change also includes a
header for the output in that section to make it clearer what each
column is.

9 years agoPR17706: Fix filename in syscall.openat for s390.
Martin Cermak [Mon, 15 Dec 2014 06:02:45 +0000 (07:02 +0100)]
PR17706: Fix filename in syscall.openat for s390.

9 years agofix bashisms in stap-report script
Oleksandr Chumachenko [Sun, 14 Dec 2014 15:00:32 +0000 (10:00 -0500)]
fix bashisms in stap-report script

stap-report shell script contains bashisms that may be unsupported in
some POSIX-complete shells.

9 years agoPR16716 partial fix: Fix types in 'syscall.{[f]truncate,[f]statfs,umask,ustat}'
David Smith [Fri, 12 Dec 2014 21:19:35 +0000 (15:19 -0600)]
PR16716 partial fix: Fix types in 'syscall.{[f]truncate,[f]statfs,umask,ustat}'

* runtime/linux/compat_unistd.h: Add ftruncate/truncate defines.
* tapset/linux/aux_syscalls.stp (_sched_policy_str): Improved.
  (_mountflags_str): Updated using _stp_lookup_or_str().
  (_umountflags_str): Ditto.
  (__long): New function.
* tapset/linux/syscalls.stp: Fixed types in fstatfs, fstatfs64, and
  ftruncate.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/syscalls2.stp: Fixed types in statfs64, truncate, umask,
  ustat, and ustat32.
* tapset/linux/nd_syscalls2.stp: Ditto.
* tapset/linux/powerpc/nd_syscalls.stp: Added arch-specific compat
  ftruncate64 and truncate64 probes.
* 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.
* testsuite/buildok/nd_syscalls-arch-detailed.stp: Added tests for new probes.
* testsuite/buildok/syscalls-arch-detailed.stp: Ditto.
* testsuite/buildok/aux_syscalls-embedded.stp: Added test.
* testsuite/systemtap.syscall/ioperm.c: Minor update.
* testsuite/systemtap.syscall/mount.c: Expects new output.
* testsuite/systemtap.syscall/sched_setscheduler.c: Ditto.
* testsuite/systemtap.syscall/signal.c: Minor update.
* testsuite/systemtap.syscall/statfs.c: Add more tests.
* testsuite/systemtap.syscall/trunc.c: Ditto.
* testsuite/systemtap.syscall/umask.c: Ditto.

9 years agoFix PR17690 by adding support for asynchronous NFS rename operations.
David Smith [Fri, 12 Dec 2014 19:06:14 +0000 (13:06 -0600)]
Fix PR17690 by adding support for asynchronous NFS rename operations.

* tapset/linux/nfs_proc.stp (nfs.proc.rename_setup): Added to support
  asynchronous NFS client rename operations.
  (nfs.proc2.rename_setup): Ditto.
  (nfs.proc3.rename_setup): Ditto.
  (nfs.proc4.rename_setup): Ditto.
  (nfs.proc.rename_done): Ditto.
  (nfs.proc2.rename_done): Ditto.
  (nfs.proc3.rename_done): Ditto.
  (nfs.proc4.rename_done): Ditto.
  (nfs.proc3.rename): Provide default values if the probe point doesn't
  exist.
  (nfs.proc4.rename): Ditto.
  (nfs.proc3.read_setup): Update to handle new argument names.
  (nfs.proc4.read_setup): Ditto.
  (nfs.proc3.read_done): Ditto.
  (nfs.proc4.read_done): Ditto.
  (nfs.proc3.write_setup): Ditto.
  (nfs.proc4.write_setup): Ditto.
  (nfs.proc3.write_done): Ditto.
  (nfs.proc4.write_done): Ditto.
* testsuite/buildok/nfs_proc-detailed.stp: Update to handle new probe
  points.

9 years agoman/stapprobes for syscalls: note $var narrowing risk
Frank Ch. Eigler [Fri, 12 Dec 2014 17:43:12 +0000 (12:43 -0500)]
man/stapprobes for syscalls: note $var narrowing risk

9 years agoAllow syscall tests to match the arm64 remapped syscalls:
Martin Cermak [Fri, 12 Dec 2014 09:51:07 +0000 (10:51 +0100)]
Allow syscall tests to match the arm64 remapped syscalls:

* testsuite/systemtap.syscall/openclose.c
* testsuite/systemtap.syscall/poll.c
* testsuite/systemtap.syscall/sched_setscheduler.c
* testsuite/systemtap.syscall/select.c
* testsuite/systemtap.syscall/statfs.c

9 years agoPR16716 partial fix: Fix types in syscall.ioperm
Martin Cermak [Wed, 10 Dec 2014 05:36:10 +0000 (06:36 +0100)]
PR16716 partial fix: Fix types in syscall.ioperm

* tapset/linux/nd_syscalls.stp: Fix types
* tapset/linux/syscalls.stp: Fix types
* testsuite/systemtap.syscall/ioperm.c: New testcase
* testsuite/systemtap.syscall/getdents.c: Fix coverage

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