summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 2005-08-24 Frank Ch. Eigler <fche@elastic.org>fche2005-08-245-543/+473
| | | | | | | | | | | | | | | | | | | * 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.
* 2005-08-24 Martin Hunt <hunt@redhat.com>hunt2005-08-242-2/+6
| | | | * io.c (_stp_vlog): Send warnings and errors to STP_OOB_DATA.
* 2005-08-24 Martin Hunt <hunt@redhat.com>hunt2005-08-242-0/+5
| | | | * transport_msgs.h (enum): New type, STP_OOB_DATA.
* 2005-08-24 Martin Hunt <hunt@redhat.com>hunt2005-08-244-3/+20
| | | | | | | | | | | * 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.
* *** empty log message ***hunt2005-08-241-5/+19
|
* 2005-08-23 Martin Hunt <hunt@redhat.com>hunt2005-08-242-3/+5
| | | | * librelay.c (merge_output): Don't add an extra \n.
* 2005-08-23 Martin Hunt <hunt@redhat.com>hunt2005-08-243-6/+28
| | | | | | | | | * 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.
* 2005-08-23 Martin Hunt <hunt@redhat.com>hunt2005-08-242-0/+5
| | | | * runtime.h: Add a prototype for _stp_dbug().
* 2005-08-23 Martin Hunt <hunt@redhat.com>hunt2005-08-242-38/+29
| | | | | | | * librelay.c (read_last_buffers): New function. Directly grab the last buffers. (info_pending): Deleted. (request_last_buffers): Deleted.
* 2005-08-23 Graydon Hoare <graydon@redhat.com>graydon2005-08-232-298/+470
| | | | * tapsets.cxx: Re-implement dwarf probe-pattern resolution.
* typo fixfche2005-08-231-1/+1
|
* New benchmark: trans_bench.hunt2005-08-2210-56/+384
|
* 2005-08-22 Frank Ch. Eigler <fche@elastic.org>fche2005-08-223-0/+27
| | | | | | | 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.
* 2005-08-22 Martin Hunt <hunt@redhat.com>hunt2005-08-222-0/+6
| | | | * runtime.h (kbug): New dbug macros that calls printk.
* 2005-08-22 Martin Hunt <hunt@redhat.com>hunt2005-08-223-10/+24
| | | | | | * transport.h: Don't define _stp_transport_write. * transport.c (_stp_transport_write): Use _stp_transport_send() when in probe_exit().
* 2005-08-22 Martin Hunt <hunt@redhat.com>hunt2005-08-224-7/+21
| | | | | | * Makefile (debug): Add debug target. * librelay.h (dbug): Define. * librelay.c: Enable some dbug lines.
* nonefche2005-08-221-1/+0
|
* 2005-08-21 Frank Ch. Eigler <fche@redhat.com>fche2005-08-219-66/+111
| | | | | | | | | | | | | | | | | 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.
* nonefche2005-08-191-0/+38
|
* 2005-08-19 Frank Ch. Eigler <fche@elastic.org>fche2005-08-192-2/+6
| | | | | PR systemtap/1213 * translate.cxx (visit_if_statement): Translate else arms.
* 2005-08-19 Frank Ch. Eigler <fche@elastic.org>fche2005-08-1910-50/+257
| | | | | | | | | | | | | | | | | 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.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-193-46/+18
| | | | | | | | | | * 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.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-192-1/+6
| | | | * librelay.c (reader_thread): Check the return value for write().
* 2005-08-19 Frank Ch. Eigler <fche@elastic.org>fche2005-08-193-3/+19
| | | | | | * 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.
* 2005-08-19 Frank Ch. Eigler <fche@elastic.org>fche2005-08-192-19/+4
| | | | * elaborate.cxx (find_var): Remove $pid/$tid builtin logic.
* Fix typo.hunt2005-08-191-3/+3
|
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-192-15/+5
| | | | * stp_check.in: Remove stp-control.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-192-0/+5
| | | | * runtime.h: Include io.c.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-199-61/+16
| | | | | * shellsnoop/shellsnoop.c: Remove STP_NETLINK_ONLY. * stp: Deleted. Use stpd directly.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-193-213/+131
| | | | | * stpd.c (main): Simplify buffer size code. * librelay.c: Major changes to support procfs instead of netlink.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-1910-516/+436
| | | | | | | | | | | * 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.
* 2005-08-19 Martin Hunt <hunt@redhat.com>hunt2005-08-197-43/+31
| | | | | | | | | | * 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.
* .roland2005-08-181-0/+7
|
* 2005-08-18 Roland McGrath <roland@redhat.com>roland2005-08-183-8/+24
| | | | | | | * 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.
* Check to see if relayfs available via /proc/filesystems.wcohen2005-08-182-1/+5
|
* cleanup, unusedfche2005-08-181-26/+0
|
* nonefche2005-08-181-0/+2
|
* .roland2005-08-181-0/+16
|
* 2005-08-18 Roland McGrath <roland@redhat.com>roland2005-08-184-9/+46
| | | | | | | | | | | | | | | | * 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.
* .roland2005-08-181-0/+13
|
* 2005-08-17 Roland McGrath <roland@redhat.com>roland2005-08-181-6/+14
| | | | | | | | | | | | | | | 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.
* 2005-08-17 Roland McGrath <roland@redhat.com>roland2005-08-183-65/+117
| | | | | | | | | | | | | 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.
* .roland2005-08-181-0/+16
|
* 2005-08-17 Roland McGrath <roland@redhat.com>roland2005-08-181-14/+11
| | | | | | | | | | | | | * loc2c.c (c_translate_fetch): Take TYPEDIE instead of TYPEATTR. (c_translate_store): Likewise. * loc2c.h: Update decls. * loc2c-test.c (handle_variable): Update callers. Look up type, resolve typedefs, and check that it's DW_TAG_base_type. * tapsets.cxx (dwflpp::literal_stmt_for_local): Likewise. * loc2c.c (base_byte_size): Add assert on expected DIE tag. (c_translate_array, c_translate_pointer): Likewise. * loc2c.h: Amend comments to explicitly state type DIE tags expected. * loc2c.c: #include "loc2c.h".
* 2005-08-17 Roland McGrath <roland@redhat.com>roland2005-08-181-6/+6
| | | | | | | | | | | | * loc2c.c (c_translate_fetch): Take TYPEDIE instead of TYPEATTR. (c_translate_store): Likewise. * loc2c.h: Update decls. * loc2c-test.c (handle_variable): Update callers. Look up type, resolve typedefs, and check that it's DW_TAG_base_type. * tapsets.cxx (dwflpp::literal_stmt_for_local): Likewise. * loc2c.c (base_byte_size): Add assert on expected DIE tag. (c_translate_array, c_translate_pointer): Likewise. * loc2c.h: Amend comments to explicitly state type DIE tags expected.
* 2005-08-17 Roland McGrath <roland@redhat.com>roland2005-08-182-140/+181
| | | | | | | | | * loc2c.c (c_translate_fetch): Take TYPEDIE instead of TYPEATTR. (c_translate_store): Likewise. * loc2c.h: Update decls. * loc2c-test.c (handle_variable): Update callers. Look up type, resolve typedefs, and check that it's DW_TAG_base_type. * tapsets.cxx (dwflpp::literal_stmt_for_local): Likewise.
* nonefche2005-08-182-1/+8
|
* * bump to version 0.3fche2005-08-163-11/+14
|
* 2005-08-16 Frank Ch. Eigler <fche@elastic.org>fche2005-08-162-55/+123
| | | | | | | | | | PR systemtap/1180 * tapsets.cxx (*): Add more verbose-predicatation to informative messages. Correct more hex/dec ostream mismatches. (query_function): Use entry/querypc, not prologue-end, for function().return and .statement() probe points. (dwarf_derived_probe ctor): Reorganize function/statement probe point regeneration.
* 2005-08-16 Frank Ch. Eigler <fche@elastic.org>fche2005-08-163-7/+12
| | | | * main.cxx: Don't print library parse trees if last_pass=1.