diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-08-17 13:39:39 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-08-17 13:39:39 -0400 |
commit | c569c2e4973296701cd4caff35847e2fde32754a (patch) | |
tree | 2d50f5882d019cc47d8c0c52571098b906a25ee8 /buildrun.cxx | |
parent | 00cf370953d55d0c79a746b4e7d65ce29266afc4 (diff) | |
parent | 8d4b1ab0732bd51e4b8f1e7cdb2550a9d67f21bc (diff) | |
download | systemtap-steved-c569c2e4973296701cd4caff35847e2fde32754a.tar.gz systemtap-steved-c569c2e4973296701cd4caff35847e2fde32754a.tar.xz systemtap-steved-c569c2e4973296701cd4caff35847e2fde32754a.zip |
Merge commit 'origin/master' into pr4225
* commit 'origin/master':
Mention distro specific elfutils development sub-packages needed when not found.
Change system-wide probes from 'process("*").begin' to 'process.begin'.
PR6836: tweak $$return formatting
extend callgraph example to use $$parms / $$return
PR6836: $$vars extensions, $$return
small patch ...
PR 6834
PR6842: work around possibly null task->signal in utrace death callback
Minor bugs in stap-client.
build compatibility and speed hack for bundled-elfutils mode
revise build instructions; clarifying elfutils bundling and its new hosting site
kbuild compatibility hack for separate-objdir O= builds
PR 6445 (partial). Implemented system-wide utrace probes.
Fixed compilation warning on gcc 3.x
let $$vars work even with unsupported c types (e.g., funkytown floats)
Diffstat (limited to 'buildrun.cxx')
-rw-r--r-- | buildrun.cxx | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/buildrun.cxx b/buildrun.cxx index c2ebdce5..a265e4db 100644 --- a/buildrun.cxx +++ b/buildrun.cxx @@ -78,8 +78,12 @@ compile_pass (systemtap_session& s) if (s.verbose > 3) superverbose = "set -x;"; + string redirecterrors = "> /dev/null 2>&1"; + if (s.verbose > 6) + redirecterrors = ""; + o << "stap_check_gcc = $(shell " << superverbose << " if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo \"$(1)\"; else echo \"$(2)\"; fi)" << endl; - o << "stap_check_build = $(shell " << superverbose << " if $(CC) $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(KBUILD_CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) $(CFLAGS) -DKBUILD_BASENAME=\\\"" << s.module_name << "\\\" -Werror -S -o /dev/null -xc $(1) > /dev/null 2>&1 ; then echo \"$(2)\"; else echo \"$(3)\"; fi)" << endl; + o << "stap_check_build = $(shell " << superverbose << " if $(CC) $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(KBUILD_CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) $(CFLAGS) -DKBUILD_BASENAME=\\\"" << s.module_name << "\\\" -Werror -S -o /dev/null -xc $(1) " << redirecterrors << " ; then echo \"$(2)\"; else echo \"$(3)\"; fi)" << endl; o << "SYSTEMTAP_RUNTIME = \"" << s.runtime_path << "\"" << endl; @@ -87,6 +91,14 @@ compile_pass (systemtap_session& s) string module_cflags = "EXTRA_CFLAGS"; o << module_cflags << " :=" << endl; + + // XXX: This gruesome hack is needed on some kernels built with separate O=directory, + // where files like 2.6.27 x86's asm/mach-*/mach_mpspec.h are not found on the cpp path. + // This could be a bug in arch/x86/Makefile that names + // mflags-y += -Iinclude/asm-x86/mach-default + // but that path does not exist in an O= build tree. + o << module_cflags << " += -Iinclude2/asm/mach-default" << endl; + o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-hrtimer-rel.c, -DSTAPCONF_HRTIMER_REL,)" << endl; o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-inode-private.c, -DSTAPCONF_INODE_PRIVATE,)" << endl; o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-constant-tsc.c, -DSTAPCONF_CONSTANT_TSC,)" << endl; |