| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* grapher/Makefile.am: Updated gtkmm CFLAGS/LIBS variable name.
* grapher/Makefile.in: Regenerated.
* Makefile.in: Ditto.
* doc/Makefile.in
* doc/SystemTap_Tapset_Reference/Makefile.in
|
|
|
|
|
|
| |
* configure.ac: Don't check for gtkmm if '--disable-grapher' was used.
Also, error if '--enable-grapher' was used but gtkmm isn't installed.
* configure: Regenerated.
|
|
|
|
|
|
| |
* configure.ac: Only compile elfutils with '-fgnu89-inline' if the
compiler actually supports it.
* configure: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* staplog.c (get_rchan): Separated original relayfs code and current
relayfs code.
(get_rchan_buf): Ditto.
(output_cpu_logs): Ditto.
(get_rchan_addr): Handles original relayfs code detection.
(setup_global_data): Looks for '_stp_relay_data' structure instead of
'_stp_utt' structure.
(open_output_file): Improved error message.
* runtime/transport/relay_v2.c: Rearranged struct _stp_relay_data_type to
make things a bit easier for staplog.c.
* runtime/transport/relayfs.c: Ditto
|
|
|
|
|
|
|
|
|
|
|
| |
* tapset/logging.stp (ftrace): New function.
(*): Add kerneldoc to other functions.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Process logging.stp.
* stapfuncs.3stap.in: Remove "LOGGING" section, now redundant.
* runtime/autoconf-trace-printk.c: New autoconf test.
* buildrun.cxx (compile_pass): Build it.
* NEWS: Mention it.
* testsuite/buildok/logging.stp: Test it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Don't
emit unnecessary 0 initializers for .tfi and .sdt_semaphore_addr.
|
|
|
|
| |
* dwflpp.c (die_entrypc): Reject entrypc=0 functions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Saves a couple of seconds per individual test by doing them all in one.
* testsuite/buildok/context_test.stp: Incorporate:
modname.stp, probefunc.stp, probemod.stp, symdata.stp, symname.stp,
uaddr.stp, ustack.stp, usymdata.stp, usymname.stp.
Delete individual tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A lot of tests wait, sleep or use a timer for multiple seconds when that
is not necessary. Reduce the time waited so save test time.
* testsuite/systemtap.base/backtrace.stp: Exit after 100ms.
* testsuite/systemtap.base/badkprobe.exp: Likewise.
* testsuite/systemtap.base/global_end.stp: Likewise.
* testsuite/systemtap.base/itrace.exp: Wait 1 sec instead of 5 for each test.
* testsuite/systemtap.base/maxactive.exp: Likewise.
* testsuite/systemtap.base/onoffprobe.exp: Match and use modname, so
build script can be cached.
* testsuite/systemtap.base/onoffprobe.stp: Wait miliseconds instead of
seconds in each alias. Output module_name.
* testsuite/systemtap.base/poll_map.stp: Start after 100ms.
|
|
|
|
|
|
|
|
|
| |
The rewrite of parse_function_spec left the line numbers uninitialized
when not used, but elsewhere was depending on that. Fix the uninit, and
also don't depend on it.
* tapsets.cxx (dwarf_query::parse_function_spec): Init line stuff.
(query_cu): Branch on the spec_type, not the line contents.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 6846cfc8 introduced an unintended side-effect where semaphore tracking
was identified with stap_uprobe_specs[] elements, which are normally static/const.
This kernel patch <http://article.gmane.org/gmane.linux.kernel/854187> catches
and panics on this. The cure is to move the variable over to the stap_uprobes[]
array.
* tapsets.cxx (uprobe emit_module_decls): Add sdt_sem_address to stap_uprobe{} struct,
to contain per-process relocated semaphore address.
(emit_module_decls,_init): Remove tsk field, restore constness of appropriate
locals. Activate uprobe semaphore right around uprobe activation time. Remove
semaphore clearing upon process exit, since by then it's gone.
(emit_module_exit): Use remembered relocated semaphore address to clean up.
Fix "-uprobe" DEBUG_UPROBES message.
* runtime.h: #include <linux/sched.h>.
* dtrace.in (*_semaphore): Make it an unsigned short - intended 16 bits on all
common architectures/multilibs.
|
| |
|
|\ |
|
| |\ |
|
| | | |
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| | |
* runtime/staprun/staprun.h: Put ppoll() declaration here (so that
relay_old.c can use it).
* runtime/staprun/relay.c (ppoll): Made ppoll() non-static so that
relay_old.c can use it.
|
| |
| |
| |
| | |
* tapset/ucontext-symbols.stp (print_ustack): Remove /* pure */
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allocated section needs to be writable when creating pic shared objects
because we store relocatable addresses in them. We used to make this
read only for non-pic executables, but the new semaphore support relies
on having a writable .probes section to put the enabled variables in.
* includes/sys/sdt.h (ALLOCSEC): Define unconditionally as "aw".
|
|/
|
|
|
|
|
| |
cross compilation.
Server correctly advertises itself wrt -r and -a.
Fix bug in stap-server: fatal function was potentially recursive.
|
| |
|
|
|
|
|
|
| |
* NEW: Mention DW_OP_{implicit,stack}_value support.
* testsuite/systemtap.base/vta-test.exp: Don't XFAIL. Use staprun2.
* testsuite/systemtap.base/vta-test.stp: Enable all probes.
|
|
|
|
| |
* loc2c.c (declare_noncontig_union): Only open struct when loc_noncontiguous.
|
|
|
|
|
| |
* loc2c.c [!_ELFUTILS_PREREQ (0,142)]
(DW_OP_stack_value, DW_OP_implicit_value): Define as macros.
|
|
|
|
|
| |
* dwflpp.cxx (translate_location) [!_ELFUTILS_PREREQ (0,142)]:
Pass new argument to c_translate_location.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It's important for macros like this to appear as a single statement, so
they won't break the control flow of the caller. The new STAP_SEMAPHORE
macro was breaking this masquerade, but now I've moved it inside of the
do-while block.
* includes/sys/sdt.h (STAP_SEMAPHORE): Define the disabled case empty.
(STAP_PROBE[1-10]_): Move the semaphore inside the do-while block.
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | | |
Gneral work on options in the client and server.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The decrement can happen at the same time that the utrace detach is
called. However, I'm concerned that this code isn't correctly handling
the case where multiple tasks may register the same probe, so for now
I've noted those places. I think task finder may have to help in fixing
this...
* tapset-utrace.cxx (utrace_derived_probe_group::emit_module_init): As
noted in uprobes-land, there's no need to tear down anything.
(utrace_derived_probe_group::emit_module_exit): Unify the detach and
semaphore decrement, and note a concern about multiple tasks.
(utrace_derived_probe_group::emit_module_decls): Note same concern.
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Ditto.
(uprobe_derived_probe_group::emit_module_exit): Ditto.
|
| | |
| | |
| | |
| | | |
* tapsets.cxx (sdt_query::record_semaphore): Use lookup_symbol_address.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each probe needs to know the associated semaphore address, rather than
the other way around.
* session.h (sdt_semaphore_addr): Reverse the key-value types.
* tapsets.cxx (record_semaphore): Take an index to only record the
semaphore for newly added results.
(sdt_query::handle_query_module): Adjust accordingly.
(uprobe_derived_probe_group::emit_module_decls): Now it's a simple map
lookup for sdt_sem_address.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Ditto.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As reported by dsmith, reusing temporary locals will prevent our
limited optimizer from eliminating code. I'm getting rid of these
particular locals altogether.
* tapset/networking.stp (netdev.change_mac): Don't write mac
intermediates into locals; just pass them directly to sprintf.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* loc2c.c (struct location): Add loc_constant variant,
with constant_block field.
(translate): Handle DW_OP_implicit_value to make loc_constant pieces.
(c_translate_location): Handle loc_constant.
(discontiguify): Likewise.
(location_relative): Likewise.
(declare_noncontig_union): Likewise.
(translate_base_fetch): Likewise.
(c_translate_array): Likewise.
(c_emit_location): Likewise.
(emit_base_store): Refuse loc_constant.
(c_translate_addressof): Likewise.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
loc2c.c
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
* loc2c.c (translate): Fix sense of _ELFUTILS_PREREQ test and clean up stub
for DW_OP_implicit_value case, still not really implemented.
|
| | | |
|
| | | |
|