hunt [Wed, 27 Feb 2008 19:45:45 +0000 (19:45 +0000)]
2008-02-27 Martin Hunt <hunt@redhat.com>
* sym.h (_stp_module): Add text_size, lock, and unwind data
pointer.
* sym.c (_stp_find_module_by_addr): New function.
(_stp_kallsyms_lookup): Call _stp_find_module_by_addr().
(_stp_get_unwind_info): New.
* runtime.h: Move debug macros to debug.h. Include it.
* debug.h: New file.
* map.c: Update debug calls.
* map-gen.c: Update debug calls.
* pmap-gen.c: Update debug calls.
* mempool.c: New file.
* symbols.c: Use rwlocks. Use new dbug macros. Handle
unwind info if present.
* transport.c: Include mempool.c. Update dbug and kbug calls
to new macros.
* transport_msgs.h (_stp_command_name): Add
struct containing message names for debugging.
* control.c, procfs.c: Use new dbug macros. Use
new mempool functions.
brolley [Wed, 27 Feb 2008 16:42:35 +0000 (16:42 +0000)]
2008-02-21 Dave Brolley <brolley@redhat.com>
PR5189
* staptree.h (print_format::conv_memory): New enumerator.
(print_format::width_type): New enumeration.
(print_format::precision_type): New enumeration.
(format_component::widthtype): New member.
(format_component::prectype): New member.
(format_component::is_empty): Test widthtype and prectype.
(format_component::clear): Clear widthtype and prectype.
* staptree.cxx (print_format::components_to_string): Handle dynamic width and precision.
Handle conv_memory.
(print_format::string_to_components): Parse dynamic width and precision specifiers.
Set widthtype and prectype. Parse %m format specifier.
* elaborate.h (typeresolution_info::check_arg_type): New method.
* elaborate.cxx (typeresolution_info::visit_print_format): Account for dynamic width
and precision when computing the expected number of arguments. Check the types of
arguments for dynamic width and precision. Use check_arg_type to check the types of
all arguments. Handle print_format::conv_memory.
(typeresolution_info::check_arg_type): New method.
* NEWS: Describe the enhancements above.
brolley [Wed, 27 Feb 2008 16:42:05 +0000 (16:42 +0000)]
2008-02-27 Dave Brolley <brolley@redhat.com>
PR5189
* vsprintf.c (_stp_vsnprintf): Extract arguments of type int64_t for
dynamic width and precision. Implement width and precision correctly for
the %b format specifier. Implement the %m specifier.
dsmith [Wed, 20 Feb 2008 19:04:04 +0000 (19:04 +0000)]
2008-02-20 David Smith <dsmith@redhat.com>
* tapsets.cxx (struct mark_derived_probe): Renamed 'probe_sig' to
'probe_format'.
(mark_derived_probe::mark_derived_probe): Added new "format" probe
point component.
(mark_derived_probe::parse_probe_format): Renamed from
'mark_derived_probe::parse_probe_sig'.
(struct mark_builder): Added typedefs. Converted mark_cache from
a map to a multimap to handle markers with the same name but
different formats.
(mark_builder::build): Added new 'format' probe parameter.
(register_standard_tapsets): Added new 'format' marker probe
optional parameter.
* stapprobes.5.in (parts): Documented new "format" probe
component.
roland [Wed, 20 Feb 2008 02:44:10 +0000 (02:44 +0000)]
2008-02-19 Roland McGrath <roland@redhat.com>
* tapsets.cxx (query_module): Use dwfl_module_getdwarf rather
than dwfl_module_getelf for e_machine check.
(dwarf_query::get_blacklist_section): Likewise for section search.
Ignore non-SHF_ALLOC sections.
dsmith [Tue, 19 Feb 2008 14:37:17 +0000 (14:37 +0000)]
2008-02-19 David Smith <dsmith@redhat.com>
PR 5672.
* tapsets.cxx (mark_derived_probe): Call probe_point copy ctor to
shallow-copy incoming base probe location before
recomputing/overwriting it.
brolley [Wed, 13 Feb 2008 16:43:08 +0000 (16:43 +0000)]
2008-02-13 Dave Brolley <brolley@redhat.com>
PR5609
* staptree.h (probe::collect_derivation_chain): Now takes vector<probe*>.
(probe::get_alias): New virtual method.
* elaborate.h (derived_probe::collect_derivation_chain): Now takes vector<probe*>.
* staptree.cxx (probe::collect_derivation_chain): Now takes vector<probe*>. Don't
cast 'this' to (derived_probe*).
* elaborate.cxx (derived_probe::collect_derivation_chain): Now takes vector<probe*>.
(alias_derived_probe::get_alias): New virtual method.
(alias_derived_probe::alias): New member.
(alias_expansion_builder::build): Call checkForRecursiveExpansion and emit a
diagnostic if recursion is detected. Pass alias to constructor of
alias_derived_probe.
(alias_expansion_builder::checkForRecursiveExpansion): New method.
* coveragedb.cxx: Pass vector<probe*> on all calls to collect_derivation_chain.
fche [Wed, 13 Feb 2008 03:33:18 +0000 (03:33 +0000)]
2008-02-12 Frank Ch. Eigler <fche@elastic.org>
* systemtap.context/context.exp: Build temporary modules under
build tree, to tolerate read-only source trees.
* {args,backtrace,pid}.tcl: Corresponding changes.
* systemtap_test_module2.c: Add a bunch of asm("")'s to prevent
inlining even better than noinline does.
kenistoj [Mon, 11 Feb 2008 23:37:06 +0000 (23:37 +0000)]
PR 5693
* runtime/uprobes/uprobes.c: Intercept handler-destined
signals received while we're single-stepping, and re-queue
them afterward.
* runtime/uprobes/uprobes.h: Ditto
hiramatu [Wed, 6 Feb 2008 22:07:42 +0000 (22:07 +0000)]
2008-02-06 Masami Hiramatsu <mhiramat@redhat.com>
* stack-ia64.c (__stp_show_stack_sym): Skip printing symbol if (ip ==
REG_IP(regs)).
2008-02-06 Masami Hiramatsu <mhiramat@redhat.com>
* systemtap.context/backtrace.tcl: Fixed regular expressions and Added
new expression for return probe on ia64.
* systemtap.context/backtrace.stp(print_all_trace_info): Added
trace point output before calling print_stack().
fche [Sat, 2 Feb 2008 16:22:32 +0000 (16:22 +0000)]
* rhel-inspired build fixes
* Fri Feb 1 2008 Frank Ch. Eigler <fche@redhat.com> - 0.6.1-3
- Add zlib-devel to buildreq; missing from crash-devel
- Process testsuite .stp files for #!stap->#!/usr/bin/stap
kenistoj [Fri, 25 Jan 2008 23:55:04 +0000 (23:55 +0000)]
* runtime/uprobes/uprobes.c: Within a probed process, serialize
calls to access_process_vm() when populating instructions
slots. Fixes an SMP bug on multithreaded apps with many
active probepoints.
* runtime/uprobes/uprobes.h: Ditto
fche [Fri, 25 Jan 2008 19:05:46 +0000 (19:05 +0000)]
PR 5672: fix generated dwarf probe point names from wildcards
2008-01-25 Frank Ch. Eigler <fche@elastic.org>
PR 5672.
* staptree.cxx (probe_point copy ctor): New function.
* staptree.h: Declare it.
* tapsets.cxx (dwarf_derived_probe ctor): Call it to shallow-copy
incoming base probe location before recomputing/overwriting it.