<p dir="ltr">Seems fine</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Sep 28, 2016 8:00 AM, "Richard Purdie" <<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Arm is unusual in that we force it to "linux-gnueabi" and "linux" doesn't<br>
build. This was causing problems for multilib configurations which were assuming<br>
"linux" was the default compiler rather than linux-gnueabi.<br>
<br>
This change does two things, ensures symlinks are generated for linux-gnueabi<br>
and also adapts the libgcc code to account for the difference on arm.<br>
<br>
It still needs to immediately expand/save TARGET_VENDOR but we defer<br>
deciding what TARGET_OS should be until we know TARGET_ARCH (which the<br>
multilib code may change).<br>
<br>
[YOCTO #8642]<br>
<br>
Note that sanity tests of a 32 bit arm multilib still break due to issues<br>
with the kernel headers on a mixed bit system. This looks to be a general<br>
headers issue for the platform though and a different type of bug.<br>
<br>
Signed-off-by: Richard Purdie <<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@<wbr>linuxfoundation.org</a>><br>
<br>
diff --git a/meta/classes/cross-canadian.<wbr>bbclass b/meta/classes/cross-canadian.<wbr>bbclass<br>
index 099c0da..21921b3 100644<br>
--- a/meta/classes/cross-canadian.<wbr>bbclass<br>
+++ b/meta/classes/cross-canadian.<wbr>bbclass<br>
@@ -80,7 +80,7 @@ python () {<br>
for extraos in d.getVar("BASECANADIANEXTRAOS"<wbr>, True).split():<br>
d.appendVar("<wbr>CANADIANEXTRAOS", " " + extraos + "n32")<br>
if tarch == "arm" or tarch == "armeb":<br>
- d.appendVar("<wbr>CANADIANEXTRAOS", " linux-musleabi linux-uclibceabi")<br>
+ d.appendVar("<wbr>CANADIANEXTRAOS", " linux-gnueabi linux-musleabi linux-uclibceabi")<br>
d.setVar("TARGET_OS", "linux-gnueabi")<br>
else:<br>
d.setVar("TARGET_OS", "linux")<br>
diff --git a/meta/recipes-devtools/gcc/<wbr>libgcc-common.inc b/meta/recipes-devtools/gcc/<wbr>libgcc-common.inc<br>
index 4e4f0fd..1549eb4 100644<br>
--- a/meta/recipes-devtools/gcc/<wbr>libgcc-common.inc<br>
+++ b/meta/recipes-devtools/gcc/<wbr>libgcc-common.inc<br>
@@ -123,15 +123,18 @@ fakeroot python do_multilib_install() {<br>
os.symlink(src, dest)<br>
}<br>
<br>
-def get_original_vendoros(d):<br>
- vendoros = d.expand('${TARGET_VENDOR}-${<wbr>TARGET_OS}')<br>
+def get_original_os(d):<br>
+ vendoros = d.expand('${TARGET_ARCH}${<wbr>ORIG_TARGET_VENDOR}-${TARGET_<wbr>OS}')<br>
for suffix in [d.getVar('ABIEXTENSION', True), d.getVar('LIBCEXTENSION', True)]:<br>
if suffix and vendoros.endswith(suffix):<br>
vendoros = vendoros[:-len(suffix)]<br>
+ # Arm must use linux-gnueabi not linux as only the former is accepted by gcc<br>
+ if vendoros.startswith("arm-") and not vendoros.endswith("-gnueabi"):<br>
+ vendoros = vendoros + "-gnueabi"<br>
return vendoros<br>
<br>
-ORIG_TARGET_VENDOROS := "${@get_original_vendoros(d)}"<br>
-BASETARGET_SYS = "${TARGET_ARCH}${ORIG_TARGET_<wbr>VENDOROS}"<br>
+ORIG_TARGET_VENDOR := "${TARGET_VENDOR}"<br>
+BASETARGET_SYS = "${@get_original_os(d)}"<br>
<br>
addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot<br>
fakeroot python do_extra_symlinks() {<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>
</blockquote></div></div>