Same issue on CentOS 6.7. Older gcc does not support -fuse-ld=bfd. -Ting
> -----Original Message----- > From: openembedded-core-boun...@lists.openembedded.org > [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf > Of Robert Yang > Sent: Thursday, June 23, 2016 3:55 PM > To: Stephen Arnold <stephen.arnol...@gmail.com>; Patches and > discussions about the oe-core layer <openembedded- > c...@lists.openembedded.org> > Subject: Re: [OE-core] [PATCH v4] qemu-native: set ld.bfd, fix cflags, and set > some environment vars > > > Hi, I got build errors on Ubuntu 12.04 with this patch: > > | DEBUG: Executing shell function do_configure > | > | ERROR: "gcc " cannot build an executable (is your linker broken?) > > > // Robert > > On 06/21/2016 09:18 AM, Stephen Arnold wrote: > > And I finally figured out git send-email no longer has a > > --subject-prefix= option so it looks like --compose and hand-edit the > > Subject line in the patch is the only way to increment the version. > > > > This is [PATCH v4] btw... > > > > Steve > > > > On Mon, Jun 20, 2016 at 5:54 PM, Stephen Arnold <sarn...@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 <sarn...@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 <nerd...@gentoo.org> > >> --- > >> meta/recipes-devtools/qemu/qemu.inc | 11 ++++++-- > >> .../qemu/qemu/qemu-2.6.0-cflags.patch | 31 > ++++++++++++++++++++++ > >> meta/recipes-devtools/qemu/qemu_2.6.0.bb | 1 + > >> 3 files changed, 41 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..0a68f05 100644 > >> --- a/meta/recipes-devtools/qemu/qemu.inc > >> +++ b/meta/recipes-devtools/qemu/qemu.inc > >> @@ -30,8 +30,10 @@ 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="${TARGET_PREFIX}ld.bfd" AR="${AR}" OBJCOPY="${OBJCOPY}" > LDFLAGS="${LDFLAGS}"" > >> + > >> export LIBTOOL="${HOST_SYS}-libtool" > >> > >> do_configure_prepend_class-native() { @@ -40,6 +42,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.arnol...@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 <nerd...@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@lists.openembedded.org > >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core