All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wade Farnsworth <wade_farnsworth@mentor.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: [PATCH 3/3] systemtap: build and install uprobes.ko
Date: Tue, 24 Jan 2012 14:49:01 -0700	[thread overview]
Message-ID: <4F1F274D.9070509@mentor.com> (raw)
In-Reply-To: <4F1F26C6.8050501@mentor.com>

SystemTap needs to provide uprobes.ko in order to support user space
probing.  Build and install the uprobes.ko on systems where it makes
sense to.

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
---
 meta/recipes-kernel/systemtap/systemtap_git.bb |   57 ++++++++++++++++++++++-
 1 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index 298e005..22f3993 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -2,12 +2,12 @@ DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analy
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-DEPENDS = "elfutils sqlite3 systemtap-native"
+DEPENDS = "elfutils sqlite3 systemtap-native virtual/kernel"
 DEPENDS_virtclass-native = "elfutils sqlite3 gettext-native"
 DEPENDS_virtclass-nativesdk = "elfutils sqlite3 gettext-native"
 
 SRCREV = "a56e4b7800e3fa8f9df6f4434cb02f86f6e995bc"
-PR = "r4"
+PR = "r5"
 PV = "1.6+git${SRCPV}"
 
 SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
@@ -28,8 +28,59 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
 
 S = "${WORKDIR}/git"
 
-inherit autotools gettext
+inherit autotools gettext module-base
 
 BBCLASSEXTEND = "native nativesdk"
 
+FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
 FILES_${PN}-dbg += "${libexecdir}/systemtap/.debug"
+
+# Compile and install the uprobes kernel module.  Note that staprun
+# expects it in the systemtap/runtime directory, not in /lib/modules.
+# Note that we only build uprobes on machines with utrace support.
+do_compile_uprobes() {
+	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_compile_uprobes_virtclass-native() {
+	:
+}
+
+do_compile_uprobes_virtclass-nativesdk() {
+	:
+}
+
+do_compile_append() {
+	do_compile_uprobes
+}
+
+do_install_uprobes() {
+	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
+}
+
+do_install_uprobes_virtclass-native() {
+	:
+}
+
+do_install_uprobes_virtclass-nativesdk() {
+	:
+}
+
+do_install_append() {
+	do_install_uprobes
+}
-- 
1.7.0.4




  parent reply	other threads:[~2012-01-24 21:56 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 ` Wade Farnsworth [this message]
2012-01-24 23:38   ` [PATCH 3/3] systemtap: build and install uprobes.ko 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     ` [PATCH v3 3/3] systemtap: build and install uprobes.ko Wade Farnsworth
2012-02-03 20:55       ` 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=4F1F274D.9070509@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.