<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 10, 2017 at 8:49 AM, Patrick Ohly <span dir="ltr">&lt;<a href="mailto:patrick.ohly@intel.com" target="_blank">patrick.ohly@intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
I&#39;m currently extending the yocto-compat-layer.py so that it can detect<br>
invalid signature changes when changing MACHINE. go-cross-x86_64 shows<br>
up as broken when comparing signatures for MACHINE=intel-corei7-64 and<br>
MACHINE=qemux86-64.<br>
<br>
Both machines share the same go-cross-x86_64, but that DEPENDS on<br>
libgcc:<br>
<br>
meta/recipes-devtools/go/go.<wbr>inc:# libgcc is required for the target specific libraries to build properly<br>
meta/recipes-devtools/go/go.<wbr>inc:DEPENDS += &quot;go-bootstrap-native libgcc&quot;<br>
<br>
And libgcc itself depends on the tune flags for the target architecture<br>
and thus is different for these two machines:<br>
<br>
$ bitbake-diffsigs -t go-cross-x86_64 do_prepare_recipe_sysroot -s 563f419e3854c2351e2cbbf33a9025<wbr>f6 64e378fd9853a6cd6a4e7f684f52d2<wbr>fc<br>
Hash for dependent task gcc/libgcc_6.3.bb.do_populate_<wbr>sysroot changed from afb6b55c0e2b7d2e816b3d2d214a73<wbr>26 to 208fac5ae428b07a4aa491b130879e<wbr>4a<br>
  Hash for dependent task gcc/libgcc_6.3.bb.do_multilib_<wbr>install changed from 596e1612d7b84b7a9c1b409ee78cca<wbr>89 to d41e2e835d0abe7646e53e3d63ce00<wbr>cd<br>
    Hash for dependent task gcc/libgcc_6.3.bb.do_install changed from 9ca4126c69fcceb410253a0603c3d7<wbr>6b to cb0c49687a91ea17f1027c6394baac<wbr>ab<br>
      Hash for dependent task gcc/libgcc_6.3.bb.do_compile changed from ab80902424c73af49257cc3f6fe049<wbr>aa to 436f978a703476968bd5ae1c1915ee<wbr>5a<br>
        Hash for dependent task gcc/libgcc_6.3.bb.do_configure changed from eb0c36d87f32ce1ceb7d1e42609578<wbr>fb to f62c98806faf3a28c2144919b89d34<wbr>60<br>
          Hash for dependent task gcc/libgcc_6.3.bb.do_prepare_<wbr>recipe_sysroot changed from b037b950e346bef71a4f8fd2c6a219<wbr>5c to d4564b5730941279392932e3c670a5<wbr>a5<br>
            Hash for dependent task gcc/libgcc_6.3.bb.do_fetch changed from e64cd9e029ed63ba3a09e5fe085b70<wbr>57 to ea4d3f9d10544219ceb8591d5a5a40<wbr>41<br>
              basehash changed from 8744593af2eddb60244788f2b9476e<wbr>2d to dabeb22478ef501e35311af75119a2<wbr>cf<br>
              Variable TUNE_CCARGS value changed:<br>
              &quot; -m64 [--march=corei7 -mtune=corei7-] {+-march=core2 -mtune=core2 -msse3+} -mfpmath=sse [--msse4.2-]&quot;<br>
<br>
Does this fix look correct? It turns go-cross into a package that is<br>
specific to the tune flags for the target. That fixes the signature<br>
check, and go-helloworld for both machines still builds okay (haven&#39;t<br>
tested anything else):<br>
<br>
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass<br>
index 85f71a2e9a6..ac41c80d377 100644<br>
--- a/meta/classes/go.bbclass<br>
+++ b/meta/classes/go.bbclass<br>
@@ -26,7 +26,7 @@ export CGO_CPPFLAGS = &quot;${TARGET_CPPFLAGS}&quot;<br>
 export CGO_CXXFLAGS = &quot;${TARGET_CC_ARCH}${TOOLCHAIN_<wbr>OPTIONS} ${TARGET_CXXFLAGS}&quot;<br>
 export CGO_LDFLAGS = &quot;${TARGET_CC_ARCH}${TOOLCHAIN_<wbr>OPTIONS} ${TARGET_LDFLAGS}&quot;<br>
<br>
-DEPENDS += &quot;go-cross-${TARGET_ARCH}&quot;<br>
+DEPENDS += &quot;go-cross-${TUNE_PKGARCH}&quot;<br>
 DEPENDS_class-native += &quot;go-native&quot;<br>
<br>
 FILES_${PN}-staticdev += &quot;${GOSRC_FINAL}/${GO_IMPORT}&quot;<br>
diff --git a/meta/recipes-devtools/go/go-<wbr>cross.inc b/meta/recipes-devtools/go/go-<wbr>cross.inc<br>
index 68f5efd6c09..83015b49a99 100644<br>
--- a/meta/recipes-devtools/go/go-<wbr>cross.inc<br>
+++ b/meta/recipes-devtools/go/go-<wbr>cross.inc<br>
@@ -2,7 +2,7 @@ inherit cross<br>
<br>
 DEPENDS += &quot;gcc-cross-${TARGET_ARCH}&quot;<br>
<br>
-PN = &quot;go-cross-${TARGET_ARCH}&quot;<br>
+PN = &quot;go-cross-${TUNE_PKGARCH}&quot;<br></blockquote><div><br><br></div><div>This requires any layers with existing DEPENDS on go-cross-${TARGET} to be updated, so<br></div><div>if it is correct .. it would be best to get it in sooner rather than later, and have some way to <br></div><div>notify when it is actually merged.<br><br></div><div>Bruce<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 FILESEXTRAPATHS =. &quot;${FILE_DIRNAME}/go-cross:&quot;<br>
<br>
The alternative would be to drop the libgcc dependency, but I have no<br>
idea whether that would work at all.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best Regards, Patrick Ohly<br>
<br>
The content of this message is my personal opinion only and although<br>
I am an employee of Intel, the statements I make here in no way<br>
represent Intel&#39;s position on the issue, nor am I authorized to speak<br>
on behalf of Intel on this matter.<br>
<br>
<br>
<br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">&quot;Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end&quot;</div>
</div></div>