| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
| |
After linux-next commit f2a8205c, it takes two parameters again,
so we autoconf for it rather than use KERNEL_VERSION ifdefs.
|
|
|
|
|
|
|
|
|
| |
At one point, the tracepoints API didn't have DECLARE_TRACE, and the
trace headers all used DEFINE_TRACE. This is what got pulled into RHEL,
so we need to support this older usage. The rest of the API stays the
same though.
* buildrun.cxx (make_tracequery): Redefine DEFINE_TRACE as well.
|
|
|
|
|
|
|
|
|
|
| |
* session.h (systemtap_session): add tracepoint_derived_probes
* buildrun.cxx (make_tracequery): New - builds a kernel module that
hijacks the tracepoint declarations, so we can query debuginfo.
* buildrun.h: declare above
* tapsets.cxx (tracepoint_builder): New builder for tracepoint
probes. For now it just handles the initialization to build the
tracequery kernel module.
|
|
|
|
|
|
|
|
|
|
| |
* buildrun.cxx (compile_pass): Add autoconf line for stack trace
test, which defines STAPCONF_KERNEL_STACKTRACE.
* runtime/autoconf-save-stack-trace.c: New file.
* runtime/stack.c : Use STAPCONF_KERNEL_STACKTRACE instead of
tests for kernel configuration and versions.
* runtime/stack-i386.c : ditto
* runtime/stack-x86_64.c : ditto
|
|
|
|
|
| |
This was leftover from my initial draft of autoconf caching.
It's not used at all anymore...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the stapconf caching process quite a bit more transparent.
The options are now cached in a header file as #defines, and this header
file is a normal build dependency instead of calling so many make
$(shell ...) commands.
* buildrun.cxx (compile_pass): Pull in autoconf options in a header
of #defines rather than -DXXX, and make that header a build dependency.
* buildrun.cxx (output_autoconf): New function to consolidate the
computation of each autoconf test.
* cache.cxx (add_to_cache, get_from_cache, clean_cache): Start treating
the stapconf header as a first-class cached item.
* cache.h: Move definitions of things only needed in cache.cxx
* hash.cxx (find_stapconf_hash): Generate stapconf_name as a .h now.
* main.cxx (main): Default the stapconf_name based on getpid().
|
|
|
|
|
|
|
|
|
|
| |
We're getting enough autoconf tests now that it's a significant chunk of
the build time. Adding this cache shaves several seconds off for me.
* hash.cxx (find_hash): Compute a separate script-independent hash
for caching autoconf values, saved in session.stapconf_path.
* buildrun.cxx (compile_pass): Tweak the Makefile to read/save
the autoconf values in the cache directory
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The field is renamed to _expires starting in 2.6.28-rc1, and it's not
meant to be directly manipulated. Instead hrtimer users are supposed to
use hrtimer_get_expires and hrtimer_set_expires.
|
| |
|
|
|
|
| |
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-26 David Smith <dsmith@redhat.com>
* buildrun.cxx (compile_pass): Added autoconf-dpath-path.c.
2008-08-26 David Smith <dsmith@redhat.com>
* autoconf-d_path-path.c: New file.
* task_finder.c (__stp_get_mm_path): Uses STAPCONF_DPATH_PATH
instead of a kernel version check to determine how to call
d_path().
(__stp_utrace_task_finder_target_quiesce): Ditto.
(__stp_target_call_vm_callback): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi guys,
I append a trivial patch for systemtap. I guess the SUSE wiki page also
needs updating to point out that it's broken in 11.0 by default, and
that you require HEAD with Frank's buildrun.cxx fix for the mach-default
include.
My patch will hopefully make similar problems easier to find in future
(for lovers of -v options ;-)
HTH,
Michael.
|
| |
|
|
|
|
|
|
|
|
| |
This is a generalization of the patch from James Bottomley:
http://sources.redhat.com/ml/systemtap/2008-q3/msg00220.html
The on_each_cpu() change was merged *after* the 2.6.26 release, so I'm
using an autoconf test instead of James' version check.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
For now, the autoconf for the new code is disabled, because it shows
poorer performance than our existing dereferencing functions. This is
probably because ours get inlined and optimized. The code is being
committed so that we may re-evaluate its usefulness in the future.
This addresses bugzilla 6432.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|