<body class="article">\r
<div id="header">\r
<h1>ccache news</h1>\r
-<span id="revnumber">version 3.2</span>\r
+<span id="revnumber">version 3.4</span>\r
<div id="toc">
<div id="toctitle">Table of Contents</div>
<noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>\r
<div id="content">\r
<div class="sect1">\r
+<h2 id="_ccache_3_4">ccache 3.4</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2018-02-11</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+The compiler option form <code>--sysroot arg</code> is now handled like the documented\r
+ <code>--sysroot=arg</code> form.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for caching <code>.su</code> files generated by GCC flag <code>-fstack-usage</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache should now work with distcc’s “pump” wrapper.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+The optional unifier is no longer disabled when the direct mode is enabled.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for nvcc compiler options <code>--compiler-bindir/-ccbin</code>,\r
+ <code>--output-directory/-odir</code> and <code>--libdevice-directory/-ldir</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Boolean environment variable settings no longer accept the following\r
+ (case-insensitive) values: <code>0</code>, <code>false</code>, <code>disable</code> and <code>no</code>. All other values\r
+ are accepted and taken to mean “true”. This is to stop users from setting\r
+ e.g. <code>CCACHE_DISABLE=0</code> and then expect the cache to be used.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Improved support for <code>run_second_cpp = false</code>: If combined with passing\r
+ <code>-fdirectives-only</code> (GCC) or <code>frewrite-includes</code> (Clang) to the compiler,\r
+ diagnostics warnings and similar will be correct.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+An implicit <code>-MQ</code> is now passed to the preprocessor only if the object file\r
+ extension is non-standard. This should make it easier to use EDG-based\r
+ compilers (e.g. GHS) which don’t understand <code>-MQ</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now treats an unreadable configuration file just like a missing\r
+ configuration file.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Documented more pitfalls with enabling <code>hard_links</code> (<code>CCACHE_HARDLINK</code>).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Documented caveats related to colored warnings from compilers.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+File size and number counters are now updated correctly when files are\r
+ overwritten in the cache, e.g. when using <code>CCACHE_RECACHE</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<code>run_second_cpp</code> is now forced for nvcc.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed how the nvcc options <code>-optf</code> and <code>-odir</code> are handled.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_6">ccache 3.3.6</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2018-01-28</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_2">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Improved instructions on how to get cache hits between different working\r
+ directories.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_2">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed regression in ccache 3.3.5 related to the <code>UNCACHED_ERR_FD</code> feature.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_5">ccache 3.3.5</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2018-01-13</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_3">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Documented how automatic cache cleanup works.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_3">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a regression where the original order of debug options could be lost.\r
+ This reverts the “Improved parsing of <code>-g*</code> options” feature in ccache 3.3.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Multiple <code>-fdebug-prefix-map</code> options should now be handled correctly.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed matching of directories in the <code>ignore_headers_in_manifest</code>\r
+ configuration option.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed detection of missing argument to <code>-opt</code>/<code>--options-file</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now bails out when building a precompiled header if any of the\r
+ corresponding header files have an updated timestamp. This fixes complaints\r
+ from clang.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug related to erroneously storing a dependency file with absolute\r
+ paths in the cache on a preprocessed hit.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<code>ccache -c/--cleanup</code> now works like documented: it just recalculates size\r
+ counters and trims the cache to not exceed the max size and file number\r
+ limits. Previously, the forced cleanup took “limit_multiple” into account,\r
+ so that <code>ccache -c/--cleanup</code> by default would trim the cache to 80% of the\r
+ max limit.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache no longer ignores linker arguments for clang since clang warns about\r
+ them.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Plugged a couple of file descriptor leaks.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug where ccache would skip hashing the compiler argument following a\r
+ <code>-fno-working-directory</code>, <code>-fworking-directory</code>, <code>-nostdinc</code>, <code>-nostdinc++</code>,\r
+ <code>-remap</code> or <code>-trigraphs</code> option in preprocessor mode.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_4">ccache 3.3.4</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2017-02-17</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_4">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Documented the different cache statistics counters.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_4">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a regression in ccache 3.3 related to potentially bad content of\r
+ dependency files when compiling identical source code but with different\r
+ source paths. This was only partially fixed in 3.3.2 and reverts the new\r
+ “Names of included files are no longer included in the hash of the\r
+ compiler’s preprocessed output” feature in 3.3.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Corrected statistics counter for <code>-optf</code>/<code>--options-file</code> failure.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed undefined behavior warnings in ccache found by <code>-fsanitize=undefined</code>.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_3">ccache 3.3.3</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-10-26</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_5">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+ccache now detects usage of <code>.incbin</code> assembler directives in the source code\r
+ and avoids caching such compilations.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_2">ccache 3.3.2</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_6">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a regression in ccache 3.3 related to potentially bad content of\r
+ dependency files when compiling identical source code but with different\r
+ source paths.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a regression in ccache 3.3.1: ccache could get confused when using the\r
+ compiler option <code>-Wp,</code> to pass multiple options to the preprocessor,\r
+ resulting in missing dependency files from direct mode cache hits.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3_1">ccache 3.3.1</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_7">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a problem in the “multiple <code>-arch</code> options” support introduced in\r
+ 3.3. When using the direct mode (the default), different combinations of\r
+ <code>-arch</code> options were not detected properly.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed an issue when compiler option <code>-Wp,-MT,path</code> is used instead of <code>-MT\r
+ path</code> (and similar for <code>-MF</code>, <code>-MP</code> and <code>-MQ</code>) and <code>run_second_cpp</code>\r
+ (<code>CCACHE_CPP2</code>) is enabled.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_3">ccache 3.3</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-08-27</p></div>\r
+<div class="sect2">\r
+<h3 id="_notes">Notes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+A C99-compatible compiler is now required to build ccache.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_5">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+The configuration option <code>run_second_cpp</code> (<code>CCACHE_CPP2</code>) now defaults to\r
+ true. This improves ccache’s out-of-the-box experience for compilers that\r
+ can’t compile their own preprocessed output with the same outcome as if they\r
+ compiled the real source code directly, e.g. newer versions of GCC and Clang.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+The configuration option <code>hash_dir</code> (<code>CCACHE_HASHDIR</code>) now defaults to true.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new <code>ignore_headers_in_manifest</code> configuration option, which\r
+ specifies headers that should be ignored in the direct mode.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new <code>prefix_command_cpp</code> (<code>CCACHE_PREFIX_CPP</code>) configuration option,\r
+ which specifies one or several prefixes to add to the command line ccache\r
+ uses when invoking the preprocessor.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new <code>limit_multiple</code> (<code>CCACHE_LIMIT_MULTIPLE</code>) configuration option,\r
+ which specifies how much of the cache to remove when cleaning.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new <code>keep_comments_cpp</code> (<code>CCACHE_COMMENTS</code>) configuration option,\r
+ which tells ccache not to discard the comments before hashing preprocessor\r
+ output. This can be used to check documentation with <strong>-Wdocumentation</strong>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new sloppiness option <code>no_system_headers</code>, which tells ccache not to\r
+ include system headers in manifest files.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new statistics counter that tracks the number of performed cleanups\r
+ due to the cache size being over the limit. The value is shown in the output\r
+ of “ccache -s”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for relocating debug info directory using <code>-fdebug-prefix-map</code>.\r
+ This allows for cache hits even when <code>hash_dir</code> is used in combination with\r
+ <code>base_dir</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added a new “cache hit rate” field to the output of “ccache -s”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for caching compilation of assembler code produced by e.g.\r
+ “gcc -S file.c”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for cuda including the -optf/--options-file option.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for Fortran 77.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added support for multiple <code>-arch</code> options to produce "fat binaries".\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Multiple identical <code>-arch</code> arguments are now handled without bailing.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+The concatenated form of some long compiler options is now recognized, for\r
+ example when using <code>-isystemPATH</code> instead of <code>-isystem PATH</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+If hard-linking is enabled and but fails (e.g. due to cross-device linking),\r
+ ccache now falls back to copying instead of running the compiler.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made the <code>hash_dir</code> option only have effect when generating debug info.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now knows how to convert absolute paths to relative paths inside\r
+ dependency files when using <code>base_dir</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Improved parsing of <code>-g*</code> options.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made ccache understand <code>-Wp,-D*</code> options.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now understands the undocumented <code>-coverage</code> (only one dash) GCC\r
+ option.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Names of included files are no longer included in the hash of the compiler’s\r
+ preprocessed output. This leads to more potential cache hits when not using\r
+ the direct mode.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Increased buffer size used when reading file data. This improves performance\r
+ slightly.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_8">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Bail out on too hard compiler option <code>-P</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed clang test suite when running on Linux.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed build and test for MinGW32 and Windows.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_9">ccache 3.2.9</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_9">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a regression in ccache 3.2.8: ccache could get confused when using the\r
+ compiler option <code>-Wp,</code> to pass multiple options to the preprocessor,\r
+ resulting in missing dependency files from direct mode cache hits.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_8">ccache 3.2.8</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_10">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed an issue when compiler option <code>-Wp,-MT,path</code> is used instead of <code>-MT\r
+ path</code> (and similar for <code>-MF</code>, <code>-MP</code> and <code>-MQ</code>) and <code>run_second_cpp</code>\r
+ (<code>CCACHE_CPP2</code>) is enabled.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now understands the undocumented <code>-coverage</code> (only one dash) GCC\r
+ option.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_7">ccache 3.2.7</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-07-20</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_11">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a bug which could lead to false cache hits for compiler command lines\r
+ with a missing argument to an option that takes an argument.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+ccache now knows how to work around a glitch in the output of GCC 6’s\r
+ preprocessor.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_6">ccache 3.2.6</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_12">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed build problem on QNX, which lacks “SA_RESTART”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Bail out on compiler option <code>-fstack-usage</code> since it creates a <code>.su</code> file\r
+ which ccache currently doesn’t handle.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug where (due to ccache rewriting paths) the compiler could choose\r
+ incorrect include files if <code>CCACHE_BASEDIR</code> is used and the source file path\r
+ is absolute and is a symlink.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_5">ccache 3.2.5</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-04-17</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_6">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Only pass clang-specific <code>-stdlib=</code> to the preprocessor.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Improved handling of stale NFS handles.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made it harder to misinterpret documentation of boolean environment settings'\r
+ semantics.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_13">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Include m4 files used by configure.ac in the source dist archives.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Corrected "Performance" section in the manual regarding <code>__DATE_</code>, <code>__TIME__</code>\r
+ and <code>__FILE__</code> macros.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed build on Solaris 10+ and AIX 7.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed failure to create directories on QNX.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Don’t (try to) update manifest file in “read-only” and “read-only direct”\r
+ modes.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug in caching of <code>stat</code> system calls in “file_stat_matches\r
+ sloppiness mode”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed bug in hashing of clang plugins, leading to unnecessary cache misses.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed --print-config to show “pch_defines sloppiness”.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+The man page is now built when running “make install” from Git repository\r
+ sources.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_4">ccache 3.2.4</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2015-10-08</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_14">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed build error related to zlib on systems with older make versions\r
+ (regression in ccache 3.2.3).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made conversion-to-bool explicit to avoid build warnings (and potential\r
+ runtime errors) on legacy systems.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Improved signal handling: Kill compiler on SIGTERM; wait for compiler to exit\r
+ before exiting; die appropriately.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Minor fixes related to Windows support.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+The correct compression level is now used if compression is requested.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug where cache cleanup could be run too early for caches larger than\r
+ 64 GiB on 32-bit systems.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_3">ccache 3.2.3</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2015-08-16</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_7">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Added support for compiler option <code>-gsplit-dwarf</code>.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_15">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Support external zlib in nonstandard directory.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Avoid calling <code>exit()</code> inside an exit handler.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Let exit handler terminate properly.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Bail out on compiler option <code>--save-temps</code> in addition to <code>-save-temps</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Only log "Disabling direct mode" once when failing to read potential include\r
+ files.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_2">ccache 3.2.2</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2015-05-10</p></div>\r
+<div class="sect2">\r
+<h3 id="_new_features_and_enhancements_8">New features and enhancements</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Added support for <code>CCACHE_COMPILERCHECK=string:<value></code>. This is a faster\r
+ alternative to <code>CCACHE_COMPILERCHECK=<command></code> if the command’s output can\r
+ be precalculated by the build system.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Add support for caching code coverage results (compiling for gcov).\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_16">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Made hash of cached result created with and without <code>CCACHE_CPP2</code> different.\r
+ This makes it possible to rebuild with <code>CCACHE_CPP2</code> set without having to\r
+ clear the cache to get new results.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Don’t try to reset a non-existing stats file. This avoids “No such file or\r
+ directory” messages in the ccache log when the cache directory doesn’t\r
+ exist.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed a bug where ccache deleted clang diagnostics after compiler failures.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Avoid performing an unnecessary copy of the object file on a cache miss.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Bail out on too hard compiler option <code>-fmodules</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Bail out on too hard compiler option <code>-fplugin=libcc1plugin</code> (interaction\r
+ with GDB).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed build error when compiling ccache with recent clang versions.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Removed signal-unsafe code from signal handler.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Corrected logic for when to output cached stderr.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Wipe the whole cached result on failure retrieving a cached file.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed build error when compiling ccache with recent clang versions.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_2_1">ccache 3.2.1</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2014-12-10</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_17">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed regression in temporary file handling, which lead to incorrect\r
+ permissions for stats, manifest and ccache.conf files in the cache.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<code>CACHEDIR.TAG</code> files are now created in the [0-9a-f] subdirectories so that\r
+ ccache.conf is not lost in backups.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made the default cache size suffix <code>G</code>, as previously documented.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<code>-fdiagnostics-color=auto</code> is now passed to the compiler even if stderr is\r
+ redirected. This fixes a problem when, for instance, a configure test probes\r
+ if the compiler (wrapped via ccache) supports <code>-fdiagnostics-color=auto</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Added missing documentation for <code>max_files</code> and <code>max_size</code> configuration\r
+ options.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_ccache_3_2">ccache 3.2</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2014-11-17</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_9">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes">Bug fixes</h3>\r
+<h3 id="_bug_fixes_18">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</div>\r
</div>\r
<div class="sect1">\r
+<h2 id="_ccache_3_1_12">ccache 3.1.12</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_19">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed a bug where (due to ccache rewriting paths) the compiler could choose\r
+ incorrect include files if <code>CCACHE_BASEDIR</code> is used and the source file path\r
+ is absolute and is a symlink.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_ccache_3_1_11">ccache 3.1.11</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2015-03-07</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes_20">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed bug which could result in false cache hits when source code contains\r
+ <code>'"'</code> followed by <code>" /*"</code> or <code>" //"</code> (with variations).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Made hash of cached result created with and without <code>CCACHE_CPP2</code> different.\r
+ This makes it possible to rebuild with <code>CCACHE_CPP2</code> set without having to\r
+ clear the cache to get new results.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Don’t try to reset a non-existing stats file. This avoids “No such file or\r
+ directory” messages in the ccache log when the cache directory doesn’t\r
+ exist.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_ccache_3_1_10">ccache 3.1.10</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2014-10-19</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_2">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_10">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_2">Bug fixes</h3>\r
+<h3 id="_bug_fixes_21">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2013-01-06</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_3">Bug fixes</h3>\r
+<h3 id="_bug_fixes_22">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2012-08-11</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_3">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_11">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_4">Bug fixes</h3>\r
+<h3 id="_bug_fixes_23">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2012-01-08</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_5">Bug fixes</h3>\r
+<h3 id="_bug_fixes_24">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2011-08-21</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_4">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_12">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_6">Bug fixes</h3>\r
+<h3 id="_bug_fixes_25">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2011-05-29</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_5">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_13">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_7">Bug fixes</h3>\r
+<h3 id="_bug_fixes_26">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2011-01-09</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_8">Bug fixes</h3>\r
+<h3 id="_bug_fixes_27">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2010-11-28</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_9">Bug fixes</h3>\r
+<h3 id="_bug_fixes_28">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2010-11-21</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_10">Bug fixes</h3>\r
+<h3 id="_bug_fixes_29">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2010-11-07</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_11">Bug fixes</h3>\r
+<h3 id="_bug_fixes_30">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2010-09-16</p></div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_6">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_14">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_12">Bug fixes</h3>\r
+<h3 id="_bug_fixes_31">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Release date: 2010-07-15</p></div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_13">Bug fixes</h3>\r
+<h3 id="_bug_fixes_32">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_new_features_and_improvements_7">New features and improvements</h3>\r
+<h3 id="_new_features_and_enhancements_15">New features and enhancements</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
</ul></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="_bug_fixes_14">Bug fixes</h3>\r
+<h3 id="_bug_fixes_33">Bug fixes</h3>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
<div id="footnotes"><hr /></div>\r
<div id="footer">\r
<div id="footer-text">\r
-Version 3.2<br />\r
-Last updated 2014-11-17 19:56:32 CET\r
+Version 3.4<br />\r
+Last updated\r
+ 2018-02-11 15:20:55 CET\r
</div>\r
</div>\r
</body>\r