| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
* setupdwfl.cxx (setup_dwfl_kernel(unsigned*,systemtap_session&)):
Don't switch around offline_search_modname and offline_search_names here.
(setup_dwfl_kernel(string&,unsigned*,systemtap_session&): But here.
|
|
|
|
|
| |
* tapset/x86_64/nd_syscalls.stp: Switch by kernel version.
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
| |
relocation base.
|
|
|
|
|
| |
* cache.cxx (cache_ent_info::cache_ent_info): Count the sgn in the size
(cache_ent_info::unlink): Remove the sgn too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every single copy_file call we had was converting strings to char*,
printing the same error message, and optionally printing the same
verbose string. Let's canonicalize that.
* util.cxx (copy_file): Take string filenames, add a verbose flag, and
consolidate the message printing.
* cache.cxx (add_to_cache): Pass strings and remove message printing.
(get_from_cache): Ditto.
* main.cxx (main): Ditto.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
(dwarf_cast_expanding_visitor::filter_special_modules): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To mitigate PR10424, we switched to building a separate tracequery
module for each tracepoint header, so a bad header wouldn't break all of
the others. However, with recent kernels that leads to ~18 make
commands, which adds up quickly in time. It's cached, so that's not too
bad, but as a developer who rebuilds stap frequently, it gets annoying.
If we're going to call 18 makes, it's worth it to start with one bigger
make that covers all the headers at once (like we used to). If that one
fails, we can still fall back to compiling individually.
FWIW, the failing ext4.h header was only created in 2.6.31, and was
fixed before 2.6.32, so the specific failure in PR10424 has a fairly
small window.
* buildrun.cxx (make_tracequery): Just take a single vector of headers.
* hash.cxx (find_tracequery_hash): Deal with multiple headers.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
(tracepoint_builder::init_dw): Attempt all system headers together,
and if that fails, try again individually.
|
|
|
|
|
|
|
|
|
| |
* setupdwfl.h: Add setup_dwfl_user() and is_user_module().
* setupdwfl.cxx: Likewise.
* dwflpp.cxx (setup_user): Use setup_dwfl_user().
* translate.cxx (emit_symbol_data): Likewise and is_user_module().
* tapsets.cxx (dwarf_cast_expanding_visitor::visit_cast_op):
Use is_user_module().
|
|
|
|
| |
* setupdwfl.cxx (setup_dwfl_kernel): First report all full path modules.
|
|
|
|
| |
* testsuite/systemtap.base/cmd_parse.exp: Remove temporary module.
|
|
|
|
|
|
| |
* elaborate.cxx (semantic_pass_opt2): Use "never-assigned" instead
of "read-only".
(dead_stmtexpr_remover::visit_expr_statement): Ditto.
|
|
|
|
|
|
|
|
|
|
|
| |
Tracepoint modules ended up going through dwflpp::setup_user() because
there was no setup_kernel that takes a list of module names.
* dwflpp.h: Add kernel_p bool to constructor that takes a module list.
Add setup_kernel() variant that takes a module list.
* dwflpp.cxx: Likewise.
* tapsets.cxx (tracepoint_builder::init_dw): Call dwflpp constructor
indicating we expect kernel modules.
|
|
|
|
|
|
|
|
|
|
|
| |
* setupdwfl.h: New header file.
* setupdwfl.cxx: New source file containing shared setup_dwfl_kernel() code.
* dwflpp.cxx (dwfl_report_offline_predicate): Removed.
(setup_kernel): Call setup_dwfl_kernel().
* translate.cxx (dwfl_report_offline_predicate2): Remove.
(emit_symbol_data): Call setup_dwfl_kernel().
* Makefile.am (stap_SOURCES): Add setupdwfl.cxx.
* Makefile.in: Regenerated.
|
|
|
|
| |
* tapset/logging.stp (log): Use _stp_printf "%s\n".
|
|
|
|
|
| |
OutBcastPkts. As they are not needed for tcpipstat and tend to break
easily with kernel changes.
|
|
|
|
| |
* runtime/tranport/ring_buffer.c: Removed 'USE_ITERS' definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/buildok/fortysix.stp: Add -w.
* testsuite/buildok/fortytwo.stp: Likewise.
* testsuite/buildok/four.stp: Avoid empty begin.
* testsuite/buildok/memory-all-probes.stp: Add -w.
* testsuite/buildok/nfsd-all-probes.stp: Likewise.
* testsuite/buildok/nine.stp: Likewise.
* testsuite/buildok/one.stp: Use q.
* testsuite/buildok/printf.stp: Remove unused foo(), printf x.
* testsuite/buildok/process-all-probes.stp: Add -w.
* testsuite/buildok/scheduler-all-probes.stp: Likewise.
* testsuite/buildok/scsi-all-probes.stp: Likewise.
* testsuite/buildok/signal-all-probes.stp: Likewise.
* testsuite/buildok/sixteen.stp: log in foo().
* testsuite/buildok/socket-all-probes.stp: Add -w.
* testsuite/buildok/stat_insert.stp: Declare x, y global.
* testsuite/buildok/syscall.stp: Add -w.
* testsuite/buildok/tcp-all-probes.stp: Likewise.
* testsuite/buildok/thirtyone.stp: Likewise.
* testsuite/buildok/twentyeight.stp: log absolute.
* testsuite/buildok/twentyfour.stp: Add -w.
* testsuite/buildok/udp-all-probes.stp: Likewise.
* testsuite/buildok/vfs-all-probes.stp: Likewise.
|
|
|
|
|
| |
* .mailmap: Normalize David (J.) Wilder.
* AUTHORS: Rebuild, also adding Charley Wang & Roland Grunberg.
|
|
|
|
|
|
| |
* loc2c.c (c_translate_constant): New function.
* loc2c.h: Declare it.
* loc2c-test.c (main): Use it for DW_AT_const_value cases.
|
|
|
|
| |
* testsuite/systemtap.printf/ring_buffer.exp: New test.
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
Better grapher option handling.
Fix configure on systems without 'gcc -fgnu89-inline' support (rhel4).
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* tapset/random.stp (randint): Make it 1-arity (imply min=0).
Document with kerneldoc.
* doc/Systemtap_Tapset_Reference/tapsets.tmpl: Extract the docs.
* runtime/arith.c (_stp_random_pm_u): Rename without _pm.
(_stp_random_pm): Rewrite in terms of ..._u.
* testsuite/random.stp: Adapt & simplify.
|
| | | |
|
| | |
| | |
| | |
| | | |
* arith.c (_stp_random_pm_u): New function.
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
* 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 */
|