| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3542
* buildrun.cxx (compile_pass): Add an autoconf to check the kernel
supports batch unregistration.
* tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Add an
array of probe pointers for batch unregistration.
* tapsets.cxx (dwarf_derived_probe_group::emit_module_exit): Use
unregister_k(ret)probes if it is supported.
* runtime/autoconf-unregister-kprobes.c : New file.
|
|
|
|
|
|
| |
PR 5928.
* buildrun.cxx (compile_pass): Use EXTRA_CFLAGS for autoconf'd values
instead of CFLAGS_<module>.o.
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-28 Frank Ch. Eigler <fche@elastic.org>
PR5045
* session.h (pending_interrupts): New global.
* main.cxx (handle_interrupts): New fn to handle SIGINT* etc.
* elaborate.cxx, translate.cxx, tapsets.cxx, main.cxx (*): Insert
pending_interrupts escape hatches inside potentially timetaking loops.
* buildrun.cxx: Don't deal with signals.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
PR5787, PR2608, .statement()
* tapsets.cxx (query_dwarf_func): Process .statement(NUM) probes too.
(query_cu): Ditto.
(query_func_info): Bypass prologue searching for .statement() probes.
(query_cu): Ditto.
(build_blacklist): Remove unsightly empty first alternative in
"^(|foo)$" regexps. Show them for -vvv.
* buildrun.cxx (compile_pass): Don't turn on "gcc -Q" on until -vvvv.
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
* systemtap.base/stmtvars.exp: New test for PR 5787.
|
|
|
|
|
| |
* buildrun.cxx (run_make_cmd, compile_pass): Tweak kbuild
parametrization to produce useful compile logs at -vv.
|
|
|
|
| |
patch for x86/x86_64
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx: Restored pre-10-08 version: moved uprobes build to
buildrun.cxx.
* buildrun.cxx: Reworked uprobes build so that the resulting
Module.symvers can be used in building the stap-generated
module. If user isn't root, call verify_uprobes_uptodate()
rather than trying (and failing) to rebuild uprobes.ko.
* buildrun.h: uprobes_enabled() and make_uprobes() are no
longer extern.
* runtime/uprobes/Makefile: Added uprobes.ko target for use
by verify_uprobes_uptodate().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx: Add pass 4.5: make uprobes.ko in runtime/uprobes
* buildrun.cxx: Add uprobes_enabled() and make_uprobes().
Factor run_make_cmd() out of compile_pass().
* buildrun.h: Add uprobes_enabled and make_uprobes decls.
* tapsets.cxx: Do correct #include for modprobed uprobes.ko;
set need_uprobes in pass 2.
* session.h: Add need_uprobes
* runtime/staprun/common.c: Add -u option -> need_uprobes
* runtime/staprun/staprun_funcs.c: Generalize insert_module()
to support inserting uprobes.ko.
* runtime/staprun/staprun.c: Add enable_uprobes(). insert_module
call becomes insert_stap_module().
* runtime/staprun/staprun.h: Reflect insert_module() and
need_uprobes changes
* runtime/uprobes/*.[c,h]: uprobes is built as a module,
rather than included into the source of the stap-generated
module.
* runtime/uprobes/Makefile: Added
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Tweaked build system for the
2.6.23-rc8-mm2 kernel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3916
* buildrun.cxx (compile_pass): Add new autoconf options for checking
time related APIs.
* time.c (stp_time_t): Rename cpufreq to freq.
(__stp_get_freq): Rename from __stp_estimate_cpufreq. Use tsc_khz or
cpu_khz if it is available. Use itc_freq on ia64.
(__stp_ktime_get_real_ts): New function to get current kernel time.
(__stp_time_timer_callback): Call __stp_ktime_get_real_ts to get
base time.
(__stp_init_time): Ditto.
(__stp_constant_freq): New function to check the processor has
constant frequency timestamp counter.
(_stp_kill_time): Don't use the cpufreq notifier if the processor has
constant frequency timestamp counter.
(_stp_init_time): Ditto.
* autoconf-ktime-get-real.c : New file.
* autoconf-constant-tsc.c: Ditto.
* autoconf-tsc-khz.c: Ditto.
|
|
|
|
|
|
|
|
|
| |
PR2424
From Lai Jiangshan <laijs@cn.fujitsu.com>
* util.cxx (cmdstr_quoted): New. Properly quote
command string.
* buildrun.cxx (run_pass): Call cmdstr_quoted().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch. Changes also by Martin Hunt
<hunt@redhat.com>.
* Makefile.am: Added staprun_funcs.c and cap.c to
staprun_SOURCES. Added -lcap to staprun_LDADD. Removed
stp_check reference. Added stapio program. Staprun is now
setuid.
* Makefile.in: Rebuilt.
* configure.ac: Version increase to 0.6 and checks for libcap
availability. Removed stp_check reference.
* configure: Regenerated.
* stp_check.in: Removed.
* systemtap.spec.in: Version increase to 0.6-1 and added
BuildReq for libcap-devl (and removed sudo requirement).
Added %pre script to create new groups. Staprun is now
setuid.
* NEWS: Added info on new security model.
* INTERNALS: Removed sudo reference.
* README.security: New file.
* main.cxx (main): Make sure module name isn't too long.
* hash.cxx: Moved MODULE_NAME_LEN define to hash.h.
* hash.h: Moved MODULE_NAME_LEN define here from hash.cxx.
* buildrun.cxx (run_pass): No longer runs staprun with "sudo".
* stap.1.in: Removed sudo references and added information about
the stapdev/stapusr groups.
* staprun.8.in: Added information about module detaching and
attaching. Removed sudo references and added information
about the stapdev/stapusr groups. Removed reference to
staprun needing to be run as root. Removed reference to
removed '-u USERNAME' option.
* .cvsignore: Removed stp_check and added stapio and stap_merge.
|
|
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Unset environment variables that
could interfere with building the kernel module. Fixes PR 4664.
* main.cxx (main): Unsets a few standard environment variables for
safety.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4255 teaser.
* elaborate.cxx (has_null_param): New function.
* elaborate.h: Declare it.
* session.h: Include uprobe_derived_probes group.
* tapsets.cxx (uprobe_*): New classes.
(all_session_groups): List uprobes in list.
(register_standard_tapset): Interpret
process(#).statement(#).absolute and
process(#).statement(#).absolute.return probe points.
|
|
|
|
|
| |
* buildrun.cxx (run_pass): Send proper verbosity
level to staprun
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4432.
* buildrun.cxx (compile_pass): Tweak autoconf CFLAGS handling to
avoid macro recursion but still get the needed -I directives.
Add the inode-private autoconf test.
2007-04-27 Frank Ch. Eigler <fche@elastic.org>
* autoconf-inode-private.c: New file from hunt.
|
|
|
|
|
| |
PR 4432.
* buildrun.cxx (compile_pass): Add $(mflags-y) to stap_check_build.
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Correct placement of commented-out
"set -x" make-macro-debugging snippet.
|
|
|
|
|
|
| |
GCC 4.3 compatibility patches from Debian.
* buildrun.cxx, hash.cxx, tapsets.cxx, translate.cxx: #include a few
more C++ headers.
|
|
|
|
|
|
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Emit kbuild-time autoconf widgets
to customize runtime or translator C code to actual kernel rather
than kernel version string. Thanks to FC 2.6."20" for the nudge.
* tapsets.cxx (hrtimer*emit_module): First client: HRTIMER_{MODE_}REL.
2007-03-19 Frank Ch. Eigler <fche@elastic.org>
* autoconf-hrtimer-rel.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (staprun_SOURCES): Sources now live in
runtime/staprun.
* makefile.in: Rebuilt.
* staprun.8.in: Updated.
* buildrun.cxx (run_pass): Use "-v" instead of not "-q" to
be compatible with latest staprun.
* translate.cxx (emit_module_exit): Print warning using
_stp_printf so it shows up at the end of all output.
(translate_pass): Replace STP_RELAYFS with STP_BULKMODE.
Eliminate STP_RELAYFS_MERGE.
|
| |
|
|
|
|
|
|
| |
* util.h (lex_cast_qstring): Move def'n here. Also quote \.
(stringify, lex_cast, lex_cast_hex): Move defn here.
* buildrun.cxx, elaborate.cxx, main.cxx, staptree.cxx: Adapt.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Install tapset/README too.
* Makefile.in: Regenerated.
2006-11-02 Frank Ch. Eigler <fche@elastic.org>
* README: Add a blurb against running these scripts directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .cvsignore: Changed 'stpd' reference to 'staprun'.
* INTERNALS: Ditto.
* buildrun.cxx (run_pass): Ditto.
* lket.5.in: Ditto.
* stap.1.in: Ditto.
* stapruncs.5.in: Ditto.
* examples/small_demos/demo_script.txt: Ditto.
* examples/small_demos/sys.stp: Ditto.
* systemtap.spec.in: Created a new subpackage,
"systemtap-runtime", that contains staprun.
* Makefile.am: Renamed 'stpd' to 'staprun' and moved it to
$(bindir).
* Makefile.in: Regenerated from Makefile.am.
* configure.ac: Incremented version number.
* configure: Regenerated from configure.ac.
|
|
|
|
|
|
| |
* buildrun.cxx (run_pass): Remove "-m" option to stpd.
* translate.cxx (translate_pass): #define STP_RELAYFS_MERGE
if appropriate.
|
|
|
|
| |
* buildrun.cxx (run_pass): Remove "-r" option to stpd.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* translate.cxx: Added inclusion of session.h.
(translate_pass): Instead of asking each probe to emit itself, we
ask the session's probes member variable to emit all the probes.
* tapsets.cxx: Added inclusion of session.h. Added a
register_probe member function to all derived_probe based
classes. Added a derived_probe_group derived class for all probe
types:
(be_derived_probe_group): New class.
(never_derived_probe_group): New class.
(dwarf_derived_probe_group): New class.
(timer_derived_probe_group): New class.
(profile_derived_probe_group): New class.
(mark_derived_probe_group): New class.
(hrtimer_derived_probe_group): New class
(derived_probe_group_container): New class.
* elaborate.h: Removed inclusion of session.h since session.h now
includes elaborate.h.
(derived_probe): Added register_probe member function.
(derived_probe_group): Added class definition. This is the base
class of all of the derived probe groups - dwarf, timer, etc.
(derived_probe_group_container): Added class definition. An
instance of this class will be stored in the session and contain
all the other probe groups.
* elaborate.cxx (derived_probe_group::register_probe): Added
derived_probe_group::register_probe stubs.
(alias_derived_probe::register_probe): Added register_probe member
function.
(semantic_pass_symbols): After deriving a probe, the probes now
register themselves with the session.
* session.h: Includes elaborate.h to get
derived_probe_group_container definition. systemtap_session class
'probes' member variable switched from a vector of derived probes
to a derived_probe_group_container.
* buildrun.cxx: Added inclusion of session.h since it was removed
from elaborate.h.
* main.cxx: Added inclusion of session.h since it was removed
from elaborate.h.
* parse.h: Added forward struct declarations.
* staptree.h: Removed inclusion of session.h.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (dwflpp::dwfl_assert): Added optional extra_msg
parameter to be able to print out extra error message.
(dwflpp::setup): Uses new 'extra_msg' parameter to dwfl_assert()
to ask user to install kernel-debuginfo when
dwfl_linux_kernel_report_kernel() or
dwfl_linux_kernel_report_modules() fails (Bugzilla #2669).
* buildrun.cxx (compile_pass): Checks to make sure module build
directory exists before trying to run make there (Bugzilla #2669).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 953
* elaborate.h (derived_probe): Add field "name". Stop passing
"probe index" to other emit_* calls.
(emit_probe_context_vars): New member function.
* elaborate.cxx (derived_probe ctor): Generate unique name.
* translate.cxx (*): Adapt to index->name.
(emit_probe): Realize that probe locals only occur at nesting=0.
* tapsets.cxx (*derived_probe::emit_*): Adapt to index->name.
(mark_var_expanding_copy_visitor): New class to process $argN.
(mark_derived_probe ctor): Call it.
(mark_derived_probe::emit_probe_context_vars): Do it.
* buildrun.cxx (compile_pass): Add more optional gcc verbosity.
Add CFLAGS += -freorder-blocks.
* testsuite/buildok/marker.stp: New test.
|
| |
|
| |
|
|
|
|
|
| |
* buildrun.cxx (run_pass): Add "-u username".
* stapfuncs.5.in: Document system().
|
|
|
|
|
|
|
|
| |
* main.cxx: Make "-v" (verbose) flag a counter.
* stap.1.in: Document this.
* session.h: Corresponding changes.
* {elaborate,buildrun,tapsets,translate}.cxx: Update all uses of
verbose flag to compare it to sensible level for value of message.
|
|
|
|
|
|
| |
* main.cxx (main): In verbose mode, print user+sys times after
each pass.
* buildrun.cxx (compile_pass): Move success message back to main().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2060 etc.
* tapsets.cxx (visit_target_symbol): Tolerate failed resolution by
letting target_symbol instance pass through to optimizer and
type checker.
* elaborate.cxx (semantic_pass_optimize): New family of functions and
associated visitor classes.
(visit_for_loop): Tolerate absent init/incr clauses.
(semantic_pass): Invoke unless unoptimized (-u) option given.
* main.cxx, session.h: Add support for flag.
* staptree.cxx (visit_for_loop): Tolerate absent init/incr clauses.
(traversing_visitor::visit_arrayindex): Visit the index expressions.
(functioncall_traversing_visitor): New class.
(varuse_tracking_visitor): New class.
* staptree.h: Corresponding changes.
* parse.cxx (parse_for_loop): Represent absent init/incr expressions
with null statement pointer instead of optimized-out dummy numbers.
* stap.1.in: Document optimization.
* testsuite/{semko,transko}/*.stp: Added "-u" or other code to many
tests to check bad code without optimizer elision.
* testsuite/semok/optimize.stp: New test.
* elaborate.cxx (unresolved, invalid, mismatch): Standardize error
message wording.
* stapfuncs.5.in: Tweak print/printf docs.
* tapset/logging.stp: Remove redundant "print" auxiliary function,
since it's a translator built-in.
* testsuite/transok/five.stp: Extend test.
* translate.cxx (emit_symbol_data): Put symbol table into a separate
temporary header file, to make "-p3" output easier on the eyes.
* buildrun.cxx (compile_pass): Eliminate test-mode support throughout.
* main.cxx, session.h, translate.cxx: Ditto.
* main.cxx (main): For last-pass=2 runs, print post-optimization ASTs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2060.
* buildrun.cxx (compile_pass): Add "V=1" to kbuild if verbose.
* translate.cxx (translator_output): For output-file constructor,
set an explicit output buffer.
(emit_module_init, emit_module_exit): Reorganize output, to spit
each individual probe registration/deregistration blurb into a
separate function.
* translate.h: Corresponding changes; set default buffer size to 8K.
* translate.cxx, tapsets.cxx: Replace "endl" by buffer-friendly "\n"
throughout code generation routines.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
PR 1477.
* main.cxx (main): Set PATH and LC_ALL, so
* buildrun.cxx (compile_pass, run_pass): ... and ...
* translate.cxx (emit_symbol_data): ... don't have to.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1182.
* main.cxx (main): Support -D macro-setting option.
* stap.1.in: Document it and related macros.
* buildrun.cxx (compile_pass): Emit macro definitions.
* translate.cxx (translate_pass): Guard limit macros with #ifdef.
Eliminate MAXCONCURRENCY macro.
* elaborate.h (systemtap_session): Add "macros" field.
* parse.cxx (parse_if_statement): Clear "elseblock" if needed.
2005-09-28 Frank Ch. Eigler <fche@elastic.org>
PR 1182.
* systemtap.samples/control_limits.*: New test.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapset/context.stp: Add function target().
* stapfuncs.5.in (target): Document it.
* elaborate.h (struct systemtap_session): Add cmd and target_pid to
the struct.
* main.cxx (usage): Add secriptions of "-c" and "-x" options.
(main): Set s.cmd and s.target_pid.
* buildrun.cxx (stringify): Copy this utility func here too.
(run_pass): Add new options to set cmd and pid to the stpd
command line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* stapprobes.5.in, stapfuncs.5.in, stapex.5.in: New man pages.
* stap.1.in: Moved some content out.
* Makefile.am (man_MANS): Add new man pages.
* configure.ac (AC_CONFIG_FILES): Add them.
* systemtap.spec.in: Package them.
* Makefile.in, configure: Regenerated.
* buildrun.cxx (run_pass): Pass "-r" to stpd.
* translate.cxx (emit_common_header): Wrap try/catch around
variable decls, to improve exception particularity.
(visit_literal_number): Emit as unsigned literal, which is
actually a subtle correctness issue.
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Add -Wno-unused to CFLAGS because
usually a module doesn't use every function in the runtime.
|
|
|
|
|
|
| |
* Makefile.am (install-data-local): Correct typo.
* buildrun.cxx (compile_pass): Ditto.
* main.cxx (main): Print errors if passes 4 or 5 fail.
|
|
|
|
|
|
|
| |
* buildrun.cxx (compile_pass, run_pass): Get closer to a working
test_mode.
* translate.cxx (emit_module_init, emit_common_header): Ditto.
(translate_pass): Ditto.
|