| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Improve error messages for underprivileged scripts.
* parse.h (parse_error): Add skip_some member, true default.
* parse.cxx (parse_embedded_code): Send false on missing -g.
* parse.cxx (parser::parse): Respect flag during parse error
recovery.
|
|
|
|
|
|
| |
PR 3261.
* tapsets.cxx (query_module): Reject elfutils module "kernel"
unless kernel.* probe point used.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (query_dwarf_func): Skip non-inlined functions
for .function().inline case.
2007-04-02 Frank Ch. Eigler <fche@elastic.org>
* socket-trace.stp, small_demos/prof.stp, top.stp: Adapt to
.inline -> .function change.
* semko/twentyone.stp: Ditto.
|
|
|
|
|
|
| |
* systemtap.samples/poll_map.stp, profile.stp, syscalls.stp:
Continue adopting to .inline -> .function change.
* systemtap.samples/topsys.stp, systemtap.stress/current.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* relay_old.c (close_oldrelayfs): If just detaching, call
pthread_cancel.
(open_relayfs_files): Just return 0 if relay_fd[cpu] not opened.
(init_oldrelayfs): Scan percpu files to calculate ncpus.
* mainloop.c (init_staprun): Call old transport init when necessary.
(cleanup_and_exit): Ignore signals when cleaning up.
* ctl.c (read_buffer_info): For old transport, need to read transport
parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* transport_msgs.h (struct _stp_msg_trans): Deleted.
Transport parameters are now read from procfs.
* transport.c (_stp_ask_for_symbols): STP_TRANSPORT
message is empty.
* procfs.c (_stp_ctl_open_cmd): New. Set _stp_ pid.
(_stp_ctl_close_cmd): New. Unset _stp_pid.
(_stp_proc_fops_cmd): Add pointers to above funcs.
(_stp_ctl_read_bufsize): New.
(_stp_register_ctl_channel): Create a proc read entry
"bufsize" containing transport buffer sizes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1570
* NEWS: Document probe handler language change re. inline functions.
* stapprobes.5.in: Likewise.
* tapsets.cxx: Many changes to simplify caches and implement new
handling of inline functions, removed of stubs for future probes.
* elaborate.cxx (derived_probe printsig_nested): New function.
* elaborate.h: Declare it.
* main.cxx (usage): Clarify "-r" meaning.
(main): Tweak related "-p 4" message.
2007-03-30 Frank Ch. Eigler <fche@elastic.org>
PR 1570.
* memory.stp, scheduler.stp, signal.stp, LKET/signal.stp: Adapt
to .inline -> .function change.
2007-03-30 Frank Ch. Eigler <fche@elastic.org>
PR 1570
* */*.stp: Adapt to .inline -> .function change.
* lib/stap_run.exp, stap_run2.exp, stap_run_binary.exp: Shorten
pass/fail dejagnu log lines.
* systemtap.syscall/sys.stp, test.tcl: Make slightly more
compatible and failure more verbose.
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2341
* translate.cxx (c_unparser::emit_locks): No longer emits a read
lock for global variables that are only written to in begin/end
probes.
(c_unparser::emit_unlocks): Ditto.
(translate_pass): Runs a varuse_collecting_visitor over probes
that need global variable locks for use in
emit_locks()/emit_unlocks().
|
|
|
|
| |
* stap.1.in: Corrected probe overload processing text.
|
|
|
|
|
| |
PR 3545
* stap.1.in: Documented probe overload processing.
|
|
|
|
|
| |
* tapsets.cxx (dwarf_derived_probe emit_module_init): Correct handling
of kprobe registration errors in the middle of a sequence.
|
|
|
|
| |
* systemtap.maps/ix_*.exp: Add catch around close.
|
|
|
|
|
| |
* systemtap.maps/pmap_agg_overflow.exp: Robustify with respect
to expected error messages and early quitting.
|
| |
|
|
|
|
|
|
| |
PR 4281
* parseko/cmdline07.stp: New test.
* parseko/cmdline08.stp: New test.
|
|
|
|
|
|
|
| |
PR 4281
* main.cxx (main): Validates '-m NAME' option. Chops off '.ko' if
present. Makes sure name isn't empty. Makes sure name is only
composed of characters [_a-zA-Z0-9].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2341 (partial fix)
* elaborate.h (struct derived_probe): Added needs_global_locks()
member function. Unless overridden, will return true indicating
that this probe needs locks around global variable references.
* tapsets.cxx (struct be_derived_probe): Added override of default
needs_global_locks() returning false. begin/end probes don't
need locks around global variables, since they aren't run
concurrently with any other probes.
* translate.cxx (c_unparser::emit_common_header): Updated
probe_contents logic to match the logic in emit_probe.
(c_unparser::emit_probe): Added whether the probe needs global
variable locks to the probe string (that helps eliminate duplicate
probes). The generated C changes based on whether or not global
variable locks are needed, but the pass 2 output doesn't differ
between a probe that needs global variable locks and one that
doesn't. If the probe doesn't need global variable locks, doesn't
output them.
|
|
|
|
|
|
| |
* control.c (_stp_ctl_open_cmd): Set _stp_pid.
(stp_ctl_close_cmd): Clear _stp_pid.
* transport.h: Declare _stp_pid;
|
|
|
|
| |
* transport.c: Add #include <linux/namei.h> for lookup_one_len.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (dwflpp::translate_final_fetch_or_store): Improved
error messages for invalid types.
* elaborate.cxx (typeresolution_info::invalid): Improved the error
message for invalid operators.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* mainloop.c (run_stp_check): Just use system() call.
(init_staprun): Remove _stp_pid module parameter.
(cleanup_and_exit): If closed==2, just exit without removing module.
(driver_poll): Remove. We no longer require stap running.
(_stp_main_loop): Remove call to driver_poll.
* ctl.c (init_ctl_channel): Don't put files in systemtap_pid,
revert back to systemtap/modulename.
* relay.c: Revert back to systemtap/modulename paths.
* relay_old.c: Ditto.
* staprun.c: Add -L and -A args.
|
|
|
|
|
|
|
|
| |
* symbols.c (_stp_do_module): If a module has no symbols, just
return NULL instead of an errorcode.
* control.c, procfs.c, relayfs.c, transport.c, utt.c, utt.h:
Revert back to using systemtap/modulename instead of systemtap_pid.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4224.
* staptree.h (probe): Add privileged field.
* elaborate.cxx, parse.cxx: Pass privileged flag to probes.
* tapsets.cxx (dwarf_query): Add has_absolute field.
(dwarf_derived_probe ctor): Tolerate it.
(register_patterns): Expose it.
(dwarf_builder::build): Implement it with no dwfl whatsoever.
* NEWS: Document kernel.statement().absolute.
* stapprobes.5.in: Ditto.
2007-03-22 Frank Ch. Eigler <fche@elastic.org>
PR 4224.
* systemtap.base/probefunc.exp: Use kernel.statement().absolute
instead with grep-found schedule_tick address.
* semko/thirtyseven.stp, thirtyeight.stp: New tests.
* buildok/twentyeight.stp: New test.
2007-03-22 Frank Ch. Eigler <fche@elastic.org>
* sym.c (_stp_module_relocate): Tolerate empty section string.
|
| |
|
|
|
|
|
| |
* systemtap.stress/conversions.exp: Fixed test case bug that only
affected s390x.
|
|
|
|
| |
* Makefile.in: Correct SAMPLE_SRC.
|
|
|
|
|
|
| |
PR 4146
* systemtap.samples/control_limits.exp: Begin/end probes use
MAXACTION_INTERRUPTIBLE instead of MAXACTION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4146
* tapsets.cxx (common_probe_entryfn_prologue): Added
'interruptible' parameter. If a probe is interruptible,
interrupts are not disabled while the probe executes. Preemption
is disabled however. Interruptible parameter defaults to false.
(common_probe_entryfn_epilogue): Ditto.
(be_derived_probe_group::emit_module_decl): Uses new
'interruptible' parameter to mark begin/end probes as
interruptible.
(probe_derived_probe_group::emit_module): Initialize
'actionremaining' with MAXACTION instead of initializing
'actioncount' with 0.
* translate.cxx (emit_common_header): Renamed 'actioncount' to
'actionremaining'. Turned logic around to initialize
actionremaining to MAXACTION or MAXACTION_INTERRUPTIBLE then
decrement it as actions occur.
(translate_pass): Added MAXACTION_INTERRUPTIBLE initialization.
* translate.h: Removed outdated comment portion.
* stap.1.in: Documented MAXACTION_INTERRUPTIBLE.
* NEWS: Added note about begin/end probes being run with
interrupts enabled.
|
|
|
|
|
|
|
|
|
|
|
| |
* sym.h: Declare _stp_module_relocate.
* sym.c (_stp_module_relocate): Add comments, reformat, add
a way for "last" cached values to be cleared when modules
are removed.
(_stp_symbol_print): Simplify and remove static buffer.
(_stp_symbol_snprint): Ditto.
* symbols.c (_stp_del_module): Add a call to _stp_module_relocate
to clear its cache.
|
|
|
|
| |
* map.c (_stp_map_init): Fix signed vs unsigned comparison warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4224.
* tapsets.cxx (add_probe_point): Make kernel implicitly relocated
relative to the _stext symbol.
(dwarf_derived_probe ctor, emit_module_decls): Cooperate.
(lookup_symbol_address): New function.
(dwarf_builder::build): Call it thrice.
(in_kprobes_function): Simplify.
* session.h (systemtap_session): Rename cached symbol addresses.
* translate.cxx, elaborate.cxx: Corresponding tweaks.
2007-03-20 Frank Ch. Eigler <fche@elastic.org>
PR 4224.
* sym.c (_stp_module_relocate): Support kernel relocations.
2007-03-20 Frank Ch. Eigler <fche@elastic.org>
* symbols.c (_stp_do_symbols): Add cautionary blurb for important
setup of _stp_modules[0]->text.
|
|
|
|
|
|
| |
* symbols.c (send_module): If send returns < 0 then
cleanup and exit.
(do_kernel_symbols): Ditto.
|
|
|
|
|
| |
* symbols.c (_stp_alloc_module): Fix up error
cleanup when malloc fails.
|
|
|
|
| |
* buildok/twenty.stp, semok/seventeen.stp: Adapt to kernel 2.6.20.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-03-09 Pierre Peiffer <pierre.peiffer@bull.net>
* nfsd.stp (nfsd.dispatch): Change initialization of variable
client_ip with a call to addr_from_rqst.
* rpc.stp (addr_from_rqst): - update with changes in struct svc_rqst
- __rpc_execute returns void now. struct rpc_xprt modified since
kernel 2.6.19.
* nfs.stp, vfs.stp: Local variables f_dentry renamed, because
conflicting with a new #define in kernel header linux/fs.h in 2.6.20.
2007-03-09 Pierre Peiffer <pierre.peiffer@bull.net>
* nfs.stp: Local variables f_dentry renamed, because conflicting
with a new #define in kernel header linux/fs.h in 2.6.20.
* rpc.stp (_addevent.sunrpc.sched.execute.return):
update with __rpc_execute which returns void since kernel 2.6.21.
|
|
|
|
|
|
|
|
|
|
| |
PR 4146 (partial fix)
* tapsets.cxx (all_session_groups): Added note about stating that
begin probes should be registered (actually run) first and end
probes should be unregistered (run) last.
* translate.cxx (c_unparser::emit_module_exit): Process probe
group vector in reverse order so that probe groups will get
unregistered in the reverse order that they were registered.
|
|
|
|
| |
* .cvsignore: Added systemtap.syscall test programs.
|
|
|
|
|
|
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Emit kbuild-time autoconf widgets
to customize runtime or translator C code to actual kernel rather
than kernel version string. Thanks to FC 2.6."20" for the nudge.
* tapsets.cxx (hrtimer*emit_module): First client: HRTIMER_{MODE_}REL.
2007-03-19 Frank Ch. Eigler <fche@elastic.org>
* autoconf-hrtimer-rel.c: New file.
|
|
|
|
|
| |
* staprun.h (err): Define.
* symbols.c (get_sections): More overflow checking.
|
|
|
|
|
| |
* symbols.c (get_sections): Filter out .gnu.linkonce.* sections
except for .gnu.linkonce.this_module.
|
|
|
|
|
| |
* stack.c, string.c, sym.c, transport/symbols.c:
Fix some signed vs unsigned comparison warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* staprun.h (VERSION_CMD): Command to use for version check.
Changes to support runtime decision on new or old transport.
* mainloop.c (init_staprun): Check the kernel version at runtime
instead of at compile time.
(cleanup_and_exit): Call the correct relayfs close function.
(stp_main_loop): Call the correct relayfs init function.
* relay.c: Remove ifdef wrapper. File is always compiled and used
if the kernel version is appropriate.
* relay_old.c: Ditto.
|
|
|
|
|
| |
* configure.ac: Tweak missing elfutils error message.
* configure: Regenerated.
|
|
|
|
| |
* systemtap.base/overload.exp: New test.
|
| |
|