<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/icecc-create-env, branch hardknott</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=hardknott</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=hardknott'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-11-14T13:20:59+00:00</updated>
<entry>
<title>icecc-create-env: Use OE patchelf in SDK</title>
<updated>2019-11-14T13:20:59+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2019-11-13T21:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9582b2cf5b731b837b66051e2fd0ef0dcecb7725'/>
<id>urn:sha1:9582b2cf5b731b837b66051e2fd0ef0dcecb7725</id>
<content type='text'>
The Icecream environment creation script runs when the SDK is installed
and uses patchelf to fix up executables. Rather than rely on the host
system to provided patchelf (which often can be older versions that
produce buggy executables), mark the OE version of patchelf as a
dependency of icecc-create-env when included in the SDK.

(From OE-Core rev: b0293d9734372c90a0b4eec7967b55e0db96102e)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>icecc-create-env: Add extra tools option</title>
<updated>2018-04-13T15:58:07+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-04-11T02:21:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2400cbbfbc130a89fe33ac860eae03f3200767a8'/>
<id>urn:sha1:2400cbbfbc130a89fe33ac860eae03f3200767a8</id>
<content type='text'>
It can often be useful to include additional debugging tools the
toolchain such as strace. Add an option to include an arbitrary path.

(From OE-Core rev: 1fc1e3d59afd292ff8f7c4e1f64324134b73b8f4)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
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>icecc-create-env: Fix library interpreter usage</title>
<updated>2018-04-13T15:58:07+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-04-11T02:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f8ba27d1355535dd9f8835ce8eb68b4032dfe95f'/>
<id>urn:sha1:f8ba27d1355535dd9f8835ce8eb68b4032dfe95f</id>
<content type='text'>
Shared libraries sometimes (frequently?) don't have a program
interpreter specified. The previous code would fail to find the library
dependencies in these cases because no interpreter could be found.
Commonly, this meant that if a library depends on another library, it
might not be included toolchain because dependency scanning stops with
the first one.

Instead, capture the program interpreter from the program or library
that starts the dependency chain and use that interpreter to get all of
the dependencies in the chain, recursively.

Additionally, if no interpreter can be found, fallback to using ldd

(From OE-Core rev: 4f55e61e9e3dd921bd71a127580dc5fc71d7b339)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
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>icecc-create-env: Fix RUNPATH files</title>
<updated>2018-04-13T15:58:07+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-04-11T02:21:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=beb38c111735ff710a9cd3b00ce06548600d0d8b'/>
<id>urn:sha1:beb38c111735ff710a9cd3b00ce06548600d0d8b</id>
<content type='text'>
Some newer libraries and programs use RUNPATH to specify the library
search path. These executables were being skipped by the rpath fixup
code because it was grepping the ELF header for RPATH only. A more
correct solution is to ask patchelf to report the rpath, as that tool
will properly report either RPATH or RUNPATH as appropriate.

(From OE-Core rev: d1e88ad01df9b6419e02f632b1ba288d4cc3b2bf)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
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>icecc-create-env: Allow logging to a file</title>
<updated>2018-04-13T15:58:07+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-04-11T02:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=57ca83dac13c3dbac734fcd8c20fec222c5cb70f'/>
<id>urn:sha1:57ca83dac13c3dbac734fcd8c20fec222c5cb70f</id>
<content type='text'>
Modifies the icecc-create-env script so that it can log output to a log
file. In addition, a --debug flag is added that allows verbose logging.
Finally, the silent flag was removed since it was never used in
icecc.bbclass

(From OE-Core rev: 3d0bd786fd79967cf8754d022044df311dd8ad3e)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
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>icecc-create-env: Allow multiple tool aliases</title>
<updated>2018-02-15T13:28:54+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-02-12T16:52:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f51f28b7b927fde9489e244cb812b562f28bbafa'/>
<id>urn:sha1:f51f28b7b927fde9489e244cb812b562f28bbafa</id>
<content type='text'>
When files are added to the environment, multiple aliases can be given
for the file (by calling add_path multiple times with a second
argument). All of these names will end up with a symlink to the original
file.

(From OE-Core rev: 0a5bbad5810b69fa09dbd8d886e4f368310a5db9)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>icecc-create-env: Add support for nativesdk</title>
<updated>2018-02-15T13:28:54+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-02-12T16:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=15f78b0ff35d743d44fd80aabb8c2f0ec7aa4e73'/>
<id>urn:sha1:15f78b0ff35d743d44fd80aabb8c2f0ec7aa4e73</id>
<content type='text'>
icecc-create-env can now be built as a nativesdk recipe, allowing the
script to be included as part of an SDK

(From OE-Core rev: fa7929ed70ed39a202bd2dc935d460dd57e38ffd)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>icecc-create-env: Fix executable rpaths</title>
<updated>2018-02-15T13:28:54+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-02-12T16:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=971a3c0e2ace38db28f9f07c1f884abb7d6927a9'/>
<id>urn:sha1:971a3c0e2ace38db28f9f07c1f884abb7d6927a9</id>
<content type='text'>
Executables in the toolchain archive occasionally contain runtime
library search paths (RPATH) that use the $ORIGIN placeholder. However,
in order for that placeholder to work, /proc must be mounted. When
iceccd executes the toolchain in the chroot environment, it doesn't
mount /proc, so it is unable to resolve $ORIGIN resulting in a failure
to find dynamic libraries.

The fix is to replace $ORIGIN in executable RPATH entries with the known
chroot executable path. In order for this to work, the actual real path
to the executable must be resolved to remove any symlinks, otherwise the
calculate $ORIGIN replacement will be wrong. This is done by using
"readlink -f", which is an acceptable dependency because Yocto already
requires it.

(From OE-Core rev: cfe98765b40c28a132b5a4bce39f71f06b4eb0bc)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>icecc-create-env: Archive directory</title>
<updated>2018-02-15T13:28:54+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-02-12T16:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8a229332a074c1471e2bf500e357906a9fffeee0'/>
<id>urn:sha1:8a229332a074c1471e2bf500e357906a9fffeee0</id>
<content type='text'>
Taring up the toolchain is now done by adding the entire working
directory, instead of listing all the files individually. This is done
because the list of files may contain ".." entries, which tar does not
like and strips out, resulting in bad archives. This should result in an
identical archive to what was previously generated.

In addition, symbolic links are no longer dereferenced when creating the
archive, as they are purposely included to provide alternate names for
files

(From OE-Core rev: 122d6a5bdcbc494bba0fa2b213d730500f6f7dbc)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>icecc-create-env: Symlink alternate names</title>
<updated>2018-02-15T13:28:54+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2018-02-12T16:52:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=832934efd633de3fa0051bfb30e94b64c885f542'/>
<id>urn:sha1:832934efd633de3fa0051bfb30e94b64c885f542</id>
<content type='text'>
Instead of renaming files to a new path in the toolchain archive, keep
the files with their original paths and create a relative symbolic link
from the new path to the original file.

(From OE-Core rev: 256f8f6cc5b520b59cfdc44aa076f71990e18e2c)

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