| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Bump version to 0.5.1 for test builds.
* systemtap.spec.in: Remove ExclusiveArch.
* configure: Regenerated.
PR 1916
* configure.ac: Grok --with-elfutils.
* Makefile.am [BUILD_ELFUTILS] (install-elfutils, stamp-elfutils):
New targets.
[BUILD_ELFUTILS] (stap_LDFLAGS, stap_LDFLAGS): Add flags
to point at local elfutils build.
[BUILD_ELFUTILS] (BUILT_SOURCES): Add stamp-elfutils.
[BUILD_ELFUTILS] (stap_DEPENDENCIES): New variable.
[BUILD_ELFUTILS] (lib-elfutils/libdw.so): New target.
[BUILD_ELFUTILS] (install-exec-local): Depend on install-elfutils.
(loc2c_test_LDADD): Set this to $(stap_LDADD).
(loc2c_test_CPPFLAGS, loc2c_test_LDFLAGS): New variables.
* Makefile.in: Regenerated.
* compile: New file from automakeland.
* systemtap.spec.in (elfutils_version): Require 0.118 or later.
[bundled_elfutils]: Remove old hacks for building elfutils, and rely
on configure --with-elfutils instead.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (pkglibexecdir): New variable.
(AM_CPPFLAGS): Use it.
(pkglibexec_PROGRAMS): Set this instead of noinst_PROGRAMS with stpd.
(pkglibexec_SCRIPTS, CLEANFILES): New variables.
(install-exec-local): Target removed.
* runtest.sh: Set LD_LIBRARY_PATH when lib-elfutils is in use.
|
| |
|
|
|
|
| |
* loc2c-test.c (get_location): Fix function name in error message.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.cxx (alias_expansion_builder::build): Fix comment typo.
* tapsets.cxx (symbol_cache): New class.
(dwflpp::cache): Add cache.
(dwflpp::pattern_limited_cus): New member.
(dwflpp::pattern_limited_funcs): New member.
(dwflpp::limit_search_to_function_pattern): New method.
(dwflpp::iterate_over_cus): Modify to use cached, limited sets.
(dwflpp::iterate_over_functions): Likewise.
(dwarf_builder::user_dw): New member.
(dwarf_builder::kern_dw): New member.
(dwarf_builder::~dwarf_builder): Add dtor.
(query_module): Call dwflpp::limit_search_to_function_pattern.
(dwarf_builder::build): Initialize persistent dwflpp members on demand.
|
|
|
|
|
|
|
|
|
| |
* translate.cxx (delete_statement_operand_visitor::visit_arrayindex):
Prohibit deleting histogram buckets.
(c_tmpcounter::visit_array_in): Direct to visit_arrayindex.
(c_unparser::visit_array_in): Likewise.
* testsuite/buildok/histogram_operator_in.stp: New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1937
* buildrun.cxx (run_pass): Pass new "-d PID" option to stpd.
Set SIGHUP to SIG_IGN too.
2005-12-08 Frank Ch. Eigler <fche@elastic.org>
PR 1937
* stpd.c (main): Support new "-d" option.
(usage): Document it.
* librelay.c (driver_poll): New function to react to death of
driver process.
(stp_main_loop): Call it if "-d PID" given. Treat SIGHUP like others.
|
|
|
|
|
|
|
| |
* map.c (_new_map_create): Only increment map size if a node
was moved off the free list.
(_stp_map_size): New function.
(_stp_pmap_size): New function.
|
|
|
|
|
| |
* maps/map.test: Add size test.
* pmaps/pmap.test: Add size test.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* staptree.cxx (traversing_visitor::visit_foreach_loop): Visit
the base indexable of the foreach loop.
* translate.cxx (c_tmpcounter::visit_foreach_loop): Implement
histogram bucket iteration arm.
(c_unparser::visit_foreach_loop): Likewise.
(c_tmpcounter::visit_arrayindex): Fix typo.
* testsuite/buildok/iterate_histogram_buckets.stp: New test.
|
|
|
|
| |
* trivial mispelling corrected
|
|
|
|
|
| |
* translate.cxx (mapvar::fini): Use _stp_pmap_del() on pmaps.
(emit_global): For pmaps, use "PMAP" instead of "MAP".
|
|
|
|
|
| |
* agg/agg.test: Adjust results to match
the more compact histogram format.
|
|
|
|
|
| |
* alloc.c: Remove all unused functions.
* io.c: Add vprintf() prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR1923
* map.h (struct map_root): Remove membuf.
(struct pmap): Define.
(PMAP): Declare.
* map.c (_stp_map_init): Use kmalloc() to allocate individual
nodes instead of using vmalloc() to allocate one big chunk.
(_stp_map_new): Use kmalloc.
(_stp_pmap_new): Use kmalloc. Return a PMAP.
(__stp_map_del): New function. Free all the nodes in a map.
(_stp_map_del): Call __stp_map_del() then free map struct.
(_stp_pmap_del): Takes a PMAP. Calls __stp_map_del() for
each cpu.
(_stp_pmap_printn_cpu): Change arg to PMAP.
(_stp_pmap_agg): Change arg to PMAP.
(_stp_pmap_get_agg): Change arg to PMAP.
* map-stat.c (_stp_pmap_new_hstat_linear): Use PMAP
instead of MAP. Fix allocations.
(_stp_pmap_new_hstat_log): Ditto.
* pmap-gen.c Fix all functions to take or return PMAPS
instead of MAPS.
* alloc.c: Remove everything except kmalloc_node().
All runtime code now uses kmalloc() directly.
|
|
|
|
|
|
|
|
|
|
| |
* pmaps/*.c: Change pmap type from MAP to PMAP.
* pmaps/pmap.test: Adjust results to match
the more compact histogram format.
* maps/map.test: Adjust results to match
the more compact histogram format.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* alphabatized for easier navigation
* removed comments from reference to void pointer args
* removed reference to some unsafe copy_from_user funcs
* added final aliases for i386
* aux_syscalls.stp
* commented out embedded C functions that made use of
copy_from_user(), a function that might sleep and that
was causing Oops on my machine when sleep was called
from invalid context.
|
|
|
|
|
|
|
| |
PR 1934.
* tapsets.cxx (resolve_prologue_endings2): Add new heuristic for
tail-call optimized functions.
(query_func_info): Make somewhat less verbose.
|
|
|
|
|
| |
* translate.cxx (visit_print_format): Explicitly Cast int64_t
(pe_long) args to (long long) in generated code, for portability.
|
|
|
|
| |
* *.cxx: Add <cassert> #include as needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.cxx (mutated_var_collector): Forward
traversal portion of calls to base class.
(mutated_var_collector::visit_arrayindex): Resolve
arrayindex-into-histogram expression as pe_long.
(typeresolution_info::visit_print_format): Traverse
into histogram if present.
* parse.cxx (parse_symbol): Handle parse ambiguity surrounding
print(@hist_op(...)[...]).
* staptree.cxx (traversing_visitor::visit_arrayindex): Visit
base member of arrayindex.
* translate.cxx (c_unparser::histogram_index_check): New method.
(var::hist): Fix bug.
(var::buckets): New method.
(stmt_expr::stmt_expr): Print with newline.
(c_unparser::load_map_indices): Handle indexing-histogram case.
(c_tmpcounter::visit_arrayindex): Likewise.
(c_unparser::visit_arrayindex): Likewise.
(c_tmpcounter_assignment::visit_arrayindex): Throw error when
user attempts to write to histogram bucket.
(c_unparser_assignment::visit_arrayindex): Likewise.
* testsuite/buildok/print_histogram_entry.stp: New test.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* configure.ac: Bump version number.
* stap.1.in: Document some of the new print/stats stuff.
* configure: Regenerated.
* systemtap.spec.in: Enable ia64 and ppc builds.
|
|
|
|
|
|
|
| |
* procfs.c (_stp_set_buffers): kmalloc the buffers instead
of vmalloc.
(_stp_register_procfs): Ditto.
(_stp_unregister_procfs): kfree the buffers.
|
|
|
|
|
|
| |
PR 1944 improved hack.
* translator.cxx (c_tmpcounter::visit_block): New routine, allows
overlay of sequential statements' temporaries within context.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* io.c (_stp_exit): To prevent any possible interactions
with the probed function, just set a flag here.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* recreate_links: Remove links to deleted files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* translate.cxx (c_tmpcounter_assignment::visit_symbol): Don't
emit unused temporary into context. Saves mucho space with strings.
|
|
|
|
|
| |
* map.c (_stp_pmap_del): Use _stp_free_percpu() to
free pmaps.
|
|
|
|
|
| |
* map-stat.c (_stp_pmap_new_hstat_log): Fix typo. Call
_stp_pmap_new() instead of _stp_map_new().
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
* loc2c.c (location_from_address): Diagnose null FB_ATTR specially.
|
| |
|
|
|
|
| |
* loc2c.c (location_from_address): Fix function name in error message.
|
| |
|
|
|
|
| |
* loc2c.c (location_from_address): Tolerate errors with NULL *input.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
* loc2c.c (translate): Initialize LOC->address.used_deref at start.
|
|
|
|
|
| |
* loc2c-test.c (main): Free SCOPES at end.
(handle_variable): Free POOL at end.
|