<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/uninative.bbclass, branch morty-next</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=morty-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=morty-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2018-03-15T22:48:00+00:00</updated>
<entry>
<title>uninative: Add compatiblity version check</title>
<updated>2018-03-15T22:48:00+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-03-14T16:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6dc5aa98ce516ef63cc2f7c6c89d7bb99e5effbe'/>
<id>urn:sha1:6dc5aa98ce516ef63cc2f7c6c89d7bb99e5effbe</id>
<content type='text'>
If glibc is newer on the host than in uninative, the failure mode is
pretty nasty for clusters where the sstate is shared, including the Yocto
Project autobuilder.

This check aborts the use of uninative in such scenarios where a newer
glibc version appears and avoids corruption of sstate caches.

We use ldd to check the glibc version since that is included in libc-bin
(or equivalent) which locales use so it should always be present.

(From OE-Core rev: 676d4d91064d4e4f7abb2bd3597a0ddd5b7e2390)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: Handle futex hangs caused by glibc version mismatches</title>
<updated>2017-12-11T21:47:28+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2017-12-08T15:14:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=590ef99df74581e6b7595e545c12594012653de8'/>
<id>urn:sha1:590ef99df74581e6b7595e545c12594012653de8</id>
<content type='text'>
We've been seeing hangs in smart on the autobuilders where it hangs in
pthread futex calls. It appears to happen when some components are
installed from sstate (which use the interpreter from uninative)
and other components are built natively (and use the host's interpreter).

Its primarily affecting software which uses shared memory with futexs in
for locking purposes (which bdb does called from librpm from smart).

This isn't an issue in pyro and rocko and beyond since they use recipe
specific sysroots which included a change to always change to the
uninative interpreter. We could backport those changes but they're
fairly invasive changes to the sstate code. This patch is a more
minimal change which ensures binaries are always using the uninative
interpreter regardless of whether they're built locally or installed
from sstate.

This is only an issue if you're using an sstate mirror and hosts
with a variety of different libc versions. It has only become an issue
on recent libc versions where there was clearly some forwards compatibility
issue introduced.

(From OE-Core rev: 6b149a88cd33c65c7f306f785f4d24ee2909809c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: Parameterise the use of STAGING_DIR</title>
<updated>2017-01-11T17:21:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2016-12-21T14:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6f65543778946334eb9000871f9d42bbd56a45ae'/>
<id>urn:sha1:6f65543778946334eb9000871f9d42bbd56a45ae</id>
<content type='text'>
This means that a user can change TMPDIR in a multiconfig situation
and still only have one path to the uninative setup. Without this change
its not possile to make such a setup work.

(From OE-Core rev: 779422c5458f5f643b3a4a0dedaa4d9ad709367a)

(From OE-Core rev: f50547fb9d70a8ae079380c25e697da3d2c2b181)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: rebuild uninative for gcc 4.8 and 4.9</title>
<updated>2017-01-11T17:21:46+00:00</updated>
<author>
<name>Ed Bartosh</name>
<email>ed.bartosh@linux.intel.com</email>
</author>
<published>2016-12-13T23:55:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8108c477405071ae40710d94a1148be8dacff063'/>
<id>urn:sha1:8108c477405071ae40710d94a1148be8dacff063</id>
<content type='text'>
Some c++ libraries fail to build if uninative is built
with gcc 5.x and host gcc version is either 4.8 or 4.9.

The issue should be solved by making separate uninative sstate
directory structure sstate-cache/universal-&lt;gcc version&gt; for host gcc
versions 4.8 and 4.9. This causes rebuilds of uninative if host gcc
is either 4.8 or 4.9 and it doesn't match gcc version used to build
uninative.

[YOCTO #10441]

(From OE-Core rev: d36f41e5658bbbb6080ee833027879c119edf3e0)

(From OE-Core rev: 3d39ca5c91dbb62fb43199f916bd390cd6212e3d)

Signed-off-by: Ed Bartosh &lt;ed.bartosh@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>conf: add C++ flags for uninative interoperatility</title>
<updated>2017-01-11T17:21:42+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2016-11-22T17:41:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3c9a34aaeaeed3b70015baaca99357b99a3e8411'/>
<id>urn:sha1:3c9a34aaeaeed3b70015baaca99357b99a3e8411</id>
<content type='text'>
Create a common include file for compiler flags which allow native binaries to
be interoperable on a wide range of hosts. In particular the C++ ABI is
problematic so choose the CXX11 version to allow interoperation between gcc4 and
gcc5 based hosts. Moving this to a common include instead of uninative.bbclass
allows uninative to be configured later and used in the eSDK (where its
mandatory) even if the base configuration doesn't enable uninative by default
(e.g. nodistro in OE-Core).

[ YOCTO #10645 ]

(From OE-Core rev: 60c912ae9306532bdd4c5e09a65863ee77c12f43)

(From OE-Core rev: 10dea25aac31c156350e3e73f937472404c22d81)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: Switch md5sum -&gt; sha256</title>
<updated>2016-03-31T08:15:03+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2016-03-30T19:48:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1b2df6e9425523050537ac12372de5d0aa5bb59d'/>
<id>urn:sha1:1b2df6e9425523050537ac12372de5d0aa5bb59d</id>
<content type='text'>
There are various concerns about md5 so use sha256 instead.

(From OE-Core rev: a88603cb2ffd4f995e16349a389902eb884252e5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: don't try to relocate static binaries</title>
<updated>2016-03-26T07:34:58+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2016-03-24T15:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=07f0af3d333b139e958a12d0d0cf52616002f71c'/>
<id>urn:sha1:07f0af3d333b139e958a12d0d0cf52616002f71c</id>
<content type='text'>
patchelf will understandably error out if there isn't a .interp section to
relocate, so don't try to relocate static binaries.

(From OE-Core rev: 2a1803e64174825d9392094ae6e680a1ac96eb4a)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: ensure patchelf errors are visible</title>
<updated>2016-03-26T07:34:58+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2016-03-24T15:43:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=10b6037624b93a4f6fa71cfab8dee2e24d6c3565'/>
<id>urn:sha1:10b6037624b93a4f6fa71cfab8dee2e24d6c3565</id>
<content type='text'>
(From OE-Core rev: 9840bfbe7d860bdb7ad9ac444a82f95510d48c2d)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: Add a fix for icu-native to use the correct ABI</title>
<updated>2016-03-12T22:11:48+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2016-03-12T08:57:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=637b3c82597e5c021170e9e835420f10497e26e0'/>
<id>urn:sha1:637b3c82597e5c021170e9e835420f10497e26e0</id>
<content type='text'>
If no -std= option is passed to icu's configure, it defaults to CXX11.
This isn't what we want for uninative, so pass an explicit option
which selects an older ABI on newer versions of g++.

This avoids the __cxa_bad_array_new_length@CXXABI_1.3.8 symbol
being used.

(From OE-Core rev: ac59063bee0e32d0737340974f657341717a6abe)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uninative: Handle relocate of GCONV_PATH in libc</title>
<updated>2016-03-07T12:41:38+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2016-03-06T10:17:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d27644e2b83a0e436474581b09ebd83317ed6af1'/>
<id>urn:sha1:d27644e2b83a0e436474581b09ebd83317ed6af1</id>
<content type='text'>
uninative hand codes the list of files which need relocation, add the libc
to that list to ensure GCONF_PATH is updated.

(From OE-Core rev: f8a9819a2ef3ebf4b40633e9308b66671aa9af83)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
