summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 2005-12-02 Martin Hunt <hunt@redhat.com>hunt2005-12-022-6/+13
| | | | | | | * procfs.c (_stp_set_buffers): kmalloc the buffers instead of vmalloc. (_stp_register_procfs): Ditto. (_stp_unregister_procfs): kfree the buffers.
* 2005-12-01 Frank Ch. Eigler <fche@elastic.org>fche2005-12-022-2/+28
| | | | | | PR 1944 improved hack. * translator.cxx (c_tmpcounter::visit_block): New routine, allows overlay of sequential statements' temporaries within context.
* 2005-12-01 Frank Ch. Eigler <fche@redhat.com>fche2005-12-013-5/+13
| | | | | | | | | | | | | PR 1944 quick hack. * translator.cxx (translate_pass): Reduce default MAXNESTING to 10. (emit_module_init): Add a paranoid check against oversize contexts. * stap.1.in: Document MAXNESTING change. 2005-12-01 Frank Ch. Eigler <fche@redhat.com> PR 1944 quick hack. * testsuite/systemtap.sample/control_limits.*: Adapt to new MAXNESTING default.
* 2005-11-30 Frank Ch. Eigler <fche@redhat.com>fche2005-11-304-6/+144
| | | | | | | | | PR 1276 From Josh Stone <joshua.i.stone@intel.com>: * tapsets.cxx (profile_derived_probe, profile_builder, register_standard_tapsets): Support timer.profile variety. * stapprobes.5.in: Document it. * testsuite/builok/fourteen.stp: Test its buildability.
* 2005-11-30 Martin Hunt <hunt@redhat.com>hunt2005-11-302-1/+6
| | | | | * io.c (_stp_exit): To prevent any possible interactions with the probed function, just set a flag here.
* 2005-11-30 Martin Hunt <hunt@redhat.com>hunt2005-11-304-16/+39
| | | | | | | | | * transport.h (STP_WORK_TIMER): Declare. * transport.c (_stp_work_queue): Wake up every STP_WORK_QUEUE jiffies and check IO and exit status. (_stp_handle_exit): Deleted. * procfs.c (_stp_proc_write_cmd): Just set exit flag on STP_EXIT. (_stp_write): Don't call wake_up_interruptible.
* 2005-11-29 Martin Hunt <hunt@redhat.com>hunt2005-11-302-5/+4
| | | | * recreate_links: Remove links to deleted files.
* [ChangeLog]graydon2005-11-299-123/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-28 Graydon Hoare <graydon@redhat.com> * translate.cxx (var::assert_hist_compatible): New method. (var::hist): New method. (c_unparser::load_aggregate): New method. (hist_op_downcaster): Remove, it was a mistake. (expression_is_hist_op): Likewise. (c_tmpcounter::visit_print_format): Implement print(@hist(...)). (c_unparser::visit_print_format): Likewise. * staptree.h (struct print_format): Add optional hist_op* member. * staptree.cxx (traversing_visitor::visit_functioncall): Visit hist_op if present in print_format. (deep_copy_visitor::visit_print_format): Likewise. * parse.cxx (parse_symbol): Special case to consume print(@hist(...)). * elaborate.cxx (typeresolution_info::visit_arrayindex): Fix type inference bug. (typeresolution_info::visit_foreach_loop): Likewise. * testsuite/buildok/print_histograms.stp: New test. [runtime/ChangeLog] 2005-11-28 Graydon Hoare <graydon@redhat.com> * stat-common.c (_stp_stat_print_histogram): Various formatting corrections and aesthetic tweaks. (__stp_stat_add): Correction to linear bucket underflow cases.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-288-26/+36
| | | | | | | | | | | * alloc.c (__stp_valloc_percpu): Use same code for up and smp. (_stp_per_cpu_ptr): New macro. * user/alloc.c: Ditto. * map.c: Use _stp_map_cpu_ptr(). * map-stat.c: Ditto. * pmap-gen.c: Ditto. * runtime.h: Include alloc.c * user/runtime.h: Ditto.
* 2005-11-28 Frank Ch. Eigler <fche@redhat.com>fche2005-11-282-1/+8
| | | | | * translate.cxx (c_tmpcounter_assignment::visit_symbol): Don't emit unused temporary into context. Saves mucho space with strings.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-282-1/+4
| | | | | * map.c (_stp_pmap_del): Use _stp_free_percpu() to free pmaps.
* 2005-11-28 Martin Hunt <hunt@redhat.com>hunt2005-11-286-1/+284
| | | | | * map-stat.c (_stp_pmap_new_hstat_log): Fix typo. Call _stp_pmap_new() instead of _stp_map_new().
* * commented pciconfig_* system calls that failed to resolve to probekevinrs2005-11-281-10/+16
| | | | | | | | | | | points. * commented reference to arg stack_start in clone, fork, vfork that were unable to resolve properly. * commented arg reference to pt_regs in execve, it is an unsupported type. * commented arg reference to union semun arg in semctl, it is an unsupported type. * This tapset tested for i386.
* .roland2005-11-281-0/+2
|
* 2005-11-27 Roland McGrath <roland@redhat.com>roland2005-11-281-0/+3
| | | | * loc2c.c (location_from_address): Diagnose null FB_ATTR specially.
* .roland2005-11-281-0/+4
|
* 2005-11-27 Roland McGrath <roland@redhat.com>roland2005-11-281-1/+1
| | | | * loc2c.c (location_from_address): Fix function name in error message.
* (location_from_address): w/s tweakroland2005-11-281-1/+1
|
* 2005-11-27 Frank Ch. Eigler <fche@elastic.org>fche2005-11-282-3/+7
| | | | * loc2c.c (location_from_address): Tolerate errors with NULL *input.
* .roland2005-11-271-0/+1
|
* .roland2005-11-271-0/+9
|
* 2005-11-26 Roland McGrath <roland@redhat.com>roland2005-11-271-17/+32
| | | | | | | | | | | * loc2c.c (struct location): Move frame_base member out of the union. (alloc_location): Initialize it. (new_synthetic_loc, translate, location_from_address): Update uses. (emit_loc_value): Don't handle frame_base here. (c_emit_location): Do it here instead. (translate): Track USED_DEREF separately for each piece. Use a temporary struct when allocating a new piece, letting a pending loc_address piece finish up first.
* .roland2005-11-271-0/+7
|
* 2005-11-26 Roland McGrath <roland@redhat.com>roland2005-11-271-0/+1
| | | | * loc2c.c (translate): Initialize LOC->address.used_deref at start.
* 2005-11-26 Roland McGrath <roland@redhat.com>roland2005-11-271-0/+4
| | | | | * loc2c-test.c (main): Free SCOPES at end. (handle_variable): Free POOL at end.
* typoroland2005-11-261-3/+3
|
* 2005-11-25 Frank Ch. Eigler <fche@elastic.org>fche2005-11-253-3/+15
| | | | | | | PR 1336. * tapsets.cxx (translate_final_fetch_or_store): Remove apparently unnecessary check. * testsuite/transok/ten.stp: New test for void* integerification.
* 2005-11-24 Frank Ch. Eigler <fche@redhat.com>fche2005-11-246-47/+103
| | | | | | | | | PR 1903 * parse.cxx (eval_pp_conditional): Support %( arch == "i686" %) form. * stap.1.in: Document it. * testsuite/parseok/fourteen.stp: Test it. * session.h (architecture): New field. * main.cxx (main): Initialize it.
* 2005-11-24 Frank Ch. Eigler <fche@redhat.com>fche2005-11-243-8/+30
| | | | | | | PR 1917 * translate.cxx (emit_common_header, emit_module_init, emit_module_exit): Switch context array to per-cpu kmalloc variant. * tapsets (*::emit_probe_entires): Use per_cpu_ptr() for my context.
* 2005-11-23 Graydon Hoare <graydon@redhat.com>graydon2005-11-2419-295/+679
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elaborate.h (get_symbol_within_expression): Make visible. * elaborate.cxx (get_symbol_within_expression): Make non-static. (stat_decl_collector): New struct. (semantic_pass_stats): New semantic pass. (semantic_pass): Call it. (semantic_pass_symbols): Remove collection of statistic_decls from files. (visit_stat_op): Only fail if inferred type is not pe_long. * parse.cxx (parser::parse): Don't pass per-file statistic_decl into parse_global. (parser::parse_global): Don't parse global statistic_decls, they're obsolete. * parse.hh (parser::parse_global): Adjust signature to match. * session.h (statistic_decl::operator==): New method. * staptree.h (print_format::is_empty): New method. (stapfile::stat_decls): Remove field. * staptree.cxx (string_to_components): Fix bugs in format-string parser. * translate.cxx (var): Make private fields protected. (var::init): Support HIST_NONE stats. (aggvar): New struct. (mapvar::is_parallel): New method. (mapvar::call_prefix): Use it. (mapvar::calculate_aggregate): New method. (mapvar::fetch_existing_aggregate): New method. (mapvar::get): Support pe_stats. (mapvar::init): Use is_parallel(), and support HIST_NONE. (itervar::itervar): Only fault on pe_unknown. (itervar::start): Use mapvar::is_parallel and mapvar::fetch_existing_aggregate. (emit_map_type_instantiations): Include alloc.c before pmap-gen.c. Include pmap-gen.c for pe_stats maps. (c_unparser::gensym_aggregate): New method. (c_unparser::visit_foreach_loop): Handle mapvar::is_parallel case. (arrayindex_downcaster): New struct. (expression_is_arrayindex): New function. (c_tmpcounter::visit_stat_op): New method. (c_unparser::visit_stat_op): Implement. (c_unparser::visit_hist_op): Add commentary, still not implemented. * testsuite/buildok/stat_{insert,extract}.stp: New tests. * testsuite/semok/ten.stp: Correct for changes to global declarations. * testsuite/semko/*.stp: Likewise.
* * from presentation given at Beaverton group meetingfche2005-11-231-0/+127
|
* .roland2005-11-221-11/+21
|
* 2005-11-21 Roland McGrath <roland@redhat.com>roland2005-11-224-41/+80
| | | | | | | | | | * loc2c.c (c_translate_location): Take Dwarf_Op vector as argument directly, not Dwarf_Attribute.p * loc2c.h: Update decl. * loc2c-test.c (get_location): New function. (handle_variable): Use it. * tapsets.cxx (dwflpp::translate_location): New method. (dwflpp::translate_components, dwflpp::literal_stmt_for_local): Use it.
* 2005-11-21 Frank Ch. Eigler <fche@elastic.org>fche2005-11-214-9/+48
| | | | | | | | | PR 1276 From Josh Stone <joshua.i.stone@intel.com>: * tapsets.cxx (timer_derived_probe, timer_builder, register_standard_tapsets): Support timer.ms() variety. * stapprobes.5.in: Document it. * testsuite/builok/fourteen.stp: Test its buildability.
* 2005-11-18 Martin Hunt <hunt@redhat.com>hunt2005-11-1814-27/+47
| | | | | | | | | | | | | | | | | | | | | | | PR 1837 * testsuite/buildko/one.stp: Replace printk. * testsuite/buildok/one.stp: Ditto. * testsuite/buildok/two.stp: Ditto. * testsuite/semko/fifteen.stp: Ditto. * testsuite/semko/fourteen.stp: Ditto. * testsuite/semko/thirteen.stp: Ditto. * testsuite/transok/eight.stp: Ditto. * testsuite/transok/seven.stp: Ditto. * testsuite/transok/six.stp: Ditto. * tapsets.cxx (*::emit_probe_entries): Replace printk() calls with _stp_warn(). * stap.1.in: Replace printk with printf in example. * stapfuncs.5.in: Remove docs for printk and add for print and printf. * tapset/logging.stp (printk): Deleted.
* 2005-11-13 Graydon Hoare <graydon@redhat.com>graydon2005-11-149-413/+2011
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * staptree.h (struct indexable): New struct. (classify_indexable): New function. (classify_const_indexable): New function. (struct symbol): Implement indexable. (struct arrayindex): Take indexable as base. (struct foreach_loop): Take indexable as base. (struct print_format): New struct. (enum stat_component_type): New enum. (struct stat_op): New struct. (enum historgram_type): New enum. (struct hist_op): New struct. (struct visitor) (struct traversing_visitor) (struct throwing_visitor) (struct deep_copy_visitor): Add new visitor methods. (require): Specialize for indexable*. * staptree.cxx (print_format::*) (stat_op::*) (hist_op::*) (indexable::*) (traversing_visitor::*) (throwing_visitor::*) (deep_copy_visitor::*) (classify_indexable) (classify_const_indexable): Implement (deep_copy_visitor::*): Update to use indexables. * parse.h (parser::parse_indexable): New method. (parser::parse_hist_op_or_bare_name): New method. * parse.cxx (lexer::scan): Accept @ in identifiers. (parser::parse_array_in) (parser::parse_foreach_loop): Call parse_indexable. (parser::parse_hist_op_or_bare_name): Implement. (parser::parse_indexable): Implement. (parser::parse_symbol): Accept printf, stat_ops, hist_ops. * elaborate.h (struct typeresolution_info): Add methods for visiting print_format, stat_op, hist_op. * elaborate.cxx (symbol_fetcher): New class. (get_symbol_within_expression): New function. (get_symbol_within_indexable): New function. (mutated_var_collector): Replace mutated_map_collector. (no_var_mutation_during_iteration_check): Replace no_map_mutation_during_iteration_check. (semantic_pass_vars): Replace semantic_pass_maps. (semantic_pass): Update call accordingly. (symresolution_info::*) Add new visitors, teach about indexables (typeresolution_info::*) Likewise. * translate.cxx (c_unparser::getiter): Take symbol, not foreach_loop. (c_unparser::*) Add new visitors, teach about indexables. (c_tmpcounter::*) (delete_statement_operand_visitor::visit_arrayindex) (c_tmpcounter_assignment::*) (c_unparser_assignment::*): Likewise. (hist_op_downcaster): New struct. (expression_is_hist_op): New function. * testsuite/buildok/printf.stp: New test for print_format.
* 2005-11-11 Martin Hunt <hunt@redhat.com>hunt2005-11-112-72/+4
| | | | * map.h: Removed old API macros and prototypes.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-114-24/+44
| | | | | | | | | * pmap-gen.c (_stp_pmap_get()): New function. Aggregates the per-cpu map nodes into an aggregation map node. * map.c (_stp_new_agg): Return a struct map_node *. (_stp_add_agg): If count is 0 when adding, just set the stats.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-114-1/+313
| | | | | | * pmaps/ix2.c: New test. Test _stp_pmap_get_*(). * pmaps/iii3.c: New test. Test _stp_pmap_get_*(). * pmaps/pmap.test: Update.
* * system_calls.stpkevinrs2005-11-102-6196/+4819
| | | | | | | | | | Polished entry point aliases, no more pointer-deref faults (instead the user-space address is given for pointer arguments). Return probe aliases still dont do much. Tested on vanilla 2.6.13 and 2.6.14. * aux_syscalls.stp Any helpers for the syscall tapset are now in this file. More to come.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-104-58/+71
| | | | | | * map.c: Doc updates. * pmap-gen.c: Change a bunch of generated function names to avoid conflicts with maps with the same key and value types.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-104-1/+71
| | | | | * pmaps/ii2.c: New test of maps and pmaps with the same keysym. * pmaps/pmap.test: Update.
* 2005-11-10 Frank Ch. Eigler <fche@elastic.org>fche2005-11-102-4/+7
| | | | | * translate.cxx (c_unparser::visit_array_in, visit_arrayindex): Finish adapting to PR 1275 by switching back to read locks.
* 2005-11-10 Martin Hunt <hunt@redhat.com>hunt2005-11-102-2/+6
| | | | * map.c (_stp_cmp): Use _stp_div64().
* *** empty log message ***hunt2005-11-091-14/+9
|
* 2005-11-09 Martin Hunt <hunt@redhat.com>hunt2005-11-092-2/+7
| | | | | * translate.cxx: New API uses HIST_LOG and HIST_LINEAR instead of HSTAT_LOG and HSTAT_LINEAR.
* 2005-11-09 Martin Hunt <hunt@redhat.com>hunt2005-11-094-9/+10
| | | | | | * map.h: Remove HSTAT_LOG and HSTAT_LINEAR. * map-gen.c: Fix comment. * pmap-gen.c: Ditto.
* 2005-11-09 Martin Hunt <hunt@redhat.com>hunt2005-11-092-4/+48
| | | | | | * map.c (_stp_cmp): Patch to sort on stats. (_stp_map_sort): Ditto. (_stp_map_sortn): Ditto.
* 2005-11-09 Martin Hunt <hunt@redhat.com>hunt2005-11-095-23/+541
| | | | | | * maps/sort2.c: New file. * maps/sort_stat.c: New file. * maps/map.test: Update
* 2005-11-09 Frank Ch. Eigler <fche@elastic.org>fche2005-11-093-2/+16
| | | | | | Reported by Guang Lei Li <liguangl@cn.ibm.com>: * tapset/context.stp (pid,ppid,tid): Correctly pick tgid vs pid. * testsuite/buildok/context_test.stp: Print out tid() too.