[OE-core] [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment vars

Stephen Arnold stephen.arnold42 at gmail.com
Sun Jun 19 22:32:27 UTC 2016


Following this:

http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

and it still strips my " v3" from PATCH.  Is there another
document/prefix format I should be looking at?

Thanks, Steve

On Sun, Jun 19, 2016 at 12:40 PM, Stephen Arnold <sarnold at vctlabs.com> wrote:
> 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.
>
> Signed-off-by: Stephen Arnold <sarnold at vctlabs.com>
>
> The cflags patch was imported from Gentoo Portage and has been
> manitained over several versions; this version was rebased against
> upstream qemu git.
>
> Upstream-Status: Inappropriate
>  - Patch addresses distribution maintenance and build environment
>    sanity.
>
> Signed-off-by: Stephen Arnold <nerdboy at gentoo.org>
> ---
>  meta/recipes-devtools/qemu/qemu.inc                | 13 +++++++--
>  .../qemu/qemu/qemu-2.6.0-cflags.patch              | 31 ++++++++++++++++++++++
>  meta/recipes-devtools/qemu/qemu_2.6.0.bb           |  1 +
>  3 files changed, 43 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/qemu/qemu/qemu-2.6.0-cflags.patch
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
> index bf689bb..d5925fd 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -30,8 +30,12 @@ SRC_URI_append_class-native = "\
>
>  EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror  --disable-bluez --disable-libiscsi --with-system-pixman --extra-cflags='${CFLAGS}'"
>
> -EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror \
> -                               "
> +EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror"
> +
> +EXTRA_OEMAKE_append_class-native = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
> +
> +LDFLAGS_append_class-native = " -fuse-ld=bfd"
> +
>  export LIBTOOL="${HOST_SYS}-libtool"
>
>  do_configure_prepend_class-native() {
> @@ -40,6 +44,11 @@ do_configure_prepend_class-native() {
>         if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then
>                 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH
>         fi
> +
> +       # Alter target makefiles to accept CFLAGS set via env
> +       sed -i -r \
> +               -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
> +               "${S}"/Makefile "${S}"/Makefile.target
>  }
>
>  KVMENABLE = "--enable-kvm"
> diff --git a/meta/recipes-devtools/qemu/qemu/qemu-2.6.0-cflags.patch b/meta/recipes-devtools/qemu/qemu/qemu-2.6.0-cflags.patch
> new file mode 100644
> index 0000000..5b78edf
> --- /dev/null
> +++ b/meta/recipes-devtools/qemu/qemu/qemu-2.6.0-cflags.patch
> @@ -0,0 +1,31 @@
> +From 5d29baaf7a8c09f2f97231116e0f396b0402b23d Mon Sep 17 00:00:00 2001
> +From: Steve Arnold <stephen.arnold42 at gmail.com>
> +Date: Sun, 19 Jun 2016 11:29:44 -0700
> +Subject: [PATCH] configure: remove hard-coded flags and let build env handle
> + it
> +
> +Apply distribution patch for handling debug and fortify source options.
> +
> +Signed-off-by: Steve Arnold <nerdboy at gentoo.org>
> +---
> + configure | 4 ----
> + 1 file changed, 4 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 10cb212..6f1b10c 100755
> +--- a/configure
> ++++ b/configure
> +@@ -4539,10 +4539,6 @@ fi
> + if test "$gcov" = "yes" ; then
> +   CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
> +   LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
> +-elif test "$fortify_source" = "yes" ; then
> +-  CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
> +-elif test "$debug" = "no"; then
> +-  CFLAGS="-O2 $CFLAGS"
> + fi
> +
> + ##########################################
> +--
> +2.8.1
> +
> diff --git a/meta/recipes-devtools/qemu/qemu_2.6.0.bb b/meta/recipes-devtools/qemu/qemu_2.6.0.bb
> index e391326..62c509b 100644
> --- a/meta/recipes-devtools/qemu/qemu_2.6.0.bb
> +++ b/meta/recipes-devtools/qemu/qemu_2.6.0.bb
> @@ -8,6 +8,7 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
>              file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
>              file://no-valgrind.patch \
>              file://pathlimit.patch \
> +            file://qemu-2.5.0-cflags.patch \
>             "
>  SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
>  SRC_URI[md5sum] = "ca3f70b43f093e33e9e014f144067f13"
> --
> 2.8.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list