]> sourceware.org Git - systemtap.git/log
systemtap.git
12 years ago_stp_get_mm_counter: Fix kernel version check.
Mark Wielaard [Thu, 1 Dec 2011 19:26:19 +0000 (20:26 +0100)]
_stp_get_mm_counter: Fix kernel version check.

The kernel version check was wrong in two ways. First it tested against
kernel_v >= "3.1.0" but linux commit 172703 "mm: delete non-atomic mm
counter implementation" was actually integrated for 3.0. But fedora
names their 3.0 kernels 2.6.40 (and 3.1 kernels 2.6.41, depending on
release). So change the test to kernel_v >= "2.6.40".

The reason this wasn't found earlier was that there is another check
for CONFIG_NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS which is almost always
true (but not on arm tegra kernels).

12 years agosystemtap.examples/check.exp: Don't try running tests that failed to build.
Mark Wielaard [Thu, 1 Dec 2011 19:22:51 +0000 (20:22 +0100)]
systemtap.examples/check.exp: Don't try running tests that failed to build.

Just mark them UNTESTED if the build phase FAILed. This also saves time
since the run phase will try to build the testcase again (and will always
FAIL doing that).

12 years agoPR13462 symdata() returns ARM mapping symbols.
Mark Wielaard [Thu, 1 Dec 2011 19:02:02 +0000 (20:02 +0100)]
PR13462 symdata() returns ARM mapping symbols.

Introduce skippable_arch_symbol() function that filters out arch specific
symbols that should be ignored in dump_symbol_tables().

12 years agoFix the dtrace_clone.exp test to properly test with/without semaphores.
David Smith [Thu, 1 Dec 2011 17:49:41 +0000 (11:49 -0600)]
Fix the dtrace_clone.exp test to properly test with/without semaphores.

* testsuite/systemtap.clone/dtrace_clone.exp: Use the correct #define to
  get rid of the semaphores.
* testsuite/systemtap.clone/dtrace_clone.c: Be sure to ifdef out all the
  semaphores.

12 years agotapsets.cxx: Fix arguments passed to common_probe_entryfn_epilogue.
Mark Wielaard [Thu, 1 Dec 2011 14:51:58 +0000 (15:51 +0100)]
tapsets.cxx: Fix arguments passed to common_probe_entryfn_epilogue.

12 years agoMerge branch 'master' into jistone/inode-uprobes
David Smith [Thu, 1 Dec 2011 14:14:31 +0000 (08:14 -0600)]
Merge branch 'master' into jistone/inode-uprobes

12 years agoDocument some new features and improvements since systemtap 1.6.
Mark Wielaard [Thu, 1 Dec 2011 11:05:35 +0000 (12:05 +0100)]
Document some new features and improvements since systemtap 1.6.

task_backtrace removed, MAXBACKTRACE documented, new probe_type() function,
unwind and symbol data only processed when really necesessary, kernel
backtraces for non-pt_regs probe context (timer and tracepoints),
ubacktrace() from kernel probe points, s390x user space support, ppc,
s390x and arm dwarf unwinder support, arm uprobes port.

12 years agoPR13306: test 'er
Frank Ch. Eigler [Thu, 1 Dec 2011 00:58:54 +0000 (19:58 -0500)]
PR13306: test 'er

12 years agoPR13306: document new option
Frank Ch. Eigler [Thu, 1 Dec 2011 00:58:37 +0000 (19:58 -0500)]
PR13306: document new option

12 years agoPR13306: introduce stap --suppress-handler-errors option
Frank Ch. Eigler [Thu, 1 Dec 2011 00:54:19 +0000 (19:54 -0500)]
PR13306: introduce stap --suppress-handler-errors option

PR13306 asked for a way to skip handlers when probe alias prefixes
fail.  This implementation is a little bigger hammer, but believed
to be more generally useful.

* session.cxx: Initialize/copy/getopt new option.
* session.h: Store it.
* hash.cxx (find_script_hash): Mix it in.
* tapsets.cxx (common_probe_entryfn_epilogue): Skip various
  MAXERRORS/MAXSKIPPED processing when flag is set.
* tapset.h (common_probe_entryfn_epilogue): Drop middle default
  argument since it got confusing.  Add new argument.
* tapsets*.cxx (*::emit_module_decls): Update ..._epilogue callers.

12 years agoMerge branch 'master' into jistone/inode-uprobes
David Smith [Wed, 30 Nov 2011 21:48:01 +0000 (15:48 -0600)]
Merge branch 'master' into jistone/inode-uprobes

12 years agotestsuite: more xfail->kfail transforms
Frank Ch. Eigler [Wed, 30 Nov 2011 15:01:37 +0000 (10:01 -0500)]
testsuite: more xfail->kfail transforms

As per commit 174c4d74, use kfail for transient environmental
problems as opposed to want-to-fail test cases.

12 years agond_syscalls.stp: Probe sys_accept4 for kernel 2.6.28+.
Mark Wielaard [Wed, 30 Nov 2011 13:02:27 +0000 (14:02 +0100)]
nd_syscalls.stp: Probe sys_accept4 for kernel 2.6.28+.

Since 2.6.28 sys_accept is chained through sys_accept4. Probe
sys_accept4 only for newer kernels to not miss some accept
syscalls. Don't probe both or we will get double hits.

12 years agoAdd DWARF unwinder support for ARM.
Mark Wielaard [Wed, 30 Nov 2011 10:42:12 +0000 (11:42 +0100)]
Add DWARF unwinder support for ARM.

12 years agotestsuite: xfail->kfail buildok failures
Frank Ch. Eigler [Tue, 29 Nov 2011 22:23:29 +0000 (17:23 -0500)]
testsuite: xfail->kfail buildok failures

Use kfail to designate problems that represent unfixable issues such
as compiler limitations (debuginfo missing from here or there).
xfail is inappropriate, as we use this to designate failures we
want to see, e.g., the detection of deliberate input errors.

* lib/stap_buildok.exp: Removed, inlined back into
* systemtap.pass1-4/buildok.exp: Pull switch code in here.  Use kfail*.
* systemtap.exelib/pthreadprobes.exp: Don't look at buildok_known_failures,
  which didn't have any pthread awareness anyway.

12 years agoAdded individual tests for function.call and function.return probes.
David Smith [Tue, 29 Nov 2011 21:52:13 +0000 (15:52 -0600)]
Added individual tests for function.call and function.return probes.

* testsuite/systemtap.base/uprobes.exp: Added sub-tests that check .call
  and .return probes individually.
* testsuite/systemtap.base/uprobes_call.stp: New file.
* testsuite/systemtap.base/uprobes_return.stp: New file.

12 years agoPR13458: laugh in the face of xslt
Frank Ch. Eigler [Tue, 29 Nov 2011 21:29:09 +0000 (16:29 -0500)]
PR13458: laugh in the face of xslt

Using a dozen-line xslt script, one can sort the generated tapsets.xml
documentation's reference sections.  Thank you interwebs:
http://stackoverflow.com/questions/572854/how-to-sort-a-subelement-of-xml-with-xslt
http://www.w3schools.com/xpath/xpath_syntax.asp

12 years agoMark buildok/memory-write_shared_copy.stp as KFAIL when it fails
William Cohen [Tue, 29 Nov 2011 20:38:11 +0000 (15:38 -0500)]
Mark buildok/memory-write_shared_copy.stp as KFAIL when it fails

Kernels built with older versions of gcc do not have the needed argument
information for inlined functions. vm.write_shared_copy probes inlined
functions and suffers from PR1155 in this situation. This patch marks
it as a KFAIL with a mention of PR1155 when it fails.

12 years agond_syscall.exp KFAIL PR13451, PR13452, PR13453, PR13454, PR13455 and PR13456
Mark Wielaard [Tue, 29 Nov 2011 19:33:05 +0000 (20:33 +0100)]
nd_syscall.exp KFAIL PR13451, PR13452, PR13453, PR13454, PR13455 and PR13456

dup, eventfd, inotify, pipe, signalfd and poll are incomplete in nd_syscalls.

12 years agoPR13420 cast-scope.exp: kfail all non-optimized test cases.
Mark Wielaard [Tue, 29 Nov 2011 17:07:16 +0000 (18:07 +0100)]
PR13420 cast-scope.exp: kfail all non-optimized test cases.

On powerpc both -m32 and -m64 unoptimized fail because of PR13420.
Better to accidentially KPASS on some arches than have XFAILS on some others.

12 years agoMake cast-scope testcase more robust. Prevent line-reordening.
Mark Wielaard [Tue, 29 Nov 2011 16:53:35 +0000 (17:53 +0100)]
Make cast-scope testcase more robust. Prevent line-reordening.

Setting a statement line probe is somewhat fragile since different GCCs
output different line tables. Make sure that there is a known single
statement line in the testcase to probe.

12 years agoPR10739 kfail all backtrace.exp tests on non-x86 architectures.
Mark Wielaard [Tue, 29 Nov 2011 12:23:02 +0000 (13:23 +0100)]
PR10739 kfail all backtrace.exp tests on non-x86 architectures.

12 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Mark Wielaard [Tue, 29 Nov 2011 12:03:07 +0000 (13:03 +0100)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

12 years agoSupport fallback kernel dump_stack() with or without bp argument.
Mark Wielaard [Tue, 29 Nov 2011 11:32:05 +0000 (12:32 +0100)]
Support fallback kernel dump_stack() with or without bp argument.

There has been some flip-flopping in the kernel whether or not dump_stack()
takes a bp argument. We now support either with or without.
See linux commits v2.6.36-9872-g9c0729d and v2.6.38-793-ge8e999c.

12 years agoSupport fallback kernel dump_stack() with or without bp argument.
Mark Wielaard [Tue, 29 Nov 2011 11:32:05 +0000 (12:32 +0100)]
Support fallback kernel dump_stack() with or without bp argument.

There has been some flip-flopping in the kernel whether or not dump_stack()
takes a bp argument. We now support either with or without.
See linux commits v2.6.36-9872-g9c0729d and v2.6.38-793-ge8e999c.

12 years agoPR10739 kfail on non-x86 architectures, no dump_trace available.
Mark Wielaard [Tue, 29 Nov 2011 11:24:07 +0000 (12:24 +0100)]
PR10739 kfail on non-x86 architectures, no dump_trace available.

12 years agoFixed compile problem when HAVE_NSS isn't defined.
David Smith [Mon, 28 Nov 2011 22:12:28 +0000 (16:12 -0600)]
Fixed compile problem when HAVE_NSS isn't defined.

* runtime/staprun/staprun_funcs.c (check_signature): If HAVE_NSS isn't
  defined, mark the arguments as unused to avoid gcc errors.

12 years agoRHBZ 757802: Add '--' to regexp commands in server_args.exp.
Dave Brolley [Mon, 28 Nov 2011 21:36:44 +0000 (16:36 -0500)]
RHBZ 757802: Add '--' to regexp commands in server_args.exp.

12 years agoPR13440: Use real userspace addresses in @cast tests
Josh Stone [Mon, 28 Nov 2011 21:06:15 +0000 (13:06 -0800)]
PR13440: Use real userspace addresses in @cast tests

Some architectures make a harder distinction between user/kernel
addresses, so we shouldn't be faking our user memory.

* testsuite/systemtap.base/cast.*: Remove userspace @cast.
* testsuite/systemtap.base/cast-user.*: Add a new test for userspace
  @casts with an honest userspace address.

12 years agoPR13354: Add a type cast to satisfy old compilers
Josh Stone [Mon, 28 Nov 2011 21:02:16 +0000 (13:02 -0800)]
PR13354: Add a type cast to satisfy old compilers

RHEL4-era gcc tried to make "fake_remote?-1:i" unsigned (as 'i' is), and
then complained about making -1 unsigned.  Since remote::create just
wants an int anyway, cast "i" in the ternary.

12 years agoPR13445: shrink ctl command handler function use less stack space
Frank Ch. Eigler [Mon, 28 Nov 2011 12:59:55 +0000 (07:59 -0500)]
PR13445: shrink ctl command handler function use less stack space

* runtime/transport/control.c (_stp_ctl_write_cmd): Make larger struct
  copies static.  Explain why this is safe.

12 years ago_stp_vma_mmap_cb: Really mean that we are only interested in the first load.
Mark Wielaard [Mon, 28 Nov 2011 11:06:39 +0000 (12:06 +0100)]
_stp_vma_mmap_cb: Really mean that we are only interested in the first load.

There was a chance our test for whether this was the first load of the
whole module that is executable could miss a second load, which would
override the original start address. Fix that by explicitly checking
whether we already registered this module or not.

12 years agoPR13354: remote_id() and remote_uri() tapset functions
Frank Ch. Eigler [Sun, 27 Nov 2011 22:26:44 +0000 (17:26 -0500)]
PR13354: remote_id() and remote_uri() tapset functions

This little thing required changes all through the stack!

* main.cxx (main): Pass the explicit --remote option index to the
  remote::create invocations.
* remote.cxx (remote::create): Pass incoming index/uri to build staprun_r_arg.
  (direct::start): Use value.
  (stapsh::start): Use value if remote end is believed to be >= v1.7.
  (ssh_legacy_remote::start): Don't use value, as remote end may not know staprun -r.
* remote.h (remote): New field staprun_r_arg.

* runtime/transport/transport_msgs.h: Define new STP_REMOTE_ID message type.

* runtime/staprun/common.c (parse_args, usage): Support new -r option.
* runtime/staprun/staprun.8: Document it.
* runtime/staprun/staprun.c: Pass remote id/uri to runtime via
  new STP_REMOTE_URI message.
* runtime/staprun/staprun.h: Declare new variables.

* runtime/transport/control.c (_stp_ctl_write_cmd): Accept STP_REMOTE_ID message
  from euid=0.
* runtime/transport/transport.c (_stp_handle_remote_id): Process it.

* tapset/context.stp (remote_id, remote_uri): New functions.
* testsuite/systemtap.base/remote.exp: Extend to print/check those functions' values.

12 years agoPR13354: NEWS blurb for remote_id() and remote_uri()
Frank Ch. Eigler [Sun, 27 Nov 2011 21:07:59 +0000 (16:07 -0500)]
PR13354: NEWS blurb for remote_id() and remote_uri()

12 years agoPR13354: run remote.exp by default, even if $TESTREMOTES were unset
Frank Ch. Eigler [Sun, 27 Nov 2011 20:56:32 +0000 (15:56 -0500)]
PR13354: run remote.exp by default, even if $TESTREMOTES were unset

Just run it with direct: and stapsh:

12 years agoPass through user flag into all of unwinder.
Mark Wielaard [Sat, 26 Nov 2011 21:21:22 +0000 (22:21 +0100)]
Pass through user flag into all of unwinder.

runtime/unwind.c relied on passing of struct task being not NULL
to see whether to access user space. In practice tsk was always
either NULL or current. And not all bits of the unwinder checked
it. Now we just pass a user flag and push it down to every
function that needs it.

12 years agoPR13155 mention in NEWS
Frank Ch. Eigler [Sat, 26 Nov 2011 04:16:22 +0000 (23:16 -0500)]
PR13155 mention in NEWS

12 years agoexamples index bump
Frank Ch. Eigler [Fri, 25 Nov 2011 16:33:25 +0000 (11:33 -0500)]
examples index bump

12 years agoFix build error in staprun_funcs.c when HAVE_ELF_GETSHDRSTRNDX is not set.
Mark Wielaard [Sat, 26 Nov 2011 01:33:01 +0000 (02:33 +0100)]
Fix build error in staprun_funcs.c when HAVE_ELF_GETSHDRSTRNDX is not set.

Mark find_section_in_module arguments unused when HAVE_ELF_GETSHDRSTRNDX
isn't set.

12 years agoUse __get_user and __put_user for s390 uderef/kderef.
Mark Wielaard [Sat, 26 Nov 2011 01:29:57 +0000 (02:29 +0100)]
Use __get_user and __put_user for s390 uderef/kderef.

Replace costum s390 [store_][uk]deref() implementations with standard
s390 kernel __get_user() and __put_user() functions. Wrapped in get_fs()
set_fs() calls to switch between user/kernel space addresses.

12 years agoloc2c-runtime.h: Split deref and store_deref into user and kernel version.
Mark Wielaard [Fri, 25 Nov 2011 14:11:00 +0000 (15:11 +0100)]
loc2c-runtime.h: Split deref and store_deref into user and kernel version.

All references to deref have been updated to use either the user or kernel
variant where appropriate, but kderef is currently still defined as uderef,
and store_kderef as store_uderef. Which should work fine for all arches
except s390.

12 years agoruntime/loc2c-runtime.h remove unused deref_buffer define.
Mark Wielaard [Fri, 25 Nov 2011 10:53:19 +0000 (11:53 +0100)]
runtime/loc2c-runtime.h remove unused deref_buffer define.

12 years agoConsolidate fetch_[uk]register defines in one place in tapsets.cxx.
Mark Wielaard [Thu, 24 Nov 2011 19:32:24 +0000 (20:32 +0100)]
Consolidate fetch_[uk]register defines in one place in tapsets.cxx.

12 years agoCreate stapusr, stapsys and stapdev groups with their assigned group ids, if possible.
Dave Brolley [Fri, 25 Nov 2011 17:06:03 +0000 (12:06 -0500)]
Create stapusr, stapsys and stapdev groups with their assigned group ids, if possible.

- Group IDs were assigned by RHBZ 756807

12 years agoPR 13128: NEWS and man page updates.
Dave Brolley [Wed, 23 Nov 2011 22:43:33 +0000 (17:43 -0500)]
PR 13128: NEWS and man page updates.

12 years agoPR 13128: No need to exhaustively test every tapset function.
Dave Brolley [Wed, 23 Nov 2011 21:31:10 +0000 (16:31 -0500)]
PR 13128: No need to exhaustively test every tapset function.

- Test a subset by default
- Test them all if SYSTEMTAP_TEST_ALL_EMBEDDED_C is defined in the environment.

12 years agoPR 13128: Implement module privilege check in staprun.
Dave Brolley [Wed, 23 Nov 2011 18:44:40 +0000 (13:44 -0500)]
PR 13128: Implement module privilege check in staprun.

- staprun extracts the required privilege level from signed modules
  and compares it against the user's actual privilege credentials
  before loading.

12 years agoPR 13128: Implement the new --privilege=stapsys
Dave Brolley [Tue, 22 Nov 2011 16:13:28 +0000 (11:13 -0500)]
PR 13128: Implement the new --privilege=stapsys

- Users belonging to the group stapsys can use all probe points and tapset
  functions (including those which contain embedded C), but cannot
  use the -g option.
- Loading of modules for stapsys users requires signing by a trusted compile-server.
- Add testing for stapsys throughout as appropriate.
- Update existing unprivileged test suites to test stapsys as appropriate.
- New test suite tests -g against all privilege levels.

12 years agoARM uprobes support
Wade Farnsworth [Fri, 4 Nov 2011 19:35:05 +0000 (12:35 -0700)]
ARM uprobes support

Basic uprobes support for ARM.

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
12 years agoSimplify arch specific fallback for kernel backtraces __stp_stack_print.
Mark Wielaard [Tue, 22 Nov 2011 23:53:34 +0000 (00:53 +0100)]
Simplify arch specific fallback for kernel backtraces __stp_stack_print.

Only needs regs, sym_flags and levels to print.
Drop uwcontext, ri and uregs_valid.

12 years agotestsuite/systemtap.base/cxxclass.exp: Fix typo in untested case.
Mark Wielaard [Tue, 22 Nov 2011 23:45:48 +0000 (00:45 +0100)]
testsuite/systemtap.base/cxxclass.exp: Fix typo in untested case.

12 years agoPR13430 Split user tests from stmt_rel.exp into stmt_rel_user.exp.
Mark Wielaard [Tue, 22 Nov 2011 21:05:08 +0000 (22:05 +0100)]
PR13430 Split user tests from stmt_rel.exp into stmt_rel_user.exp.

The new stmt_rel_user.exp testcase runs the same test against all
available abi/opt variants. It kfails all the optimized builds
because of PR13430.

12 years agodwflpp::die_entrypc: Add missing closing brace in verbose message.
Mark Wielaard [Tue, 22 Nov 2011 16:03:11 +0000 (17:03 +0100)]
dwflpp::die_entrypc: Add missing closing brace in verbose message.

12 years agoFixed PR13428 by updating nfsd.stp.
David Smith [Tue, 22 Nov 2011 15:10:26 +0000 (09:10 -0600)]
Fixed PR13428 by updating nfsd.stp.

* tapset/nfsd.stp: Fixed nfsd.createv3 and nfsd.createv3.return probes
  after the kernel function they probe was renamed.

12 years agoAdd autoconf check for the addition of the pte argument for alloc_vm_area
William Cohen [Mon, 21 Nov 2011 22:21:20 +0000 (17:21 -0500)]
Add autoconf check for the addition of the pte argument for alloc_vm_area

Linux Kernel commit cd12909cb5 add the pt argument to the alloc_vm_area
function. Need to check whether that pte argument exists and sets a define
as required.

12 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Mon, 21 Nov 2011 21:38:39 +0000 (16:38 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

12 years agoMerge branch 'master' into dsmith/task_finder2
David Smith [Mon, 21 Nov 2011 19:28:40 +0000 (13:28 -0600)]
Merge branch 'master' into dsmith/task_finder2

12 years agoUpdate testsuite to check for new utrace requirements.
David Smith [Mon, 21 Nov 2011 18:03:03 +0000 (12:03 -0600)]
Update testsuite to check for new utrace requirements.

* testsuite/lib/systemtap.exp (utrace_p): Properly tests for the new
  utrace requirements.
* runtime/task_finder.c: Remove code that hardcoded new utrace.
* runtime/uprobes/uprobes.h: Reset to "normal" version.

12 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Mon, 21 Nov 2011 15:15:23 +0000 (10:15 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

12 years agotestsuite/systemtap.base/cast-scope.exp: KFAIL: cast-scope-m64 (PRMS: 13420)
Mark Wielaard [Mon, 21 Nov 2011 12:23:46 +0000 (13:23 +0100)]
testsuite/systemtap.base/cast-scope.exp: KFAIL: cast-scope-m64 (PRMS: 13420)

PR13420 prologue detection fails for unoptimized 64bit cast-scope.exp.

12 years agotestsuite/lib/systemtap.exp: Check abi arch flags (-m64, -m32/31) work.
Mark Wielaard [Mon, 21 Nov 2011 10:51:24 +0000 (11:51 +0100)]
testsuite/lib/systemtap.exp: Check abi arch flags (-m64, -m32/31) work.

Make sure all development packages for the supported ABIs (-m64 -m32/-m31)
are installed by building a quick hello.c and hello.cxx program with both.

12 years agoAdd testsuite/lib/compile_flags.exp and use it in tests.
Mark Wielaard [Sat, 19 Nov 2011 19:45:49 +0000 (20:45 +0100)]
Add testsuite/lib/compile_flags.exp and use it in tests.

testsuite/lib/compile_flags.exp defines all_compile_flags(),
all_compile_flag(INDEX) and all_compile_flag_name(INDEX) which return
the number, actual flag and extra test name to use in tests that use
target_compile for use space testing. On architectures that support
multiple ABIs it will return all combinations of all optimizations
(none, -O, -O2) and the ABI flags (-m64, -m32 or -m31).

Use in a for loop like: for {set i 0} {$i < [all_compile_flags]} {incr i} {
  set extra_flag [all_compile_flag $i] # Add to target_compile flags
  set extra_name [all_compile_flag_name $i] # Add to test pass/fail message
...
}

12 years agouprobe_stmt_num.exp run the last test, but explicitl kfail PR10454.
Mark Wielaard [Sat, 19 Nov 2011 18:07:47 +0000 (19:07 +0100)]
uprobe_stmt_num.exp run the last test, but explicitl kfail PR10454.

12 years agoCheck for the new task_finder config variable requirement.
David Smith [Fri, 18 Nov 2011 20:37:11 +0000 (14:37 -0600)]
Check for the new task_finder config variable requirement.

* tapsets.cxx (check_process_probe_kernel_support): Add support for the
  requirements of the new task_finder (and even look ahead to the new
  uprobes).
* tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls): Minor
  change to match "real" tapset-utrace.cxx.

12 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Fri, 18 Nov 2011 20:22:03 +0000 (15:22 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

12 years agoMerge branch 'master' into dsmith/task_finder2
David Smith [Fri, 18 Nov 2011 19:35:02 +0000 (13:35 -0600)]
Merge branch 'master' into dsmith/task_finder2

12 years agoMove common CONFIG_UTRACE check to its own function.
David Smith [Fri, 18 Nov 2011 19:28:54 +0000 (13:28 -0600)]
Move common CONFIG_UTRACE check to its own function.

* tapsets.cxx (check_process_probe_kernel_support): New function.
  (dwarf_builder::build): Moved CONFIG_UTRACE check to
  check_process_probe_kernel_support() which we call instead.
* tapset-utrace.cxx (utrace_derived_probe::utrace_derived_probe): Call
  check_process_probe_kernel_support() instead of doing CONFIG_UTRACE
  check.
* tapsets.h: Declare check_process_probe_kernel_support().

12 years agoPR12136: Tweak the cast-scope testcase
Josh Stone [Thu, 17 Nov 2011 21:10:55 +0000 (13:10 -0800)]
PR12136: Tweak the cast-scope testcase

- Use unnamed process.* to allow -c to guarantee the right path
- Specify the function probe's file, so we don't accidentally pick up
  any other length(), like string::length().

12 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Thu, 17 Nov 2011 21:02:28 +0000 (16:02 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

12 years agoPR12136: Add a statement probe for testing @cast scopes
Josh Stone [Thu, 17 Nov 2011 20:32:03 +0000 (12:32 -0800)]
PR12136: Add a statement probe for testing @cast scopes

There's still an issue with getting the entry value, but the rest looks
like it's working properly...

12 years agoAdd UTRACE_API_VERSION to determine which utrace version we've got.
David Smith [Wed, 16 Nov 2011 21:23:46 +0000 (15:23 -0600)]
Add UTRACE_API_VERSION to determine which utrace version we've got.

* runtime/stp_utrace.h: Added UTRACE_API_VERSION back.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls): Use
  UTRACE_API_VERSION, which stp_utrace.h now provides, so that we don't
  have to check STP_TASK_FINDER2.

12 years agoMerge branch 'master' into dsmith/task_finder2
David Smith [Wed, 16 Nov 2011 21:04:16 +0000 (15:04 -0600)]
Merge branch 'master' into dsmith/task_finder2

12 years agoDon't use dwfl_module bias in either emit_address() and vardie_from_symtable().
Mark Wielaard [Wed, 16 Nov 2011 12:33:26 +0000 (13:33 +0100)]
Don't use dwfl_module bias in either emit_address() and vardie_from_symtable().

dwflpp::emit_address() is called by loc2c for emitting DW_OP_addr.
DW_OP_addr could come from the actual dwarf location description or
could be synthetically generated from through vardie_from_symtable().
vardie_from_symtable() would keep the dwfl module bias (if there was one),
but the DW_OP_addr from real dwarf debuginfo would not have it.
Now we are consistently not having the module bias added.

Add some variants of the externalvar.exp testcase, which previously
failed with older GCC versions (where we would pick up the DW_OP_addr
from the dwarf location description), while newer GCCs emit dwarf DIEs
for these variables that only have the external flag set. The new
testcase variants use static vars, which will have DW_OP_addr emitted
in both old and new GCC versions.

12 years agoAdd the kvm_service_time.stp example
William Cohen [Tue, 15 Nov 2011 16:39:45 +0000 (11:39 -0500)]
Add the kvm_service_time.stp example

12 years agoUpdate the examples index with qemu_io.stp and qemu_count.stp.
William Cohen [Tue, 15 Nov 2011 14:19:20 +0000 (09:19 -0500)]
Update the examples index with qemu_io.stp and qemu_count.stp.

12 years agoAdd qemu_count.stp example
William Cohen [Tue, 15 Nov 2011 14:18:22 +0000 (09:18 -0500)]
Add qemu_count.stp example

12 years agoAdd the qemu_io.stp example
William Cohen [Tue, 15 Nov 2011 14:12:51 +0000 (09:12 -0500)]
Add the qemu_io.stp example

12 years agoserver_locale.exp: Make untested message different from server.exp message.
Mark Wielaard [Tue, 15 Nov 2011 14:07:59 +0000 (15:07 +0100)]
server_locale.exp: Make untested message different from server.exp message.

12 years agoPR13313 cont'd, fix regexp for [+-]D[+-]D[+-]D(...) operand case again.
Mark Wielaard [Tue, 15 Nov 2011 10:09:38 +0000 (11:09 +0100)]
PR13313 cont'd, fix regexp for [+-]D[+-]D[+-]D(...) operand case again.

The +/- before the second and third D aren't optional, but the combination
of [+-]D as a whole is optional. Tweak regexp again.

12 years agotestsuite/systemtap.base/library.exp: Add test name to PASS/FAIL messages.
Mark Wielaard [Tue, 15 Nov 2011 09:58:56 +0000 (10:58 +0100)]
testsuite/systemtap.base/library.exp: Add test name to PASS/FAIL messages.

12 years agounprivileged_embedded_C.exp: Before 2.6.21 __get_skb_iphdr wasn't native.
Mark Wielaard [Mon, 14 Nov 2011 21:33:06 +0000 (22:33 +0100)]
unprivileged_embedded_C.exp: Before 2.6.21 __get_skb_iphdr wasn't native.

12 years agoMake plt.exp test work against older glibc and/or newer gcc.
Mark Wielaard [Mon, 14 Nov 2011 20:31:57 +0000 (21:31 +0100)]
Make plt.exp test work against older glibc and/or newer gcc.

Older glibc only had (the now deprecated) register_printf_function.
Newer gcc might transform stpcpy into strcpy if return value is ignored.

12 years agoPR13313 cont'd, fix regexp for [+-]D[+-]D[+-]D(...) operand case
Frank Ch. Eigler [Mon, 14 Nov 2011 19:34:56 +0000 (14:34 -0500)]
PR13313 cont'd, fix regexp for [+-]D[+-]D[+-]D(...) operand case

Our regexps used [+-]? for the second/third optional displacement
values, when in fact they are not optional.  They are the only thing
that would separate the numbers.

Reported-By: Sergio Durigan <sdurigan@redhat.com>
12 years agoMerge remote-tracking branch 'origin/master' into inode-uprobes
Josh Stone [Mon, 14 Nov 2011 18:08:08 +0000 (10:08 -0800)]
Merge remote-tracking branch 'origin/master' into inode-uprobes

12 years agotestsuite/systemtap.base/implicitptr.exp: Only fail if exe_uses_implicit_ptr.
Mark Wielaard [Mon, 14 Nov 2011 18:03:20 +0000 (19:03 +0100)]
testsuite/systemtap.base/implicitptr.exp: Only fail if exe_uses_implicit_ptr.

If gcc didn't even produce a DW_OP_[GNU_]implicit_pointer there is little
we can test.

12 years agoPR 13128: Reorganize privilege functions to share common code between stap and staprun.
Dave Brolley [Mon, 14 Nov 2011 16:12:46 +0000 (11:12 -0500)]
PR 13128: Reorganize privilege functions to share common code between stap and staprun.

- Privilege related functions now in privilege.cxx.
- privilege.h now at root of the source tree.

12 years agoPR 13398 - Allow Compile-Server Specs to Resolve to localhost and localhost.localdomain
Dave Brolley [Thu, 10 Nov 2011 22:33:40 +0000 (17:33 -0500)]
PR 13398 - Allow Compile-Server Specs to Resolve to localhost and localhost.localdomain

Removed heuristic which attempted to filter localhost.

12 years agoCorrect typo.
Dave Brolley [Thu, 10 Nov 2011 21:13:13 +0000 (16:13 -0500)]
Correct typo.

12 years agoPR13313 redux, fix off-by-one error in disp+disp+disp(...) asm operand format
Frank Ch. Eigler [Mon, 14 Nov 2011 14:44:52 +0000 (09:44 -0500)]
PR13313 redux, fix off-by-one error in disp+disp+disp(...) asm operand format

commit 8095a157 cleaned up regexp match parsing, but
included a bonus off-by-one error that resulted in
ignoring the third "disp" optional addend.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg)
  Make optional disp addends count up to three.  Four shalt thou not
  count, neither shalt thou count to two, excepting that thou then
  proceed to three. Five is right out.

12 years agotestsuite/systemtap.exelib/pthreadprobes.exp: Handle pthread_mutex_timedlock.
Mark Wielaard [Mon, 14 Nov 2011 14:26:52 +0000 (15:26 +0100)]
testsuite/systemtap.exelib/pthreadprobes.exp: Handle pthread_mutex_timedlock.

pthreadprobes.exp tested pthread_mutex_timedlock but didn't handle the
result which caused it to FAIL the mutex_timedlock_entry test each time.

pthread_mutex_timedlock is called with a timeout of 1 second in a
loop while the mutex is held by the other thread for about 5 seconds
resulting in a couple of entries resulting in a ETIMEDOUT before it
is actually acquired.  Expect 2 till 6 tries before success.

12 years agotestsuite/systemtap.exelib/pthreadprobes.exp: Make PASS messages unique.
Mark Wielaard [Mon, 14 Nov 2011 13:43:15 +0000 (14:43 +0100)]
testsuite/systemtap.exelib/pthreadprobes.exp: Make PASS messages unique.

12 years agotestsuite/systemtap.base/implicitptr.c: Make sure to use all implicit values.
Mark Wielaard [Mon, 14 Nov 2011 12:46:40 +0000 (13:46 +0100)]
testsuite/systemtap.base/implicitptr.c: Make sure to use all implicit values.

Or gcc might optimize out the generation of dwarf.

12 years agotestsuite/systemtap.base/sdt_misc.c: nanosleep in endless loop.
Mark Wielaard [Mon, 14 Nov 2011 10:36:32 +0000 (11:36 +0100)]
testsuite/systemtap.base/sdt_misc.c: nanosleep in endless loop.

Be nice to single CPU or low resource devices running this testcase.

12 years agosched_switch.stp parse arguments once, workaround name argument WARNINGs.
Mark Wielaard [Sat, 12 Nov 2011 21:30:28 +0000 (22:30 +0100)]
sched_switch.stp parse arguments once, workaround name argument WARNINGs.

stap got smarter and now detects some arguments aren't used or used
"wrongly". Add a begin probe to parse the arguments, use strtol if
necessary, and add usage message in case wrong number of args were given.
This suppresses WARNINGs for 'stap sched_switch.stp name firefox':

WARNING: never-assigned local variable 'firefox' (alternatives: __tracepoint_arg_p name task task_pid task_tid task_priority task_cpu task_state): identifier 'firefox' at testsuite/systemtap.examples/profiling/sched_switch.stp:34:19
 source:                if (task_pid != $2 && pid() != $2)
                                        ^
WARNING: never-assigned local variable 'firefox' (alternatives: __tracepoint_arg_prev __tracepoint_arg_next next_pid next_tid next_task next_task_name nexttsk_state next_priority prev_priority prev_pid prev_tid prev_task prev_task_name prevtsk_state name): identifier 'firefox' at :53:19
 source:                if (next_pid != $2 && prev_pid != $2)
                                        ^
WARNING: Eliding unused variable 'firefox': identifier 'firefox' at :34:19
 source:                if (task_pid != $2 && pid() != $2)
                                        ^

12 years agoPR13404: Dial SDT args up to twelve
Josh Stone [Fri, 11 Nov 2011 22:11:11 +0000 (11:11 -1100)]
PR13404: Dial SDT args up to twelve

This is SystĂ«mTap, and eleven is so 1984...

* includes/sys/sdt.h: Expand all macros from 10 to 12.
* tapsets.cxx (sdt_uprobe_var_expanding_visitor): Allow 12 args now.
* testsuite/systemtap.base/sdt.*: Test 12 args for SDT v3 only.
* testsuite/systemtap.base/sdt_va_args.*: Test 12 in STAP_PROBEV.

12 years agoFix compile error in _stp_stack_user_print.
David Smith [Fri, 11 Nov 2011 19:12:37 +0000 (13:12 -0600)]
Fix compile error in _stp_stack_user_print.

* runtime/stack.c (_stp_stack_user_print): Fix compile error when
  STAPCONF_UPROBE_GET_PC isn't defined.

12 years agoPR13313: parse x86 base+(index*scale)+displacement sdt.h asm operand format
Frank Ch. Eigler [Fri, 11 Nov 2011 16:59:11 +0000 (11:59 -0500)]
PR13313: parse x86 base+(index*scale)+displacement sdt.h asm operand format

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg): Parse
  N(%r,%r,S) format with another regexp branch.  Adjust regexp-parsing logic in N(%r)
  to avoid iteration over regexp matches, as we know the indices directly.

12 years agoMerge branch 'master' into dsmith/task_finder2
David Smith [Fri, 11 Nov 2011 13:56:28 +0000 (07:56 -0600)]
Merge branch 'master' into dsmith/task_finder2

12 years agotestsuite/systemtap.base/vta-test.c: Tweaked to use variables.
Mark Wielaard [Fri, 11 Nov 2011 11:23:25 +0000 (12:23 +0100)]
testsuite/systemtap.base/vta-test.c: Tweaked to use variables.

GCC 4.6 was too smart. It saw we didn't actually use the a[] ever
so never stored its contents. Now we actually use the array so a
(constant) expresion location is put in the dwarf output.

12 years agoMerge remote-tracking branch 'origin/master' into inode-uprobes
Josh Stone [Thu, 10 Nov 2011 01:55:40 +0000 (17:55 -0800)]
Merge remote-tracking branch 'origin/master' into inode-uprobes

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