summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorWade Farnsworth <wade_farnsworth@mentor.com>2012-02-06 07:49:14 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-08 00:50:24 +0000
commit98a994acff338bfcb886d55156d3acdaa52601b9 (patch)
treecc1a9dad3752090758a67e1e827b297b69bfed0a /meta/recipes-kernel
parentc2c215b8879be45c367c7986825085789c9985ff (diff)
downloadpoky-98a994acff338bfcb886d55156d3acdaa52601b9.tar.gz
systemtap: build and install uprobes.ko
SystemTap needs to provide uprobes.ko in order to support user space probing. Build and install the module on systems that support it. Additionally, split off common bits into systemtap_git.inc. (From OE-Core rev: 3cc4ba935444240b93abdc726342658ada803118) Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb42
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.bb18
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc16
3 files changed, 61 insertions, 15 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
new file mode 100644
index 0000000000..7fa674853b
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
@@ -0,0 +1,42 @@
1DESCRIPTION = "UProbes kernel module for SystemTap"
2
3require systemtap_git.inc
4
5DEPENDS = "systemtap virtual/kernel"
6
7PR = "r0"
8
9# On systems without CONFIG_UTRACE, this package is empty.
10ALLOW_EMPTY_${PN} = 1
11
12inherit module-base gettext
13
14FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
15
16EXTRA_OEMAKE = ""
17
18# Compile and install the uprobes kernel module on machines with utrace
19# support. Note that staprun expects it in the systemtap/runtime directory,
20# not in /lib/modules.
21do_compile() {
22 if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_DIR}/.config
23 then
24 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
25 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
26 AR="${KERNEL_AR}" \
27 -C ${STAGING_KERNEL_DIR} scripts
28 oe_runmake KDIR=${STAGING_KERNEL_DIR} \
29 M="${S}/runtime/uprobes/" \
30 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
31 AR="${KERNEL_AR}" \
32 -C "${S}/runtime/uprobes/"
33 fi
34}
35
36do_install() {
37 if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
38 then
39 install -d ${D}/usr/share/systemtap/runtime/uprobes/
40 install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}/usr/share/systemtap/runtime/uprobes/
41 fi
42}
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index fb3c0efaa2..c4a9d87dfd 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -1,16 +1,12 @@
1DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux" 1DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux"
2LICENSE = "GPLv2" 2
3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 3require systemtap_git.inc
4 4
5DEPENDS = "elfutils sqlite3 systemtap-native" 5DEPENDS = "elfutils sqlite3 systemtap-native"
6DEPENDS_virtclass-native = "elfutils-native sqlite3-native gettext-native" 6DEPENDS_virtclass-native = "elfutils-native sqlite3-native gettext-native"
7DEPENDS_virtclass-nativesdk = "elfutils-nativesdk sqlite3-nativesdk gettext-nativesdk" 7DEPENDS_virtclass-nativesdk = "elfutils-nativesdk sqlite3-nativesdk gettext-nativesdk"
8 8
9SRCREV = "83bd2699d8cff2f2d6b9eaf5ea254e4cb6b33e81" 9PR = "r2"
10PR = "r1"
11PV = "1.7+git${SRCPV}"
12
13SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
14 10
15EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \ 11EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
16 ac_cv_file__usr_include_nss=no \ 12 ac_cv_file__usr_include_nss=no \
@@ -20,14 +16,6 @@ EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
20 ac_cv_file__usr_include_avahi_client=no \ 16 ac_cv_file__usr_include_avahi_client=no \
21 ac_cv_file__usr_include_avahi_common=no " 17 ac_cv_file__usr_include_avahi_common=no "
22 18
23SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
24SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
25
26# systemtap doesn't support mips
27COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
28
29S = "${WORKDIR}/git"
30
31inherit autotools gettext 19inherit autotools gettext
32 20
33BBCLASSEXTEND = "native nativesdk" 21BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
new file mode 100644
index 0000000000..cc250ff791
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -0,0 +1,16 @@
1LICENSE = "GPLv2"
2LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
3
4SRCREV = "83bd2699d8cff2f2d6b9eaf5ea254e4cb6b33e81"
5PV = "1.7+git${SRCPV}"
6
7SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
8
9SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
10SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
11
12# systemtap doesn't support mips
13COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
14
15S = "${WORKDIR}/git"
16