| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This will be used to load tracepoint modules as a bunch of little query
modules into a single dwflpp.
* dwflpp.cxx (setup_user): take a vector instead of a single module
(dwflpp::dwflpp): form a vector in the singular case, and add a
variant that takes and passes through a vector of modules.
|
|
|
|
|
|
|
|
| |
* session.h (systemtap_session): remove tracequery_path
* hash.cxx (find_tracequery_hash, find_typequery_hash): return strings
* tapsets.cxx (dwarf_cast_expanding_visitor::filter_special_modules):
get the hashed path from the return value instead of a parameter
(tracepoint_builder::init_dw): ditto, and don't stuff it in session
|
|
|
|
|
| |
failures of compiling ipmib.stp and tcpmib.stp, rtable and dst fields are
deleted.
|
|
|
|
|
|
|
|
|
| |
* runtime/itrace.c (usr_itrace_init): Changed prototype to take a
task_struct instead of a pid.
* tapset-itrace.cxx (emit_module_decls): Updated usr_itrace_init() call.
* runtime/autoconf-find-task-pid.c: Removed, since only user_itrace_init()
was using it.
* buildrun.cxx (compile_pass): Removed autoconf-find-task-pid.c test.
|
|
|
|
|
|
| |
First check kprobe and utrace (did we arrive via stap?) then check
if probe arg matches mark("NAME")
* sdt.h (STAP_PROBE?_): Use STAP_GUARD for stap check, not gettid.
|
|
|
|
|
|
| |
* tapset/nfs_proc.stp: Change '?' notation to "!".
* tapset/nfsd.stp: Ditto.
* tapset/scsi.stp: Ditto.
|
| |
|
| |
|
| |
|
|
|
|
| |
* sym.c (_stp_usymbol_print): Ditto.
|
| |
|
|
|
|
| |
* sym.c (_stp_symbol_print): (Redundantly) initialize locals.
|
|
|
|
|
| |
* AUTHORS: Add David J. Wilder and Jeff Moyer.
* .mailmap: Add a real name for <wjhuang@localhost.localdomain>
|
| |
|
|\
| |
| |
| |
| |
| | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
Add chng_cpu.stp and migrate.stp examples.
Add network/tcpipstat.stp descriptions.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
* tapset/dentry.stp: New d_path, d_name, reverse_path_walk.
* .../examples/.../autofs4.*: New autofs demo.
Signed-off-by: Frank Ch. Eigler <fche@elastic.org>
|
|
|
|
|
| |
* tapsets.cxx (get_{user,kern}_dw): Skip partially allocated (0-initialized)
FOO_dw[] slots that may result from dwflpp::ctor exceptions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events. The probes mirror many of the SNMP statistics defined
in /usr/include/linux/snmp.h. Each probe represents a single SNMP
statistic or MIB. Each of the probe's handler is called when system
performs an operation that would alter the associated statistic. Along
with each probe is defined an indexed set of counters used to record
probe hits. The probe handlers call a user supplied callback functions
to determine which counter to alter. The user's callback should returns a
key value that will be used to index the counter. For example a callback
could return a unique value for each socket. This would results in a
separate counter being used for each socket.
tcpipstat.stp shows how snmp tapsets could be used. Tcpipstat collects and
displays network statistics related to individual TCP sockets or groups of
sockets. The statistics that are collected are simmer to that of the command
netstat -s, only sorted and grouped by individual sockets.
Signed-off-by: David Wilder <dwilder@us.ibm.com>
|
|
|
|
|
|
|
| |
* dwflpp.cxx (translate_location): Call get_cfa_ops with relative pc plus
module bias.
(literal_addr_to_sym_addr): Add verbose logging.
(get_cfa_ops): Adjust pc for returned bias. Add verbose logging.
|
|
|
|
| |
* loc2c-test.c: Include elfutils/version.h when available.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the '&' operator to get the address of @cast and $target
variable expressions.
* staptree.h (target_symbol): add addressof field
* staptree.cxx (target_symbol::print): print '&' for addressof
(cast_op::print): ditto
* parse.cxx (parser::parse_value): allow '&' prefix on $target/@cast
* dwflpp.cxx (dwflpp::translate_final_fetch_or_store): allow taking the
computed address without actually doing a final fetch.
* tapset* (*::visit_target_symbol): throw errors for $vars w/o addresses
* testsuite/systemtap.base/cast.stp: add &@cast test
* testsuite/semok/target_addr.stp: test '&' on different member types
* testsuite/semko/target_addr?.stp: test failure on bitfields/registers
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
* testsuite/systemtap.base/utrace_syscall_args.stp: Makes sure the open
syscall is from the target pid.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* runtime/transport/ring_buffer.c (_stp_ring_buffer_empty_cpu): New function.
(_stp_ring_buffer_empty): Ditto.
(_stp_ring_buffer_iterator_increment): Ditto.
(_stp_tracing_wait_pipe): Calls _stp_ring_buffer_empty() instead of
ring_buffer_empty().
(_stp_peek_next_event): Looks at iterators first.
(_stp_find_next_event): Calls _stp_ring_buffer_empty_cpu() and
increments iterator.
(_stp_data_read_trace): Opens and closes ring_buffer iterators.
(_stp_data_poll_trace): Calls _stp_ring_buffer_empty().
(__stp_relay_wakeup_timer): Ditto.
* runtime/transport/control.c (_stp_ctl_write_cmd): Increased level
required to get a debug print.
|
| |
| |
| |
| | |
* systemtap.spec (testsuite): Require systemtap-sdt-devel.
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
* dtrace: Renamed to...
* dtrace.in: Add -I@prefix/include to gcc invocation.
* configure.ac (AC_CONFIG_FILES): List dtrace.
* configure: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Depends on elfutils 0.142 cfi support.
* loc2c.h (c_translate_location): Take (optional) Dwarf_Op *cfa_ops.
* loc2c.c (translate): Recognize DW_OP_call_frame_cfa.
(location_from_address): Take cfa_ops, examine fb_ops, if it is
DW_OP_call_frame_cfa, pass cfa_ops to translate instead.
(location_relative): Take cfa_ops, pass to location_from_address.
(c_translate_location): Take cfa_ops, pass to location_from_address.
* loc2c-test.c (handle_variable): Take cfa_ops, pass to c_translate_location
when needed.
(main): Fetch cfa_ops, pass to handle_variable.
* dwflpp.h (struct dwflpp): Add new method get_cfa_ops.
* dwflpp.cxx: Include elfutils/version.h.
(translate_location): Fetch cfa_ops when necessary.
(get_cfa_ops): New method.
|
|
|
|
|
|
|
| |
* dwflpp.cxx (dwflpp::translate_components): let pointers get treated
the same as arrays, and add a final DIE dereference for array access.
* loc2c.c (c_translate_array): tolerate pointer types
* testsuite/systemtap.base/pointer_array.*: new test
|
|
|
|
| |
* tapsets.cxx: Remove loc2c.h include.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We cannot guarantee that (un)optimized code compiles and/or generates
fully functional code, so don't tempt the user to try it out.
* session.h (struct systemtap_session): Remove gcc_flags string field.
* hash.cxx (find_script_hash): Don't add gcc_flags.
* main.cxx (usage): Remove -O[0123s] documentation.
(main): Don't use gcc_flags.
* buildrun.cxx (compile_pass): Don't add gcc_flags to EXTRA_CFLAGS.
* stap1.in: Remove -O[0123s] documentation.
* testsuite/systemtap.base/cache.exp: Remove tests for -O[0123s].
|
|
|
|
|
|
|
| |
* main.cxx (main): Default gcc_flags to kernel opt-level (empty).
* buildrun.cxx (compile_pass): Add -freorder-blocks back, document choices.
* stap.1.in: Document new default opt-level.
* testsuite/systemtap.base/cache.exp: Adjust for new caching results.
|
|
|
|
|
| |
* tapsets.cxx(dwarf_derived_probe_group::emit_module_init,
kprobe_derived_probe_group::emit_module_init): print address.
|
|
|
|
|
|
|
|
|
|
| |
* session.h (struct systemtap_session): Add gcc_flags string field.
* main.cxx (usage): Document -O[0123s].
(main): Default gcc_flags to -O0. Add O:: to getopt_long. Handle case
'O' to set gcc_flags.
* buildrun.cxx (compile_pass): Add gcc_flags to EXTRA_CFLAGS.
* stap1.in: Add -O[0123s] documentation.
* testsuite/systemtap.base/cache.exp: Add tests for -O[0123s].
|
|
|
|
| |
* testsuite/systemtap.base/cache.exp: Enable -t tests.
|
|
|
|
|
|
|
|
|
| |
The definition of ntohs comes from user space include headers
netinet/in.h which could define it as function instead of macro.
So use builtin kernel be16_to_cpu instead.
* tapset/aux_syscalls.stp (_struct_sockaddr_u): Define and use _stp_ntohs
as be16_to_cpu.
|
|
|
|
| |
* parse.cxx (operator << (ostream&,const source_loc&)): Add loc.file->name.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allocated section needs to be writable when creating pic shared objects
because we store relocatable addresses in them.
* includes/sys/sdt.h (ALLOCSEC): New macro, depends on __PIC__.
(STAP_PROBE_DATA_): Use new ALLOCSEC macro.
|
| |
| |
| |
| |
| | |
The location already has a pointer to a stapfile with the filename, so
there's no need to keep an extra copy.
|
| |
| |
| |
| |
| | |
This speeds up the parsing stage >2x, mostly by minimizing string
construction and comparison where char comparison will do.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* buildrun.cxx (compile_pass): Checks for ring_buffer api change.
* runtime/autoconf-ring_buffer-flags.c: New file.
* runtime/transport/ring_buffer.c (tracing_wait_pipe): No longer
schedules, just returns. The timer function will handle it later.
(_stp_data_write_reserve): Handles ring_buffer api change. Added
overwrite processing. If we're full, delete an event to make room.
(_stp_data_write_commit): Handles ring_buffer api change.
(__stp_relay_wakeup_timer): New function.
(__stp_relay_timer_start): Ditto.
(__stp_relay_timer_stop): Ditto.
(_stp_transport_data_fs_start): Calls __stp_relay_timer_start().
(_stp_transport_data_fs_stop): Calls __stp_relay_timer_stop().
(_stp_transport_data_fs_overwrite): Sets overwrite flag.
|
|/
|
|
| |
Allow shutdown_server to test $server_pid in order to determine whether we started a server.
|
|
|
|
| |
* dwflpp.cxx (dwfl_report_offline_predicate): Reject NULL filenames.
|