| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* loc2c-runtime.h (deref_string): New macro.
|
|
|
|
|
|
| |
* configure.ac: Require elfutils 0.114.
* tapsets.cxx: Brought back graydon's changes.
* configure: Regenerated.
|
| |
|
|
|
|
| |
* systemtap.spec.in: Update elfutils requirement.
|
|
|
|
|
| |
* translate.cxx (emit_global, emit_module_init): Use 2.6.9-compatible
rwlock initialization.
|
|
|
|
|
| |
* librelay.c (sigproc): Removed the "Exiting..."
message for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (*::emit_probe_entries): Treat NULL and "" last_errors
both as clean early returns, not errors.
* translate.cxx: Revamp last_error handling logic. Remove all
"goto out" paths from expression context.
(visit_statement): Handle last_error exit one nesting level at a time.
(visit_return_statement, visit_functioncall): Set/reset last_error="".
(c_tmpcounter::visit_for_loop): New routine.
(c_unparser::visit_foreach, visit_for_loop): Rewrite to properly
support continue/breaks, non-local exits, (foreach) locks.
(emit_global): Emit lock variable.
(varlock ctor, dtor): Lock/unlock global variable.
(varlock_w, varlock_r): New concrete subclasses. Update all users.
* tapset/builtin_logging.stp (exit): Don't set last_error.
* src/testsuite/buildok/sixteen.stp: New test.
* tapsets.cxx: Temporarily rolled back graydon's changes.
|
|
|
|
| |
* io.c (_stp_vlog): Send warnings and errors to STP_OOB_DATA.
|
|
|
|
| |
* transport_msgs.h (enum): New type, STP_OOB_DATA.
|
|
|
|
|
|
|
|
|
|
|
| |
* librelay.c (sigproc): Reestablish signal handler so
impatient people don't hit ^C twice and terminate the
program before it saves the data and removes the module.
Also print a message to stderr that it is exiting.
(stp_main_loop): Write OOB data (warnings, errors, etc)
to stderr instead of stdout.
* librelay.h: Write debug info to stderr.
* Makefile: add librelay.h to dependencies.
|
| |
|
|
|
|
| |
* librelay.c (merge_output): Don't add an extra \n.
|
|
|
|
|
|
|
|
|
| |
* transport.c (_stp_cleanup_and_exit): Remove a 2 second sleep
that should no longer be necessary.
* procfs.c (_stp_write): If the ready queue is not empty
then attempt to grab the last buffer in it and append our data
to it.
|
|
|
|
| |
* runtime.h: Add a prototype for _stp_dbug().
|
|
|
|
|
|
|
| |
* librelay.c (read_last_buffers): New function. Directly grab the
last buffers.
(info_pending): Deleted.
(request_last_buffers): Deleted.
|
|
|
|
| |
* tapsets.cxx: Re-implement dwarf probe-pattern resolution.
|
| |
|
| |
|
|
|
|
|
|
|
| |
PR systemtap/1134
* elaborate.h (module_fds): New member in systemtap_session.
* tapsets.cxx (dwarf_derived_probe ctor): Open /sys/module/$MOD/.text
for the duration of a systemtap session, to lock module in memory.
|
|
|
|
| |
* runtime.h (kbug): New dbug macros that calls printk.
|
|
|
|
|
|
| |
* transport.h: Don't define _stp_transport_write.
* transport.c (_stp_transport_write): Use
_stp_transport_send() when in probe_exit().
|
|
|
|
|
|
| |
* Makefile (debug): Add debug target.
* librelay.h (dbug): Define.
* librelay.c: Enable some dbug lines.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR systemtap/1195, systemtap/1193
* elaborate.cxx (alias_expansion_builder): Set new block token.
* parse.cxx (parse_symbol): Set new target_symbol token.
* runtest.sh: Store more pertinent failure data.
* tapsets.cxx (emit_probe_entries): Rewrite error-handling path.
* translate.cxx (emit_common_header): Goodbye errorcount, hello
last_error & last_stmt.
(c_unparser::visit_statement): New "header" for all other stmts.
(c_assignop, visit_binary_expression): Adapt to last_error.
* tapset/builtin_logging.stp: Adapt to last_error.
2005-08-21 Frank Ch. Eigler <fche@redhat.com>
* arith.c (*): Adapt to last_error context variable.
|
| |
|
|
|
|
|
| |
PR systemtap/1213
* translate.cxx (visit_if_statement): Translate else arms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR systemtap/1209
* tapsets.cxx
* elaborate.cxx (derived_probe_builder): Add get_param function.
* elaborate.h: Declare them.
* tapsets.cxx (dwarf_query::get_*_param): Call them.
(timer_derived_probe, timer_builder): New classes.
(register_standard_tapsets): Register timer.jiffies(N) and friend.
* translate.cxx (translate_pass): #include <linux/timers.h>.
* stap.1.in: Document timer.jiffies(N) probe points.
* testsuite/buildok/fourteen.stp: New test.
2005-08-19 Frank Ch. Eigler <fche@elastic.org>
* arith.c (_stp_random_pm): New function.
|
|
|
|
|
|
|
|
|
|
| |
* transport.c (_stp_cmd_handler): Remove. This was used by
stp-control.
* procfs.c (_stp_proc_write_cmd): Call schedule_work() instead
of running _stp_exit_handler immediately. Fixes a problem where
the module couldn't exit if all the output buffers were full.
Set .owner for the filesystem entries.
|
|
|
|
| |
* librelay.c (reader_thread): Check the return value for write().
|
|
|
|
|
|
| |
* librelay.c (modpath): New global. Use it for insmod only.
* stpd.c (main): Set both modpath and modname, to support
modules specified by full path name.
|
|
|
|
| |
* elaborate.cxx (find_var): Remove $pid/$tid builtin logic.
|
| |
|
|
|
|
| |
* stp_check.in: Remove stp-control.
|
|
|
|
| |
* runtime.h: Include io.c.
|
|
|
|
|
| |
* shellsnoop/shellsnoop.c: Remove STP_NETLINK_ONLY.
* stp: Deleted. Use stpd directly.
|
|
|
|
|
| |
* stpd.c (main): Simplify buffer size code.
* librelay.c: Major changes to support procfs instead of netlink.
|
|
|
|
|
|
|
|
|
|
|
| |
* transport.h: Remove netlink references.
* transport.c: Remove netlink references. Ifdef relayfs code.
* procfs.c: New file.
* Makefile: Deleted.
* control.c: Deleted.
* control.h: Deleted.
* netlink.c: Deleted.
* netlink.h: Deleted.
|
|
|
|
|
|
|
|
|
|
| |
* print.c: Change ifdefs to STP_RELAYFS.
* runtime.h: Ditto.
* io.c (_stp_vlog): Call _stp_write instead of
_stp_ctrl_send.
* Makefile: Don't build stp-control.
* README.doc: Update.
* TODO: Update.
|
| |
|
|
|
|
|
|
|
| |
* loc2c.c (c_translate_addressof): Take TYPEDIE instead of TYPEATTR.
* loc2c.h: Update decl.
* loc2c-test.c (handle_variable): Handle DW_TAG_pointer_type target
for fetch.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* loc2c.c (struct location): New member `emit_address'.
(alloc_location): Initialize new member from ORIGIN.
(location_from_address): New argument EMIT_ADDRESS.
Initialize new member.
(translate): Use LOC->emit_address hook to format DW_OP_addr constant.
(location_relative): Die if DW_OP_addr is used.
(default_emit_address): New function.
(c_translate_location): New argument EMIT_ADDRESS, pass it down.
Use default_emit_address if argument is null.
* loc2c.h: Update decl.
* loc2c-test.c (handle_variable): Update caller.
* tapsets.cxx (dwflpp::literal_stmt_for_local): Update caller.
(dwflpp::loc2c_emit_address): New static method.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR systemtap/1197
* loc2c.c (struct location): New members `fail', `fail_arg'.
(alloc_location): New function. Initialize those members.
(new_synthetic_loc, translate): Use that instead of obstack_alloc.
(location_from_address, location_relative): Likewise.
(FAIL): New macro. Use it everywhere in place of `error'.
(c_translate_location): Take new args FAIL, FAIL_ARG.
* loc2c.h: Update declaration.
* loc2c-test.c (fail): New function.
(handle_variable): Pass it to c_translate_location.
* tapsets.cxx (dwflpp::loc2c_error): New static method.
(dwflpp::literal_stmt_for_local): Pass it to to c_translate_location.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR systemtap/1197
* loc2c.c (struct location): New members `fail', `fail_arg'.
(alloc_location): New function. Initialize those members.
(new_synthetic_loc, translate): Use that instead of obstack_alloc.
(location_from_address, location_relative): Likewise.
(FAIL): New macro. Use it everywhere in place of `error'.
* loc2c-test.c (fail): New function.
(handle_variable): Pass it to c_translate_location.
* tapsets.cxx (dwflpp::loc2c_error): New static method.
(dwflpp::literal_stmt_for_local): Pass it to to c_translate_location.
|
| |
|