Patchwork [1/2] systemtap: fix docproc build error

login
register
mail settings
Submitter Tom Zanussi
Date April 13, 2012, 7:56 p.m.
Message ID <e1cc1d55074d9755f1e7e20a3b07718b40cb9515.1334346682.git.tom.zanussi@intel.com>
Download mbox | patch
Permalink /patch/25767/
State Accepted
Commit 6ef7112e339bb5c03dee862bc56c10fdf677be78
Headers show

Comments

Tom Zanussi - April 13, 2012, 7:56 p.m.
From: Tom Zanussi <tom.zanussi@intel.com>

When building docs in systemtap, docproc is used to generate the
tapset documentation, but it gets built for the target, while it needs
to be build for the host instead.  This change causes that to happen.

Fixes [YOCTO #2193].

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 .../systemtap/systemtap/docproc-build-fix.patch    |   19 +++++++++++++++++++
 meta/recipes-kernel/systemtap/systemtap_git.bb     |    6 +++++-
 meta/recipes-kernel/systemtap/systemtap_git.inc    |    4 +++-
 3 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/systemtap/systemtap/docproc-build-fix.patch
Richard Purdie - April 14, 2012, 1:39 p.m.
On Fri, 2012-04-13 at 14:56 -0500, tom.zanussi@intel.com wrote:
> From: Tom Zanussi <tom.zanussi@intel.com>
> 
> When building docs in systemtap, docproc is used to generate the
> tapset documentation, but it gets built for the target, while it needs
> to be build for the host instead.  This change causes that to happen.
> 
> Fixes [YOCTO #2193].
> 
> Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> ---
>  .../systemtap/systemtap/docproc-build-fix.patch    |   19 +++++++++++++++++++
>  meta/recipes-kernel/systemtap/systemtap_git.bb     |    6 +++++-
>  meta/recipes-kernel/systemtap/systemtap_git.inc    |    4 +++-
>  3 files changed, 27 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-kernel/systemtap/systemtap/docproc-build-fix.patch

This broke systemtap-uprobes. I've pushed a fix:

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=45da10943965193fd2d14b756b95e6f0f4ae9029

Cheers,

Richard

Patch

diff --git a/meta/recipes-kernel/systemtap/systemtap/docproc-build-fix.patch b/meta/recipes-kernel/systemtap/systemtap/docproc-build-fix.patch
new file mode 100644
index 0000000..33a8994
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/docproc-build-fix.patch
@@ -0,0 +1,19 @@ 
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
+
+Index: git/doc/SystemTap_Tapset_Reference/Makefile.am
+===================================================================
+--- git.orig/doc/SystemTap_Tapset_Reference/Makefile.am	2012-04-13 08:43:46.263339003 -0500
++++ git/doc/SystemTap_Tapset_Reference/Makefile.am	2012-04-13 09:31:22.470083915 -0500
+@@ -27,6 +27,10 @@
+ noinst_PROGRAMS = docproc
+ SRCTREE=$(abs_top_srcdir)/
+ DOCPROC=$(abs_builddir)/docproc
++docproc_LINK = $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@
++
++docproc.o: $(srcdir)/docproc.c
++	$(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/docproc.c
+ 
+ all: $(PDFDOCS) stamp-htmldocs stamp-mandocs
+ tapsets.xml: docproc $(shell find $(SRCTREE)/tapset -name '*.stp')
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index c4a9d87..1d2c9f3 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -6,7 +6,11 @@  DEPENDS = "elfutils sqlite3 systemtap-native"
 DEPENDS_virtclass-native = "elfutils-native sqlite3-native gettext-native"
 DEPENDS_virtclass-nativesdk = "elfutils-nativesdk sqlite3-nativesdk gettext-nativesdk"
 
-PR = "r2"
+PR = "r3"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS}"
 
 EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
 	     ac_cv_file__usr_include_nss=no \
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index cc250ff..c4d6e34 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -4,7 +4,9 @@  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 = "git://sources.redhat.com/git/systemtap.git;protocol=git \
+           file://docproc-build-fix.patch \
+          "
 
 SRC_URI[md5sum]    = "cb202866ed704c44a876d041f788bdee"
 SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"