From: Wade Farnsworth <wade_farnsworth@mentor.com>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: [PATCH v3 3/3] systemtap: build and install uprobes.ko
Date: Fri, 3 Feb 2012 12:30:21 -0700 [thread overview]
Message-ID: <4F2C35CD.2050303@mentor.com> (raw)
In-Reply-To: <4F2C3541.5000409@mentor.com>
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.
Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
---
.../systemtap/systemtap-uprobes_git.bb | 42 ++++++++++++++++++++
meta/recipes-kernel/systemtap/systemtap_git.bb | 18 +-------
meta/recipes-kernel/systemtap/systemtap_git.inc | 16 +++++++
3 files changed, 61 insertions(+), 15 deletions(-)
create mode 100644 meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
create mode 100644 meta/recipes-kernel/systemtap/systemtap_git.inc
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 0000000..fc0e957
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "UProbes kernel module for SystemTap"
+
+require systemtap_git.inc
+
+DEPENDS = "virtual/gettext systemtap virtual/kernel"
+
+PR = "r0"
+
+# On systems without CONFIG_UTRACE, this package is empty.
+ALLOW_EMPTY_${PN} = 1
+
+inherit module-base
+
+FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
+
+EXTRA_OEMAKE = ""
+
+# Compile and install the uprobes kernel module on machines with utrace
+# support. Note that staprun expects it in the systemtap/runtime directory,
+# not in /lib/modules.
+do_compile() {
+ if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_DIR}/.config
+ then
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}" \
+ -C ${STAGING_KERNEL_DIR} scripts
+ oe_runmake KDIR=${STAGING_KERNEL_DIR} \
+ M="${S}/runtime/uprobes/" \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}" \
+ -C "${S}/runtime/uprobes/"
+ fi
+}
+
+do_install() {
+ if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
+ then
+ install -d ${D}/usr/share/systemtap/runtime/uprobes/
+ install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}/usr/share/systemtap/runtime/uprobes/
+ fi
+}
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index e3caab7..6eef51e 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -1,16 +1,12 @@
DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+require systemtap_git.inc
DEPENDS = "elfutils sqlite3 systemtap-native"
DEPENDS_virtclass-native = "elfutils-native sqlite3-native gettext-native"
DEPENDS_virtclass-nativesdk = "elfutils-nativesdk sqlite3-nativesdk gettext-nativesdk"
-SRCREV = "83bd2699d8cff2f2d6b9eaf5ea254e4cb6b33e81"
-PR = "r4"
-PV = "1.7+git${SRCPV}"
-
-SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
+PR = "r5"
EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
ac_cv_file__usr_include_nss=no \
@@ -20,14 +16,6 @@ EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
ac_cv_file__usr_include_avahi_client=no \
ac_cv_file__usr_include_avahi_common=no "
-SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
-SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
-
-# systemtap doesn't support mips
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
-
-S = "${WORKDIR}/git"
-
inherit autotools gettext
BBCLASSEXTEND = "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 0000000..cc250ff
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -0,0 +1,16 @@
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "83bd2699d8cff2f2d6b9eaf5ea254e4cb6b33e81"
+PV = "1.7+git${SRCPV}"
+
+SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
+
+SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
+SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
+
+# systemtap doesn't support mips
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
+
+S = "${WORKDIR}/git"
+
--
1.7.0.4
next prev parent reply other threads:[~2012-02-03 19:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-24 21:46 [PATCH 0/3] systemtap enhancements Wade Farnsworth
2012-01-24 21:47 ` [PATCH 1/3] Bump systemtap SRCREV Wade Farnsworth
2012-01-24 21:48 ` [PATCH 2/3] systemtap: extend the recipe to build the native package Wade Farnsworth
2012-01-24 21:49 ` [PATCH 3/3] systemtap: build and install uprobes.ko Wade Farnsworth
2012-01-24 23:38 ` Khem Raj
2012-01-26 19:30 ` [PATCH v2 0/3] systemtap enhancements Wade Farnsworth
2012-01-26 19:31 ` [PATCH v2 1/3] Bump systemtap SRCREV Wade Farnsworth
2012-01-26 19:31 ` [PATCH v2 2/3] systemtap: extend the recipe to build the native package Wade Farnsworth
2012-01-27 10:03 ` Richard Purdie
2012-01-26 19:32 ` [PATCH v2 3/3] systemtap: build and install uprobes.ko Wade Farnsworth
2012-01-27 10:05 ` Richard Purdie
2012-02-03 19:28 ` [PATCH v3 0/3] systemtap enhancements Wade Farnsworth
2012-02-03 19:28 ` [PATCH v3 1/3] systemtap: bump SRCREV to grab version 1.7 Wade Farnsworth
2012-02-03 20:31 ` Khem Raj
2012-02-03 19:29 ` [PATCH v3 2/3] systemtap: extend the recipe to build the native package Wade Farnsworth
2012-02-03 19:30 ` Wade Farnsworth [this message]
2012-02-03 20:55 ` [PATCH v3 3/3] systemtap: build and install uprobes.ko Khem Raj
2012-02-06 14:47 ` [PATCH v4 0/3] systemtap enhancements Wade Farnsworth
2012-02-06 14:47 ` [PATCH v4 1/3] systemtap: bump SRCREV to grab version 1.7 Wade Farnsworth
2012-02-08 4:05 ` Saul Wold
2012-02-06 14:48 ` [PATCH v4 2/3] systemtap: extend the recipe to build the native package Wade Farnsworth
2012-02-06 14:49 ` [PATCH v4 3/3] systemtap: build and install uprobes.ko Wade Farnsworth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F2C35CD.2050303@mentor.com \
--to=wade_farnsworth@mentor.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.