summaryrefslogtreecommitdiffstats
path: root/buildrun.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Add functions to build umod & kmod typequeryJosh Stone2009-04-171-0/+57
|
* Remove module boilerplate from tracequeryJosh Stone2009-04-171-5/+0
| | | | | | | Kernel modules will actually build just fine with none of the module boilerplate code. We don't care about ever actually loading the tracequery module that we make, so don't bother emitting code we don't need.
* Keep up with tracepoint changes in kernel-tipJosh Stone2009-04-161-5/+19
| | | | | | | | - Define TRACE_HEADER_MULTI_READ to allow re-pulling headers that were already included indirectly elsewhere. - Some tracepoint headers were moved down to include/trace/events/, so add that to our glob paths. - Add ftrace.h as a header that we should never include.
* Uses <asm/syscall.h> when available.David Smith2009-04-091-0/+2
| | | | | | | | | | | | | | | | | | | | 2009-04-09 David Smith <dsmith@redhat.com> * buildrun.cxx (compile_pass): Compile autoconf test for <asm/syscall.h>. * runtime/autoconf-asm-syscall.c: New "autoconf" test the presence of <asm/syscall.h>. * runtime/syscall.h: If <asm/syscall.h> exists, use it. Otherwise, use our private copy of the functions for each architecture. (syscall_get_nr): Renamed from __stp_user_syscall_nr(). (syscall_get_return_value): Renamed from __stp_user_syscall_return_value(). (syscall_get_arguments): Renamed from __stp_user_syscall_arg(). * runtime/task_finder.c (__stp_utrace_task_finder_target_syscall_exit): Uses new syscall.h functions. * tapset/utrace.stp: Ditto.
* Disable ccache during kernel module buildsJosh Stone2009-04-021-0/+6
| | | | | | | | Our module builds always have a 0% ccache hit rate, because the compiler commands always include the randomized tmpdir. Thus, I'm setting CCACHE_DISABLE=1 so ccache never saves these one-use objects. (Besides, we already have our own caching in place for this stuff...)
* PR10016: Purge stap of all pgrp and system() usageJosh Stone2009-04-011-4/+4
| | | | | | | | | | | | | | | | | | | We hereby no longer try to manipulate process groups in any way. We don't set a private process group, and we never kill() our entire group either. Instead of using system(), we now have a stap_system() which saves the child PID, so when we get a terminating signal we can pass it along to the child. Signals sent through the TTY have always worked, since the TTY sends it to the entire pgrp. However, if we're running as part of a wrapper script or GUI, which may not have a separate process group for stap, we still would like to allow "kill -TERM $STAPPID" to terminate stap nicely. There's still a short window of failure in the time that staprun is active, because we can't kill a setuid process from a user process. Once staprun drops privileges and execs to stapio though, everything should work fine.
* PR9998: adapt tapset/i686/registers.stp to latest kernelWenji Huang2009-03-301-0/+1
| | | | | | | | | * buildrun.cxx (compile_pass): Add autoconf-x86-gs.c. * tapset/i686/registers.stp (_stp_register_regs): Update offsets. (test_x86_gs): Auxiliary function. * runtime/autoconf-x86-gs.c : New file. * testsuite/systemtap.base/x86_gs.exp : New test case. * testsuite/systemtap.base/x86_gs.stp : Ditto.
* PR9993: tracepoint toleration for undeclared types in trace/*.h headersFrank Ch. Eigler2009-03-241-1/+6
| | | | | | | | | * tapsets.cxx (tracepoint_extra_headers): New function to return needed header file names. (emit_module_decls): Emit them. * buildrun.cxx (make_tracequery): Emit them. * testsuite/systemtap.base/tracepoints.exp: Rewrite to exercise building each tracepoint.
* support tracepoint extraction for kernel build trees built with O=/pathFrank Ch. Eigler2009-03-201-13/+17
| | | | * buildrun.cxx (make_tracequery): Also search source/include/trace/*.h.
* PR6930: stap: supports on-file flight recorder optionsMasami Hiramatsu2009-03-201-1/+4
| | | | | | | Add on-file flight recorder options (the combination of -F and -o, and -S option) to stap command, and change manpages and NEWS. - Both of -F and -o is specified, stap passes -D option to staprun. - stap just passes -S option to staprun.
* add runtime/autoconf magic for itrace on pre-find_task_by_vpid kernelsFrank Ch. Eigler2009-03-191-0/+1
|
* Adapt to linux-next commit changing __alloc_percpu API.Frank Ch. Eigler2009-03-081-0/+1
| | | | | After linux-next commit f2a8205c, it takes two parameters again, so we autoconf for it rather than use KERNEL_VERSION ifdefs.
* Support older tracepoints using DEFINE_TRACEJosh Stone2009-03-061-0/+5
| | | | | | | | | 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.
* Build tracequery to scan for tracepointsJosh Stone2009-03-061-0/+70
| | | | | | | | | | * 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.
* stap autoconf test for kernel stack trace supportTim Moore2009-03-041-0/+2
| | | | | | | | | | * 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
* Remove STAPCONF_CFLAGS from the generated MakefileJosh Stone2009-02-201-3/+0
| | | | | This was leftover from my initial draft of autoconf caching. It's not used at all anymore...
* Clean up the autoconf cachingJosh Stone2009-02-071-33/+43
| | | | | | | | | | | | | | | | | 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().
* Save kernel autoconf options in a cache fileJosh Stone2009-02-061-18/+36
| | | | | | | | | | 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
* 2.6.29rc build fix: autoconf for proc_dir_entry->owner going awayFrank Ch. Eigler2009-02-061-1/+2
|
* PR9740/9816? - workaround for kernel valloc bugFrank Ch. Eigler2009-02-051-0/+1
|
* Add Vim modelines for GNU style in stapJosh Stone2009-01-281-0/+2
|
* PR9699: build fixes for kernel 2.6.28Frank Ch. Eigler2009-01-061-1/+2
|
* build: note inapplicability of kernel kbuild O=dir usr/include headers.Frank Ch. Eigler2009-01-061-0/+4
|
* PR7090: Support kernels built with O= option.Masami Hiramatsu2008-12-221-1/+4
|
* PR7062: base uprobes tree on s.runtime_path instead of PKGDATADIRFrank Ch. Eigler2008-12-081-2/+3
|
* PR7063: honor SYSTEMTAP_STAPRUN and SYSTEMTAP_STAPIO environment variablesRoland McGrath2008-12-031-5/+3
|
* PR5892: rename new -B /PATH to -r /PATH; merge functionalityFrank Ch. Eigler2008-12-031-15/+5
|
* BZ 5892: Add stap -B to sic systemtap at an alternate kernel build treeRajan Arora2008-12-011-6/+16
|
* buildrun/caching warning cleanupFrank Ch. Eigler2008-11-291-7/+3
|
* PR5947: make runtime code -Wpointer-arith-cleanFrank Ch. Eigler2008-11-281-0/+3
|
* safety: add paranoid call to synchronize_sched() during shutdown processFrank Ch. Eigler2008-11-261-0/+2
|
* Add a version of uprobes that works with the 2.6.27 version of utrace.Jim Keniston2008-11-031-4/+4
|
* Fix hrtimer.expires name change.Josh Stone2008-10-241-0/+1
| | | | | | 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 new stap -F (flight recorder) option that just passes through to staprun -LNobuhiro Tachino2008-09-161-0/+3
|
* trailing whitespace removal, as approved by emacsFrank Ch. Eigler2008-08-281-11/+11
| | | | (add-hook 'before-save-hook 'delete-trailing-whitespace)
* Uses STAPCONF_DPATH_PATH instead of a kernel version check.David Smith2008-08-261-0/+1
| | | | | | | | | | | | | | | | 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.
* small patch ...Michael Meeks2008-08-151-1/+5
| | | | | | | | | | | | | | | | 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.
* kbuild compatibility hack for separate-objdir O= buildsFrank Ch. Eigler2008-08-121-0/+8
|
* Fix on_each_cpu() call for kernels >2.6.26.Josh Stone2008-07-241-0/+1
| | | | | | | | 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.
* Remove unused STAPCONF_MODULE_NSECTIONSJosh Stone2008-07-241-1/+0
|
* PR6738: restore support for rhel4-era (2.6.9) kernelsFrank Ch. Eigler2008-07-121-0/+1
|
* Fix PR 6732: Add runtime/autoconf-real-parent.c check for task_struct field.Mark Wielaard2008-07-091-0/+1
|
* Add prototypes for using the 2.6.26 probe_kernel_* functions.Josh Stone2008-05-271-0/+6
| | | | | | | | | 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.
* PR6405: unwinder build compatibility with RHEL5Frank Ch. Eigler2008-04-151-1/+1
|
* Fixes for 2.6.25 pt_regs changes.Martin Hunt2008-04-091-2/+0
|
* 2008-03-14 Masami Hiramatsu <mhiramat@redhat.com>hiramatu2008-03-151-0/+1
| | | | | | | | | | | 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.
* 2008-03-13 Frank Ch. Eigler <fche@elastic.org>fche2008-03-131-4/+6
| | | | | | PR 5928. * buildrun.cxx (compile_pass): Use EXTRA_CFLAGS for autoconf'd values instead of CFLAGS_<module>.o.
* PR5045: clean up after interruptsfche2008-02-281-4/+1
| | | | | | | | | | | 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.
* PR5787, PR2608: .statement(NUM) probing fixesfche2008-02-231-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* 2008-02-07 Frank Ch. Eigler <fche@elastic.org>fche2008-02-071-2/+4
| | | | | * buildrun.cxx (run_make_cmd, compile_pass): Tweak kbuild parametrization to produce useful compile logs at -vv.