<feed xmlns='http://www.w3.org/2005/Atom'>
<title>buildroot/package/ccache, branch 2017.02</title>
<subtitle>OpenPOWER buildroot sources</subtitle>
<id>https://git.raptorcs.com/git/buildroot/atom?h=2017.02</id>
<link rel='self' href='https://git.raptorcs.com/git/buildroot/atom?h=2017.02'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/'/>
<updated>2017-01-27T08:57:23+00:00</updated>
<entry>
<title>ccache: Patch to fix toolchain-wrapper's --sysroot</title>
<updated>2017-01-27T08:57:23+00:00</updated>
<author>
<name>Brandon Maier</name>
<email>brandon.maier@rockwellcollins.com</email>
</author>
<published>2016-12-22T14:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=da8584d2ae46059a05d16dc91d616e12afb67044'/>
<id>urn:sha1:da8584d2ae46059a05d16dc91d616e12afb67044</id>
<content type='text'>
ccache doesn't rewrite the --sysroot base_dir from toolchain-wrapper
correctly. Resulting in a large number of cache misses when building
from different base directories.

A fix has already been accepted to the ccache upstream[1], but won't be
released until ccache 3.4. (Was noted as an improvement, so unsure
of the 3.4 release timing)

[1] https://github.com/ccache/ccache/pull/132

Signed-off-by: Brandon Maier &lt;brandon.maier@rockwellcollins.com&gt;
Signed-off-by: Matt Weber &lt;matthew.weber@rockwellcollins.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>package/ccache: bump to version 3.3.3</title>
<updated>2016-11-08T08:37:16+00:00</updated>
<author>
<name>Jörg Krause</name>
<email>joerg.krause@embedded.rocks</email>
</author>
<published>2016-11-07T23:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=2befc2c736ae175ed6bad34aae42806b1de0df49'/>
<id>urn:sha1:2befc2c736ae175ed6bad34aae42806b1de0df49</id>
<content type='text'>
Note, that version 3.3.3 of ccache fixes a bug [1] where the Linux
kernel image is the same even after changing the source code and
rebuilding it.

[1] https://github.com/ccache/ccache/issues/136

Signed-off-by: Jörg Krause &lt;joerg.krause@embedded.rocks&gt;
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.3.2</title>
<updated>2016-10-05T07:53:01+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo@zacarias.com.ar</email>
</author>
<published>2016-10-05T00:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=b28f867c06c2494c23d7fcd49a24d348767c1936'/>
<id>urn:sha1:b28f867c06c2494c23d7fcd49a24d348767c1936</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo@zacarias.com.ar&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.3.1</title>
<updated>2016-09-15T09:55:54+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo@zacarias.com.ar</email>
</author>
<published>2016-09-15T00:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=b644b9c35b7933d59cc52f993cce5391b3d04376'/>
<id>urn:sha1:b644b9c35b7933d59cc52f993cce5391b3d04376</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo@zacarias.com.ar&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.3</title>
<updated>2016-08-29T21:21:22+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo@zacarias.com.ar</email>
</author>
<published>2016-08-29T16:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=ca6811fe84477c15255a2f3b8c9c31c0337591a1'/>
<id>urn:sha1:ca6811fe84477c15255a2f3b8c9c31c0337591a1</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo@zacarias.com.ar&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.2.5</title>
<updated>2016-04-19T19:16:58+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo@zacarias.com.ar</email>
</author>
<published>2016-04-19T16:00:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=a3479d9fa587ec97db1f3d944bf6ef243a5abdcb'/>
<id>urn:sha1:a3479d9fa587ec97db1f3d944bf6ef243a5abdcb</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo@zacarias.com.ar&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.2.4</title>
<updated>2015-10-31T08:47:14+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo.zacarias@free-electrons.com</email>
</author>
<published>2015-10-29T18:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=e0ef9c13eba6620025d0fcd76b0516b295d67422'/>
<id>urn:sha1:e0ef9c13eba6620025d0fcd76b0516b295d67422</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo.zacarias@free-electrons.com&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>ccache: bump to version 3.2.3</title>
<updated>2015-10-07T10:31:36+00:00</updated>
<author>
<name>Gustavo Zacarias</name>
<email>gustavo@zacarias.com.ar</email>
</author>
<published>2015-10-06T16:38:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=6ef65bb8ae1585ffd899b3264214132535fa99bf'/>
<id>urn:sha1:6ef65bb8ae1585ffd899b3264214132535fa99bf</id>
<content type='text'>
Signed-off-by: Gustavo Zacarias &lt;gustavo@zacarias.com.ar&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>ccache: use mtime for external toolchain, CONF_OPTS for internal toolchain</title>
<updated>2015-10-04T16:22:21+00:00</updated>
<author>
<name>Arnout Vandecappelle</name>
<email>arnout@mind.be</email>
</author>
<published>2015-10-04T15:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=f4682cf933a3e0e1017aa8827a8c57fdd79e30f3'/>
<id>urn:sha1:f4682cf933a3e0e1017aa8827a8c57fdd79e30f3</id>
<content type='text'>
Our current ccache disables hashing of the compiler executable itself,
because using the default 'mtime' doesn't work in buildroot: we always
rebuild the compiler, so the mtime is always different, so the cache
always misses.

However, in the current situation, if a user changes the compiler
configuration (which would result in the compiler generating different
object files than before) and does 'make clean all', ccache may in fact
reuse object files from the previous run. This rarely gives problems,
because
(1) the cache expires quite quickly (it's only 1GB by default),
(2) radically changing compiler options will cause cache misses because
    different header files are used,
(3) many compiler changes (e.g. changing -mtune) have little practical
    effect because the resulting code is usually still compatible,
(4) we currently don't use CCACHE_BASEDIR, and almost all object files
    will contain an absolute path (e.g. in debug info), so when
    building in a different directory, most of it will miss,
(5) we do mostly build test, and many of the potential problems only
    appear at runtime.
Still, when ccache _does_ use the wrong cached object files, the
effects are really weird and hard to debug. Also, we want reproducible
builds and obviously the above makes builds non-reproducible. So we
have a FAQ entry that warns against using ccache and tells the user to
clear the cache in case of problems.

Now that ccache is called from the toolchain wrapper, it is in fact
possible to at least use the 'mtime' compiler hash for the external
toolchain and for the host-gcc. Indeed, in this case, the compiler
executable comes from a tarball so the mtime will be a good reference
for its state. Therefore, the patch (sed script) that changes the
default from 'mtime' to 'none' is removed.

For the internal toolchain, we can do better by providing a hash of
the relevant toolchain options. We are only interested in things that
affect the compiler itself, because ccache also processes the header
files and it doesn't look at libraries because it doesn't cache the
link step, just compilation. Everything that affects the compiler
itself can nicely be summarised in $(HOST_GCC_FINAL_CONF_OPTS). Of
course, also the compiler source itself is relevant, so the source
tarball and all the patches are included in the hash. For this purpose,
a new HOST_GCC_XTENSA_OVERLAY_TAR is introduced.

The following procedure tests the ccache behaviour:

 Use this defconfig:
BR2_arm=y
BR2_CCACHE=y

 make
 readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os
-&gt; Tag_CPU_name: "ARM926EJ-S"

 Now make menuconfig, change variant into BR2_cortex_a9

 make clean; make
 readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os
-&gt; Tag_CPU_name: "ARM926EJ-S"
 should be "Cortex-A9"

After this commit, it is "Cortex-A9".

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Cc: Danomi Manchego &lt;danomimanchego123@gmail.com&gt;
Cc: Károly Kasza &lt;kaszak@gmail.com&gt;
Cc: Samuel Martin &lt;s.martin49@gmail.com&gt;
Cc: Romain Naour &lt;romain.naour@openwide.fr&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>package/ccache: bump to version 3.2.2</title>
<updated>2015-06-04T13:28:22+00:00</updated>
<author>
<name>Karoly Kasza</name>
<email>kaszak@gmail.com</email>
</author>
<published>2015-06-01T13:17:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=67524ba4e8591c1dc02e8e52408adcba34cb8c43'/>
<id>urn:sha1:67524ba4e8591c1dc02e8e52408adcba34cb8c43</id>
<content type='text'>
Bump ccache to minor version 3.2.2.
Also changed download URL to https.

Signed-off-by: Karoly Kasza &lt;kaszak@gmail.com&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
</feed>
