summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Arnold <sarnold@vctlabs.com>2016-06-12 18:09:56 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-06-15 18:05:21 +0100
commit44ab979c4d7d5bc09df6fe920d5a171d281fa600 (patch)
treeb7ecda874d12ebce545d8e4ad97e2a6222306ae2
parent8f9f48a29a8478dce203b7b0e439ef5303b05475 (diff)
downloadpoky-44ab979c4d7d5bc09df6fe920d5a171d281fa600.tar.gz
qemu-native: set ld.bfd, fix cflags, and set some environment vars
The main thing is build failures with gold linker, but qemu is also a little too aggressive at finding random tools on the build host, so we also set the build env for qemu-native and make sure it doesn't reset its own (hard-coded) cflags when we don't want it to. (From OE-Core rev: 862c9cbbef1f17b57c0ea369d88194b60623ffdd) Signed-off-by: Stephen Arnold <sarnold@vctlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc13
-rw-r--r--meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch13
-rw-r--r--meta/recipes-devtools/qemu/qemu_2.6.0.bb4
3 files changed, 27 insertions, 3 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index bf689bbf43..d5925fd575 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -30,8 +30,12 @@ SRC_URI_append_class-native = "\
30 30
31EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-bluez --disable-libiscsi --with-system-pixman --extra-cflags='${CFLAGS}'" 31EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-bluez --disable-libiscsi --with-system-pixman --extra-cflags='${CFLAGS}'"
32 32
33EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror \ 33EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror"
34 " 34
35EXTRA_OEMAKE_append_class-native = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
36
37LDFLAGS_append_class-native = " -fuse-ld=bfd"
38
35export LIBTOOL="${HOST_SYS}-libtool" 39export LIBTOOL="${HOST_SYS}-libtool"
36 40
37do_configure_prepend_class-native() { 41do_configure_prepend_class-native() {
@@ -40,6 +44,11 @@ do_configure_prepend_class-native() {
40 if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then 44 if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
41 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH 45 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
42 fi 46 fi
47
48 # Alter target makefiles to accept CFLAGS set via env
49 sed -i -r \
50 -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
51 "${S}"/Makefile "${S}"/Makefile.target
43} 52}
44 53
45KVMENABLE = "--enable-kvm" 54KVMENABLE = "--enable-kvm"
diff --git a/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch b/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch
new file mode 100644
index 0000000000..173394fd02
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch
@@ -0,0 +1,13 @@
1--- a/configure
2+++ b/configure
3@@ -4468,10 +4468,6 @@ fi
4 if test "$gcov" = "yes" ; then
5 CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
6 LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
7-elif test "$fortify_source" = "yes" ; then
8- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
9-elif test "$debug" = "no"; then
10- CFLAGS="-O2 $CFLAGS"
11 fi
12
13 ##########################################
diff --git a/meta/recipes-devtools/qemu/qemu_2.6.0.bb b/meta/recipes-devtools/qemu/qemu_2.6.0.bb
index e39132625a..735d013e3b 100644
--- a/meta/recipes-devtools/qemu/qemu_2.6.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_2.6.0.bb
@@ -8,7 +8,9 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
8 file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ 8 file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
9 file://no-valgrind.patch \ 9 file://no-valgrind.patch \
10 file://pathlimit.patch \ 10 file://pathlimit.patch \
11 " 11 file://qemu-2.5.0-cflags.patch \
12"
13
12SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" 14SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
13SRC_URI[md5sum] = "ca3f70b43f093e33e9e014f144067f13" 15SRC_URI[md5sum] = "ca3f70b43f093e33e9e014f144067f13"
14SRC_URI[sha256sum] = "c9ac4a651b273233d21b8bec32e30507cb9cce7900841febc330956a1a8434ec" 16SRC_URI[sha256sum] = "c9ac4a651b273233d21b8bec32e30507cb9cce7900841febc330956a1a8434ec"