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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox