From: Patrick Ohly <patrick.ohly@intel.com>
To: OpenEmbedded <openembedded-core@lists.openembedded.org>
Subject: go-cross: incorrect dependency on tune-specific libgcc
Date: Mon, 10 Apr 2017 14:49:18 +0200 [thread overview]
Message-ID: <1491828558.10884.112.camel@intel.com> (raw)
Hello!
I'm currently extending the yocto-compat-layer.py so that it can detect
invalid signature changes when changing MACHINE. go-cross-x86_64 shows
up as broken when comparing signatures for MACHINE=intel-corei7-64 and
MACHINE=qemux86-64.
Both machines share the same go-cross-x86_64, but that DEPENDS on
libgcc:
meta/recipes-devtools/go/go.inc:# libgcc is required for the target specific libraries to build properly
meta/recipes-devtools/go/go.inc:DEPENDS += "go-bootstrap-native libgcc"
And libgcc itself depends on the tune flags for the target architecture
and thus is different for these two machines:
$ bitbake-diffsigs -t go-cross-x86_64 do_prepare_recipe_sysroot -s 563f419e3854c2351e2cbbf33a9025f6 64e378fd9853a6cd6a4e7f684f52d2fc
Hash for dependent task gcc/libgcc_6.3.bb.do_populate_sysroot changed from afb6b55c0e2b7d2e816b3d2d214a7326 to 208fac5ae428b07a4aa491b130879e4a
Hash for dependent task gcc/libgcc_6.3.bb.do_multilib_install changed from 596e1612d7b84b7a9c1b409ee78cca89 to d41e2e835d0abe7646e53e3d63ce00cd
Hash for dependent task gcc/libgcc_6.3.bb.do_install changed from 9ca4126c69fcceb410253a0603c3d76b to cb0c49687a91ea17f1027c6394baacab
Hash for dependent task gcc/libgcc_6.3.bb.do_compile changed from ab80902424c73af49257cc3f6fe049aa to 436f978a703476968bd5ae1c1915ee5a
Hash for dependent task gcc/libgcc_6.3.bb.do_configure changed from eb0c36d87f32ce1ceb7d1e42609578fb to f62c98806faf3a28c2144919b89d3460
Hash for dependent task gcc/libgcc_6.3.bb.do_prepare_recipe_sysroot changed from b037b950e346bef71a4f8fd2c6a2195c to d4564b5730941279392932e3c670a5a5
Hash for dependent task gcc/libgcc_6.3.bb.do_fetch changed from e64cd9e029ed63ba3a09e5fe085b7057 to ea4d3f9d10544219ceb8591d5a5a4041
basehash changed from 8744593af2eddb60244788f2b9476e2d to dabeb22478ef501e35311af75119a2cf
Variable TUNE_CCARGS value changed:
" -m64 [--march=corei7 -mtune=corei7-] {+-march=core2 -mtune=core2 -msse3+} -mfpmath=sse [--msse4.2-]"
Does this fix look correct? It turns go-cross into a package that is
specific to the tune flags for the target. That fixes the signature
check, and go-helloworld for both machines still builds okay (haven't
tested anything else):
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index 85f71a2e9a6..ac41c80d377 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -26,7 +26,7 @@ export CGO_CPPFLAGS = "${TARGET_CPPFLAGS}"
export CGO_CXXFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_CXXFLAGS}"
export CGO_LDFLAGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS} ${TARGET_LDFLAGS}"
-DEPENDS += "go-cross-${TARGET_ARCH}"
+DEPENDS += "go-cross-${TUNE_PKGARCH}"
DEPENDS_class-native += "go-native"
FILES_${PN}-staticdev += "${GOSRC_FINAL}/${GO_IMPORT}"
diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc
index 68f5efd6c09..83015b49a99 100644
--- a/meta/recipes-devtools/go/go-cross.inc
+++ b/meta/recipes-devtools/go/go-cross.inc
@@ -2,7 +2,7 @@ inherit cross
DEPENDS += "gcc-cross-${TARGET_ARCH}"
-PN = "go-cross-${TARGET_ARCH}"
+PN = "go-cross-${TUNE_PKGARCH}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/go-cross:"
The alternative would be to drop the libgcc dependency, but I have no
idea whether that would work at all.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
next reply other threads:[~2017-04-10 12:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-10 12:49 Patrick Ohly [this message]
2017-04-10 12:59 ` go-cross: incorrect dependency on tune-specific libgcc Bruce Ashfield
2017-04-10 13:09 ` Patrick Ohly
2017-04-10 13:16 ` Bruce Ashfield
2017-04-10 14:44 ` Patrick Ohly
2017-04-11 16:34 ` Patrick Ohly
2017-04-11 16:39 ` Khem Raj
2017-04-11 16:52 ` Patrick Ohly
2017-04-11 17:01 ` Khem Raj
2017-04-11 18:26 ` Patrick Ohly
2017-04-11 16:57 ` Richard Purdie
2017-04-11 18:22 ` Khem Raj
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=1491828558.10884.112.camel@intel.com \
--to=patrick.ohly@intel.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.