Imported Upstream version 3.7.12 upstream/3.7.12
authorJinWang An <jinwang.an@samsung.com>
Tue, 3 Aug 2021 07:29:14 +0000 (16:29 +0900)
committerJinWang An <jinwang.an@samsung.com>
Tue, 3 Aug 2021 07:29:14 +0000 (16:29 +0900)
16 files changed:
LICENSE.html
doc/AUTHORS.adoc
doc/AUTHORS.html
doc/MANUAL.adoc
doc/MANUAL.html
doc/NEWS.adoc
doc/NEWS.html
doc/ccache.1
src/ccache.c
src/system.h
src/util.c
src/version.c
test/suites/debug_prefix_map.bash
test/suites/direct.bash
test/suites/profiling.bash
test/suites/profiling_gcc.bash

index f21cec6347038ec81994040d18681fa54bd58cb9..b7543bf42e8758f1780ca4a7e46844cadcae1a3c 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache copyright and license</h1>\r
-<span id="revnumber">version 3.7.11</span>\r
+<span id="revnumber">version 3.7.12</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>
@@ -1235,9 +1235,9 @@ following license:</p></div>
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.11<br />\r
+Version 3.7.12<br />\r
 Last updated\r
- 2020-07-21 20:30:11 CEST\r
+ 2020-10-01 14:20:15 CEST\r
 </div>\r
 </div>\r
 </body>\r
index c8b611994b3b40b4cd62060fc909ce20551577da..9f88a4a4bfd40f774201726727e5c49e2d2591a0 100644 (file)
@@ -24,6 +24,7 @@ ccache is a collective work with contributions from many people, including:
 * Clemens Rabe
 * Cristian Adam
 * David Givone
+* Deepak Yadav
 * Doug Anderson
 * Edward Z. Yang
 * Erik Johansson
index 003f658c41b536cfe4780e78eaa75b51a316668c..1f397ffeece25601696a15cb27f09c8beaa73a03 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache authors</h1>\r
-<span id="revnumber">version 3.7.11</span>\r
+<span id="revnumber">version 3.7.12</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>
@@ -840,6 +840,11 @@ David Givone
 </li>\r
 <li>\r
 <p>\r
+Deepak Yadav\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 Doug Anderson\r
 </p>\r
 </li>\r
@@ -1281,9 +1286,9 @@ Yvan Janssens
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.11<br />\r
+Version 3.7.12<br />\r
 Last updated\r
- 2020-07-21 20:30:11 CEST\r
+ 2020-10-01 14:20:15 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 19fc857024999ea014ba47897ab7a04c94059295..0b3cd1c71ce7be192ae59bb6fca071bf82081e34 100644 (file)
@@ -1098,6 +1098,13 @@ filesystems), but keep in mind that:
 A tip is to set *temporary_dir* to a directory on the local host to avoid NFS
 traffic for temporary files.
 
+It is recommended to use the same operating system version when using a shared
+cache. If operating system versions are different then system include files
+will likely be different and there will be few or no cache hits between the
+systems. One way of improving cache hit rate in that case is to set
+<<config_sloppiness,*sloppiness*>> to *system_headers* to ignore system
+headers.
+
 
 Using ccache with other compiler wrappers
 -----------------------------------------
index c98cc1b49b856ffccc4ee666447b84af067a5c14..da39f21e04070403060b5cb22ecfcd3131a967ea 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>CCACHE(1)</h1>\r
-<span id="revnumber">version 3.7.11</span>\r
+<span id="revnumber">version 3.7.12</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>
@@ -2451,6 +2451,12 @@ ccache hasn&#8217;t been tested very thoroughly on NFS.
 </ul></div>\r
 <div class="paragraph"><p>A tip is to set <strong>temporary_dir</strong> to a directory on the local host to avoid NFS\r
 traffic for temporary files.</p></div>\r
+<div class="paragraph"><p>It is recommended to use the same operating system version when using a shared\r
+cache. If operating system versions are different then system include files\r
+will likely be different and there will be few or no cache hits between the\r
+systems. One way of improving cache hit rate in that case is to set\r
+<a href="#config_sloppiness"><strong>sloppiness</strong></a> to <strong>system_headers</strong> to ignore system\r
+headers.</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -2713,9 +2719,9 @@ maintained by Joel Rosdahl. See AUTHORS.txt or AUTHORS.html and
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.11<br />\r
+Version 3.7.12<br />\r
 Last updated\r
- 2020-07-21 20:30:11 CEST\r
+ 2020-10-01 14:20:15 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 37c7d09ea753735daa1783be2f05173773435c35..e7b44a7907ac31478ffd7bc50aa546831173b9bb 100644 (file)
@@ -1,6 +1,31 @@
 ccache news
 ===========
 
+ccache 3.7.12
+-------------
+
+Release date: 2020-10-01
+
+Bug fixes
+~~~~~~~~~
+
+- Coverage files (`.gcno`) produced by GCC 9+ when using `-fprofile-dir=dir`
+  are now handled gracefully by falling back to running the compiler.
+
+- Fixed writing to log file larger than 2 GiB when running ccache compiled in
+  32-bit mode.
+
+
+Other
+~~~~~
+
+- Improved documentation about sharing a cache on NFS.
+
+- Fixed test case failures with old objdump versions.
+
+- Fixed test case failures with GCC 4.4.
+
+
 ccache 3.7.11
 -------------
 
index 48700b4cc205475748ee341fb1af69ab8203dded..2ea77a4ad15fae9f7807e3575356beb082fb5fde 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache news</h1>\r
-<span id="revnumber">version 3.7.11</span>\r
+<span id="revnumber">version 3.7.12</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>
@@ -743,11 +743,54 @@ asciidoc.install(2);
 </div>\r
 <div id="content">\r
 <div class="sect1">\r
+<h2 id="_ccache_3_7_12">ccache 3.7.12</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2020-10-01</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Coverage files (<code>.gcno</code>) produced by GCC 9+ when using <code>-fprofile-dir=dir</code>\r
+  are now handled gracefully by falling back to running the compiler.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed writing to log file larger than 2 GiB when running ccache compiled in\r
+  32-bit mode.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_other">Other</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Improved documentation about sharing a cache on NFS.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed test case failures with old objdump versions.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Fixed test case failures with GCC 4.4.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
 <h2 id="_ccache_3_7_11">ccache 3.7.11</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-07-21</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes">Bug fixes</h3>\r
+<h3 id="_bug_fixes_2">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -768,7 +811,7 @@ Added support for NVCC’s <code>-Werror</code> and <code>--Werror</code> option
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other">Other</h3>\r
+<h3 id="_other_2">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -785,7 +828,7 @@ ccache’s “Directory is not hashed if using -gz[=zlib]” tests are now skipp
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-06-22</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_2">Bug fixes</h3>\r
+<h3 id="_bug_fixes_3">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -843,7 +886,7 @@ Fixed a bug that affected ccache’s <code>-o/--set-config</code> option for the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-03-29</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_3">Bug fixes</h3>\r
+<h3 id="_bug_fixes_4">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -860,7 +903,7 @@ Removed incorrect assertion resulting in “ccache: error: Internal error in
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_2">Other</h3>\r
+<h3 id="_other_3">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -881,7 +924,7 @@ Improved name of temporary file used in NFS-safe unlink.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-03-16</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_4">Bug fixes</h3>\r
+<h3 id="_bug_fixes_5">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -904,7 +947,7 @@ If <code>localtime_r</code> fails the epoch time is now logged instead of garbag
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_3">Other</h3>\r
+<h3 id="_other_4">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -960,7 +1003,7 @@ Clarified “include_file_ctime sloppiness” in the Performance section in the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-01-05</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_5">Bug fixes</h3>\r
+<h3 id="_bug_fixes_6">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1008,7 +1051,7 @@ The “cache miss” statistics counter will now be updated for read-only cache
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-11-17</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_6">Bug fixes</h3>\r
+<h3 id="_bug_fixes_7">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1055,7 +1098,7 @@ Added support for <code>-MF=arg</code> (with an extra equal sign) as understood
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_7">Bug fixes</h3>\r
+<h3 id="_bug_fixes_8">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1125,7 +1168,7 @@ Added support for converting paths like “/c/users” into relative paths on
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-08-17</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_8">Bug fixes</h3>\r
+<h3 id="_bug_fixes_9">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1150,7 +1193,7 @@ Fixed a regression in 3.7.2 when using the compiler option “-Werror” and the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-07-19</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_9">Bug fixes</h3>\r
+<h3 id="_bug_fixes_10">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1607,7 +1650,7 @@ Made “./configure --without-bundled-zlib” do what’s intended.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-09-02</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_10">Bug fixes</h3>\r
+<h3 id="_bug_fixes_11">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1644,7 +1687,7 @@ Upgraded bundled zlib to version 1.2.11.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-03-25</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_11">Bug fixes</h3>\r
+<h3 id="_bug_fixes_12">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1688,7 +1731,7 @@ Made it possible to perform out-of-source builds in dev mode again.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-02-11</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_12">Bug fixes</h3>\r
+<h3 id="_bug_fixes_13">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1774,7 +1817,7 @@ Documented caveats related to colored warnings from compilers.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_13">Bug fixes</h3>\r
+<h3 id="_bug_fixes_14">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1812,7 +1855,7 @@ Improved instructions on how to get cache hits between different working
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_14">Bug fixes</h3>\r
+<h3 id="_bug_fixes_15">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1838,7 +1881,7 @@ Documented how automatic cache cleanup works.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_15">Bug fixes</h3>\r
+<h3 id="_bug_fixes_16">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1921,7 +1964,7 @@ Documented the different cache statistics counters.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_16">Bug fixes</h3>\r
+<h3 id="_bug_fixes_17">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1951,7 +1994,7 @@ Fixed undefined behavior warnings in ccache found by <code>-fsanitize=undefined<
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-10-26</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_17">Bug fixes</h3>\r
+<h3 id="_bug_fixes_18">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1968,7 +2011,7 @@ ccache now detects usage of <code>.incbin</code> assembler directives in the sou
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_18">Bug fixes</h3>\r
+<h3 id="_bug_fixes_19">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1993,7 +2036,7 @@ Fixed a regression in ccache 3.3.1: ccache could get confused when using the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_19">Bug fixes</h3>\r
+<h3 id="_bug_fixes_20">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2175,7 +2218,7 @@ Increased buffer size used when reading file data. This improves performance
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_20">Bug fixes</h3>\r
+<h3 id="_bug_fixes_21">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2201,7 +2244,7 @@ Fixed build and test for MinGW32 and Windows.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_21">Bug fixes</h3>\r
+<h3 id="_bug_fixes_22">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2219,7 +2262,7 @@ Fixed a regression in ccache 3.2.8: ccache could get confused when using the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_22">Bug fixes</h3>\r
+<h3 id="_bug_fixes_23">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2243,7 +2286,7 @@ ccache now understands the undocumented <code>-coverage</code> (only one dash) G
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-20</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_23">Bug fixes</h3>\r
+<h3 id="_bug_fixes_24">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2266,7 +2309,7 @@ ccache now knows how to work around a glitch in the output of GCC 6’s
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_24">Bug fixes</h3>\r
+<h3 id="_bug_fixes_25">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2316,7 +2359,7 @@ Made it harder to misinterpret documentation of boolean environment settings’
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_25">Bug fixes</h3>\r
+<h3 id="_bug_fixes_26">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2376,7 +2419,7 @@ The man page is now built when running “make install” from Git repository
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2015-10-08</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_26">Bug fixes</h3>\r
+<h3 id="_bug_fixes_27">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2431,7 +2474,7 @@ Added support for compiler option <code>-gsplit-dwarf</code>.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_27">Bug fixes</h3>\r
+<h3 id="_bug_fixes_28">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2485,7 +2528,7 @@ Add support for caching code coverage results (compiling for gcov).
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_28">Bug fixes</h3>\r
+<h3 id="_bug_fixes_29">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2555,7 +2598,7 @@ Fixed build error when compiling ccache with recent Clang versions.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2014-12-10</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_29">Bug fixes</h3>\r
+<h3 id="_bug_fixes_30">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2787,7 +2830,7 @@ Various other improvements of the test suite.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_30">Bug fixes</h3>\r
+<h3 id="_bug_fixes_31">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2818,7 +2861,7 @@ Fixed test suite failures when <code>CC</code> is a ccache-wrapped compiler.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_31">Bug fixes</h3>\r
+<h3 id="_bug_fixes_32">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2836,7 +2879,7 @@ Fixed a bug where (due to ccache rewriting paths) the compiler could choose
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2015-03-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_32">Bug fixes</h3>\r
+<h3 id="_bug_fixes_33">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2918,7 +2961,7 @@ Stale files in the internal temporary directory (<code>&lt;ccache_dir&gt;/tmp</c
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_33">Bug fixes</h3>\r
+<h3 id="_bug_fixes_34">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2958,7 +3001,7 @@ Fixed problem with logging of current working directory.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2013-01-06</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_34">Bug fixes</h3>\r
+<h3 id="_bug_fixes_35">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2992,7 +3035,7 @@ Disappearing temporary stdout/stderr files are now handled gracefully.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_4">Other</h3>\r
+<h3 id="_other_5">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3029,7 +3072,7 @@ Clang plugins are now hashed to catch plugin upgrades.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_35">Bug fixes</h3>\r
+<h3 id="_bug_fixes_36">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3056,7 +3099,7 @@ Paths are now correctly canonicalized when computing paths relative to the
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_5">Other</h3>\r
+<h3 id="_other_6">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3077,7 +3120,7 @@ Fixed <code>static_assert</code> macro definition clash with GCC 4.7.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2012-01-08</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_36">Bug fixes</h3>\r
+<h3 id="_bug_fixes_37">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3129,7 +3172,7 @@ Reverted the GCC bug compatibility introduced in ccache 3.1.5 for <code>-MT</cod
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_6">Other</h3>\r
+<h3 id="_other_7">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3160,7 +3203,7 @@ Rewrite argument to <code>--sysroot</code> if <code>CCACHE_BASEDIR</code> is use
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_37">Bug fixes</h3>\r
+<h3 id="_bug_fixes_38">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3213,7 +3256,7 @@ Improved order of statistics counters in <code>ccache -s</code> output.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_38">Bug fixes</h3>\r
+<h3 id="_bug_fixes_39">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3246,7 +3289,7 @@ Systems that lack (and don’t need to be linked with) libm are now supported.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2011-01-09</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_39">Bug fixes</h3>\r
+<h3 id="_bug_fixes_40">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3279,7 +3322,7 @@ The file handle in now correctly closed on write error when trying to create
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_40">Bug fixes</h3>\r
+<h3 id="_bug_fixes_41">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3290,7 +3333,7 @@ The -MFarg, -MTarg and -MQarg compiler options (i.e, without space between
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_7">Other</h3>\r
+<h3 id="_other_8">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3306,7 +3349,7 @@ Portability fixes for HP-UX 11.00 and other esoteric systems.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-21</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_41">Bug fixes</h3>\r
+<h3 id="_bug_fixes_42">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3327,7 +3370,7 @@ Fixed issue when parsing precompiler output on AIX.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_8">Other</h3>\r
+<h3 id="_other_9">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3354,7 +3397,7 @@ The test suite now also works on systems that lack a /dev/zero.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_42">Bug fixes</h3>\r
+<h3 id="_bug_fixes_43">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3392,7 +3435,7 @@ ccache development version (set by dev.mk) now works with gits whose
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_9">Other</h3>\r
+<h3 id="_other_10">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3476,7 +3519,7 @@ Added <code>-install_name</code> as an option known to take an argument. (This i
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_43">Bug fixes</h3>\r
+<h3 id="_bug_fixes_44">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3501,7 +3544,7 @@ EINTR is now handled correctly.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_10">Other</h3>\r
+<h3 id="_other_11">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3562,7 +3605,7 @@ New <code>HACKING.txt</code> file with some notes about ccache code conventions.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-07-15</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_44">Bug fixes</h3>\r
+<h3 id="_bug_fixes_45">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3751,7 +3794,7 @@ The following options are no longer hashed in the preprocessor mode:
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_45">Bug fixes</h3>\r
+<h3 id="_bug_fixes_46">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3896,9 +3939,9 @@ Statistics counters are now correctly updated for -E option failures and
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.11<br />\r
+Version 3.7.12<br />\r
 Last updated\r
- 2020-07-21 20:30:11 CEST\r
+ 2020-10-01 14:20:15 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 9bdae4f4490059a6ba479c7e0c578d30d60805cc..ca7164889a6c6596786f8f90f3477a66312584a4 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: ccache
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 07/21/2020
+.\"      Date: 10/01/2020
 .\"    Manual: ccache Manual
-.\"    Source: ccache 3.7.11
+.\"    Source: ccache 3.7.12
 .\"  Language: English
 .\"
-.TH "CCACHE" "1" "07/21/2020" "ccache 3\&.7\&.11" "ccache Manual"
+.TH "CCACHE" "1" "10/01/2020" "ccache 3\&.7\&.12" "ccache Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -1912,6 +1912,8 @@ ccache hasn\(cqt been tested very thoroughly on NFS\&.
 .RE
 .sp
 A tip is to set \fBtemporary_dir\fR to a directory on the local host to avoid NFS traffic for temporary files\&.
+.sp
+It is recommended to use the same operating system version when using a shared cache\&. If operating system versions are different then system include files will likely be different and there will be few or no cache hits between the systems\&. One way of improving cache hit rate in that case is to set \fBsloppiness\fR to \fBsystem_headers\fR to ignore system headers\&.
 .SH "USING CCACHE WITH OTHER COMPILER WRAPPERS"
 .sp
 The recommended way of combining ccache with another compiler wrapper (such as \(lqdistcc\(rq) is by letting ccache execute the compiler wrapper\&. This is accomplished by defining the configuration setting \fBprefix_command\fR, for example by setting the environment variable \fBCCACHE_PREFIX\fR to the name of the wrapper (e\&.g\&. \fBdistcc\fR)\&. ccache will then prefix the command line with the specified command when running the compiler\&. To specify several prefix commands, set \fBprefix_command\fR to a colon\-separated list of commands\&.
index 5fb7b05dc83181d18f1cfda124392f3ea5b25c29..c0d2a4f72129474222e20551722d0e5d8ea63725 100644 (file)
@@ -1645,12 +1645,22 @@ to_cache(struct args *args, struct hash *depend_mode_hash)
 
        MTR_BEGIN("file", "file_put");
 
-       put_file_in_cache(output_obj, cached_obj);
        if (produce_dep_file) {
                copy_file_to_cache(output_dep, cached_dep);
        }
        if (generating_coverage) {
-               copy_file_to_cache(output_cov, cached_cov);
+               if (stat(output_cov, &st) == 0) {
+                       copy_file_to_cache(output_cov, cached_cov);
+               } else {
+                       // The .gcno file is missing. This is likely due to compiling with GCC 9+,
+                       // which uses another name for the .gcno file when using -ftest-coverage
+                       // or --coverage when -fprofile-dir=dir is given. The .gcno file is still
+                       // placed next to the object file, not in the specified profile directory,
+                       // though.
+                       cc_log("%s is missing", output_cov);
+                       stats_update(STATS_UNSUPPORTED_OPTION);
+                       failed();
+               }
        }
        if (generating_stackusage) {
                copy_file_to_cache(output_su, cached_su);
@@ -1661,6 +1671,7 @@ to_cache(struct args *args, struct hash *depend_mode_hash)
        if (using_split_dwarf) {
                copy_file_to_cache(output_dwo, cached_dwo);
        }
+       put_file_in_cache(output_obj, cached_obj);
 
        MTR_END("file", "file_put");
 
index c669553c4639c5422b7b6920bb4e875a3c158bcf..86d7f304cd0754d3bf46773c034337c415ec791b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2016 Joel Rosdahl
+// Copyright (C) 2010-2020 Joel Rosdahl
 //
 // This program is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by the Free
 
 #include "config.h"
 
+#ifdef __clang__
+#pragma clang diagnostic push
+#if __has_warning("-Wreserved-id-macro")
+#pragma clang diagnostic ignored "-Wreserved-id-macro"
+#endif
+#endif
+#ifndef _FILE_OFFSET_BITS
+#define _FILE_OFFSET_BITS 64
+#endif
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <sys/file.h>
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
index 9f014bdc2abe169ed2ada9603045cba129a39701..57660947d391a8055cf08e6414d20be207a4a2f2 100644 (file)
@@ -320,12 +320,20 @@ copy_file(const char *src,
           int compress_level,
           bool via_tmp_file)
 {
-       int fd_out;
+       int fd_out = -1;
        char *tmp_name = NULL;
        gzFile gz_in = NULL;
        gzFile gz_out = NULL;
        int saved_errno = 0;
 
+       // Open source file.
+       int fd_in = open(src, O_RDONLY | O_BINARY);
+       if (fd_in == -1) {
+               saved_errno = errno;
+               cc_log("open error: %s", strerror(saved_errno));
+               goto error;
+       }
+
        // Open destination file.
        if (via_tmp_file) {
                tmp_name = x_strdup(dest);
@@ -344,14 +352,6 @@ copy_file(const char *src,
                       src, dest, compress_level > 0 ? "" : "un");
        }
 
-       // Open source file.
-       int fd_in = open(src, O_RDONLY | O_BINARY);
-       if (fd_in == -1) {
-               saved_errno = errno;
-               cc_log("open error: %s", strerror(saved_errno));
-               goto error;
-       }
-
        gz_in = gzdopen(fd_in, "rb");
        if (!gz_in) {
                saved_errno = errno;
@@ -473,7 +473,7 @@ error:
        if (fd_out != -1) {
                close(fd_out);
        }
-       if (via_tmp_file) {
+       if (via_tmp_file && tmp_name) {
                tmp_unlink(tmp_name);
                free(tmp_name);
        }
index 5e4c555477fcf98ff3bdd7f5228384052552ecca..cfcddb5c33c7b44be1e9f400908ef5e8512c9c32 100644 (file)
@@ -1 +1 @@
-extern const char CCACHE_VERSION[]; const char CCACHE_VERSION[] = "3.7.11";
+extern const char CCACHE_VERSION[]; const char CCACHE_VERSION[] = "3.7.12";
index d00e654767c14b233a4cb53632af21d4fac9a7bd..3cff720929ca8f841b0f9ee756d4d373409309b2 100644 (file)
@@ -23,10 +23,8 @@ EOF
 objdump_cmd() {
     if $HOST_OS_APPLE; then
         xcrun dwarfdump -r0 $1
-    elif $HOST_OS_FREEBSD; then
-        objdump -W $1
     else
-        objdump -g $1
+        objdump -W $1
     fi
 }
 
index e766af5a83415e15799e0b78e439e8959177e83b..14a2770028e672bd8a0e15d9335273a4d919ca34 100644 (file)
@@ -361,7 +361,7 @@ EOF
 int test() { return 0; }
 EOF
 
-    if $COMPILER_TYPE_GCC; then
+    if $REAL_COMPILER -c -fstack-usage code.c >/dev/null 2>&1; then
         $CCACHE_COMPILE -c -fstack-usage code.c
         expect_stat 'cache hit (direct)' 0
         expect_stat 'cache hit (preprocessed)' 0
index 553f908658506f9846373698dc04390a7b08778b..babc478881a5b5361140d1dca264084534ad646d 100644 (file)
@@ -74,7 +74,7 @@ SUITE_profiling() {
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 1
 
-    $COMPILER -fprofile-generate=data test.o -o test
+    $COMPILER -fprofile-generate=data test.o -lgcov -o test
 
     ./test
     merge_profiling_data data
index fe61109ed9cc306cf6553513f3079b309bc1438a..8142122898738b6c32b091ec4e5fae5eb84a5ce3 100644 (file)
@@ -17,21 +17,21 @@ SUITE_profiling_gcc() {
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 1
 
-    $COMPILER -fprofile-generate test.o -o test
+    $COMPILER -fprofile-generate test.o -lgcov -o test
 
     ./test
 
-    $CCACHE_COMPILE -fbranch-probabilities -c test.c
+    $CCACHE_COMPILE -fbranch-probabilities -c test.c 2>/dev/null
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 2
 
-    $CCACHE_COMPILE -fbranch-probabilities -c test.c
+    $CCACHE_COMPILE -fbranch-probabilities -c test.c 2>/dev/null
     expect_stat 'cache hit (direct)' 1
     expect_stat 'cache miss' 2
 
     ./test
 
-    $CCACHE_COMPILE -fbranch-probabilities -c test.c
+    $CCACHE_COMPILE -fbranch-probabilities -c test.c 2>/dev/null
     expect_stat 'cache hit (direct)' 1
     expect_stat 'cache miss' 3
 
@@ -44,7 +44,7 @@ SUITE_profiling_gcc() {
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 1
 
-    $COMPILER -fprofile-dir=data -fprofile-generate test.o -o test
+    $COMPILER -fprofile-dir=data -fprofile-generate test.o -lgcov -o test
 
     ./test
 
@@ -71,7 +71,7 @@ SUITE_profiling_gcc() {
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 1
 
-    $COMPILER -fprofile-generate -fprofile-dir=data test.o -o test
+    $COMPILER -fprofile-generate -fprofile-dir=data test.o -lgcov -o test
 
     ./test
 
@@ -98,7 +98,7 @@ SUITE_profiling_gcc() {
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache miss' 1
 
-    $COMPILER -fprofile-dir=data2 -fprofile-generate=data test.o -o test
+    $COMPILER -fprofile-dir=data2 -fprofile-generate=data test.o -lgcov -o test
 
     ./test