Frank Ch. Eigler [Mon, 11 Aug 2008 21:34:47 +0000 (17:34 -0400)]
Merge commit 'origin/master' into pr4225
* commit 'origin/master': (34 commits)
PR5049: fix overbroad effects of naive "*" prefixing; instead use optional "*/" only.
stap-serverd was incorectly determining that the server could
stapprobes man page: clarify statement(NUM).absolute and process("path") searching
PR5049: prefix with "*" any filenames given in "fn@filename:line" probes
Indentation fix.
Redirect stderr gets redircted so warnings don't let example script run fail.
PR6835. io/io_submit.stp: Fix #! start. Convert to normal line-ending.
PR2895. Add proper #! /usr/bin/env stap line. Make example scripts executable.
Use INSTALL_PROGRAM, not INSTALL_DATA for executable .stp scripts.
example index: only warn if old, do not regenerate
Start/stop the systemtap server from systemtap.exp and not in the top level Makefile.
Lower statement wildcard test matching threshold.
Moved details of utrace detach to stap_utrace_detach().
Saves thread vma information.
Always generate examples indexes and install examples from srcdir.
Refer to srcdir spec file Makefile so make rpm works when builddir != srcdir.
Add index of subsystem and keywords at top of HTML indexes.
Don't output output, exits, status line in indexes (mentioned in descriptions).
Disable chmodding of samples/kmalloc-top in spec file since it isn't installed.
Make sure examples indexes are always generated in builddir.
...
David Smith [Fri, 8 Aug 2008 18:47:27 +0000 (13:47 -0500)]
Moved details of utrace detach to stap_utrace_detach().
2008-08-08 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Calls stap_utrace_detach() to perform detach.
2008-08-08 David Smith <dsmith@redhat.com>
* task_finder.c (stap_utrace_detach): New function.
(stap_utrace_detach_ops): Calls stap_utrace_detach().
(__stp_utrace_attach_match_filename): Ditto.
* commit 'origin/master':
Use relative instead of absolute line. (bug 6611)
move post-0.7 news tidbit to the top
Add test for $$vars, $$params, $$locals.
typographical tweaks for embedded script code
Add $$vars, $$parms, $$locals
Rename $path to $pathname of syscall tapset for 2.6.27
Correct several tests for 2.6.27
c code generation: assert C indentation/nesting cancels out at appropriate points
Tweak test_installcheck for helloworld.meta and traceio2.meta.
Run both tests for installcheck tests.
No need for random suffix file cmdline and sysinfo files in the
Ensure that a systemtap server is available if 'server' is specified
session.h (struct systemtap_session): Added itrace_derived_probe
* syscalls2.stp: Add sys_unlinkat.
Fix on_each_cpu() call for kernels >2.6.26.
Remove unused STAPCONF_MODULE_NSECTIONS
* commit '552fdd9f5a7eb3394888356301929c078173a22b':
fix semantic error: no entrypc found using probe .statement(*@file:line) constructs
Fix sw 6752. Alter condtional to check for >= 2.6.26. This accounts and fixes false positives in kernel_v strings that return xx.xx.xx.xx over xx.xx.xx.
because the compiler will fail with the above semantic error on the
function scsi_end_bidi_request. It seems looking through the dwarf that
this function is fully inlined and thus has no entrypc to catalogue.
The solution therefore seems to simply return DWARF_CB_OK when we find
such functions and continue cataloguing all the ones that do actually
have non-inline versions.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Phil Muldoon [Tue, 22 Jul 2008 12:22:23 +0000 (13:22 +0100)]
Fix sw 6752. Alter condtional to check for >= 2.6.26. This accounts and fixes false positives in kernel_v strings that return xx.xx.xx.xx over xx.xx.xx.
David Smith [Mon, 21 Jul 2008 15:17:19 +0000 (10:17 -0500)]
No longer allocates structure used to save vma information.
2008-07-21 David Smith <dsmith@redhat.com>
* task_finder_vma.c (__stp_tf_vma_initialize): New function to
initialize the free list.
(__stp_tf_vma_put_free_entry): Puts a vma entry back on the free
list.
(__stp_tf_add_vma): Instead of allocating a vma entry, grab one
from the free list by calling __stp_tf_vma_put_free_entry().
(__stp_tf_remove_vma_entry): Instead of freeing a vma entry, call
__stp_tf_vma_put_free_entry() to put it on the free list instead.
* task_finder.c (stap_start_task_finder): Calls
__stp_tf_vma_initialize().
James Bottomley [Mon, 14 Jul 2008 21:49:00 +0000 (16:49 -0500)]
fix missing functions in caches
Both the inline and non inline filtered function caches can lose
functions. This happens because both of these caches are indexed by the
entrypc. However, the vagaries of optimisation can actually cause us to
end up with two functions with apparently the same entrypc (mainly
because for inline functions, the entrypc has to be deduced from the
range of addresses, which is nastily heuristic).
A nice example of this is bsg_io_schedule. In my build of 2.6.26 it's a
static function transformed to an inline by the compiler. The range
deduction of its entrypc ends up being identical to that of bsg_release,
so when I try to place a probe inside it, none of the function
references actually refers to it.
Since nothing ever actually makes use of this index, the fix is simple:
don't use a map indexed on the entrypc, use a simple vector.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>