Hello community,

here is the log from the commit of package ccache for openSUSE:Factory checked 
in at 2016-08-26 23:18:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ccache (Old)
 and      /work/SRC/openSUSE:Factory/.ccache.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ccache"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ccache/ccache.changes    2016-07-12 
23:52:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ccache.new/ccache.changes       2016-08-26 
23:18:19.000000000 +0200
@@ -1,0 +2,21 @@
+Fri Aug 26 13:27:20 UTC 2016 - tchva...@suse.com
+
+- Version update to 3.2.7:
+  - Fixed build problem on QNX, which lacks ``SA_RESTART''.
+  - Bail out on compiler option `-fstack-usage` since it creates a `.su` file
+    which ccache currently doesn't handle.
+  - Fixed a bug where (due to ccache rewriting paths) the compiler could choose
+    incorrect include files if `CCACHE_BASEDIR` is used and the source file 
path
+    is absolute and is a symlink.
+  - Fixed a bug which could lead to false cache hits for compiler command lines
+    with a missing argument to an option that takes an argument.
+  - ccache now knows how to work around a glitch in the output of GCC 6's
+    preprocessor.
+
+-------------------------------------------------------------------
+Fri Aug 26 13:21:18 UTC 2016 - tchva...@suse.com
+
+- Create basic symlinks for clang and regular cc calls for ccache
+  * this makes it easier to use ccache with osc build
+
+-------------------------------------------------------------------

Old:
----
  ccache-3.2.5.tar.xz
  ccache-3.2.5.tar.xz.asc

New:
----
  ccache-3.2.7.tar.xz
  ccache-3.2.7.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ccache.spec ++++++
--- /var/tmp/diff_new_pack.hMYD6z/_old  2016-08-26 23:18:20.000000000 +0200
+++ /var/tmp/diff_new_pack.hMYD6z/_new  2016-08-26 23:18:20.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ccache
-Version:        3.2.5
+Version:        3.2.7
 Release:        0
 Summary:        A Fast C/C++ Compiler Cache
 License:        GPL-3.0+
@@ -51,6 +51,12 @@
 cd %{buildroot}/%{_libdir}/%{name}
 ln -sf ../../bin/%{name} gcc
 ln -sf ../../bin/%{name} g++
+# do the same for clang
+ln -sf ../../bin/%{name} clang
+ln -sf ../../bin/%{name} clang++
+# and regular cc
+ln -sf ../../bin/%{name} cc
+ln -sf ../../bin/%{name} c++
 
 %files
 %defattr(-,root,root,-)

++++++ ccache-3.2.5.tar.xz -> ccache-3.2.7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/AUTHORS.html 
new/ccache-3.2.7/AUTHORS.html
--- old/ccache-3.2.5/AUTHORS.html       2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/AUTHORS.html       2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache authors</h1>
-<span id="revnumber">version 3.2.5</span>
+<span id="revnumber">version 3.2.6</span>
 <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>
@@ -1020,9 +1020,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.5<br />
+Version 3.2.6<br />
 Last updated
- 2016-04-17 16:40:11 CEST
+ 2016-07-12 21:36:01 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/HACKING.txt new/ccache-3.2.7/HACKING.txt
--- old/ccache-3.2.5/HACKING.txt        2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/HACKING.txt        2016-07-20 18:01:54.000000000 +0200
@@ -10,6 +10,8 @@
   at the end of the same line.
 * Put no space between function name and the following parenthesis.
 * Put one space between if/switch/for/while/do and opening curly brace.
+* Always use curly braces around if/for/while/do bodies, even if they only
+  contain one statement.
 * If possible, keep lines at most 80 character wide for a 2 character tab
   width.
 * Use only lowercase names for functions and variables.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/INSTALL.html 
new/ccache-3.2.7/INSTALL.html
--- old/ccache-3.2.5/INSTALL.html       2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/INSTALL.html       2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache installation</h1>
-<span id="revnumber">version 3.2.4+101_g4218b81</span>
+<span id="revnumber">version 3.2.7</span>
 <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>
@@ -848,9 +848,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.4+101_g4218b81<br />
+Version 3.2.7<br />
 Last updated
- 2016-02-06 17:21:49 CET
+ 2016-07-20 18:01:48 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/LICENSE.html 
new/ccache-3.2.7/LICENSE.html
--- old/ccache-3.2.5/LICENSE.html       2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/LICENSE.html       2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache copyright and license</h1>
-<span id="revnumber">version 3.2.5</span>
+<span id="revnumber">version 3.2.7</span>
 <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>
@@ -1205,9 +1205,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.5<br />
+Version 3.2.7<br />
 Last updated
- 2016-04-17 16:43:39 CEST
+ 2016-07-20 18:01:48 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/MANUAL.html new/ccache-3.2.7/MANUAL.html
--- old/ccache-3.2.5/MANUAL.html        2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/MANUAL.html        2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>CCACHE(1)</h1>
-<span id="revnumber">version 3.2.5</span>
+<span id="revnumber">version 3.2.7</span>
 <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>
@@ -1292,7 +1292,7 @@
 <p>
     If true, ccache will include the current working directory in the hash that
     is used to distinguish two compilations. This prevents a problem with the
-    storage of the current working directory in the debug info of a object
+    storage of the current working directory in the debug info of an object
     file, which can lead ccache to give a cached object file that has the
     working directory in the debug info set incorrectly. This option is off by
     default as the incorrect setting of this debug info rarely causes problems.
@@ -2167,9 +2167,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.5<br />
+Version 3.2.7<br />
 Last updated
- 2016-04-17 16:43:39 CEST
+ 2016-07-20 18:01:48 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/MANUAL.txt new/ccache-3.2.7/MANUAL.txt
--- old/ccache-3.2.5/MANUAL.txt 2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/MANUAL.txt 2016-07-20 18:01:54.000000000 +0200
@@ -367,7 +367,7 @@
 
     If true, ccache will include the current working directory in the hash that
     is used to distinguish two compilations. This prevents a problem with the
-    storage of the current working directory in the debug info of a object
+    storage of the current working directory in the debug info of an object
     file, which can lead ccache to give a cached object file that has the
     working directory in the debug info set incorrectly. This option is off by
     default as the incorrect setting of this debug info rarely causes problems.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/NEWS.html new/ccache-3.2.7/NEWS.html
--- old/ccache-3.2.5/NEWS.html  2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/NEWS.html  2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache news</h1>
-<span id="revnumber">version 3.2.5</span>
+<span id="revnumber">version 3.2.7</span>
 <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>
@@ -742,6 +742,58 @@
 </div>
 <div id="content">
 <div class="sect1">
+<h2 id="_ccache_3_2_7">ccache 3.2.7</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-07-20</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed a bug which could lead to false cache hits for compiler command lines
+  with a missing argument to an option that takes an argument.
+</p>
+</li>
+<li>
+<p>
+ccache now knows how to work around a glitch in the output of GCC 6&#8217;s
+  preprocessor.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_ccache_3_2_6">ccache 3.2.6</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-07-12</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes_2">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed build problem on QNX, which lacks &#8220;SA_RESTART&#8221;.
+</p>
+</li>
+<li>
+<p>
+Bail out on compiler option <code>-fstack-usage</code> since it creates a 
<code>.su</code> file
+  which ccache currently doesn&#8217;t handle.
+</p>
+</li>
+<li>
+<p>
+Fixed a bug where (due to ccache rewriting paths) the compiler could choose
+  incorrect include files if <code>CCACHE_BASEDIR</code> is used and the 
source file path
+  is absolute and is a symlink.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_ccache_3_2_5">ccache 3.2.5</h2>
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-04-17</p></div>
@@ -767,7 +819,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes">Bug fixes</h3>
+<h3 id="_bug_fixes_3">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -827,7 +879,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-10-08</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_2">Bug fixes</h3>
+<h3 id="_bug_fixes_4">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -882,7 +934,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_3">Bug fixes</h3>
+<h3 id="_bug_fixes_5">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -936,7 +988,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_4">Bug fixes</h3>
+<h3 id="_bug_fixes_6">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1007,7 +1059,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2014-12-10</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_5">Bug fixes</h3>
+<h3 id="_bug_fixes_7">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1239,7 +1291,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_6">Bug fixes</h3>
+<h3 id="_bug_fixes_8">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1266,11 +1318,29 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="_ccache_3_1_12">ccache 3.1.12</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-07-12</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes_9">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed a bug where (due to ccache rewriting paths) the compiler could choose
+  incorrect include files if <code>CCACHE_BASEDIR</code> is used and the 
source file path
+  is absolute and is a symlink.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_ccache_3_1_11">ccache 3.1.11</h2>
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-03-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_7">Bug fixes</h3>
+<h3 id="_bug_fixes_10">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1353,7 +1423,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_8">Bug fixes</h3>
+<h3 id="_bug_fixes_11">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1393,7 +1463,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2013-01-06</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_9">Bug fixes</h3>
+<h3 id="_bug_fixes_12">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1464,7 +1534,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_10">Bug fixes</h3>
+<h3 id="_bug_fixes_13">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1512,7 +1582,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2012-01-08</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_11">Bug fixes</h3>
+<h3 id="_bug_fixes_14">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1595,7 +1665,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_12">Bug fixes</h3>
+<h3 id="_bug_fixes_15">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1648,7 +1718,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_13">Bug fixes</h3>
+<h3 id="_bug_fixes_16">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1681,7 +1751,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2011-01-09</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_14">Bug fixes</h3>
+<h3 id="_bug_fixes_17">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1714,7 +1784,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-28</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_15">Bug fixes</h3>
+<h3 id="_bug_fixes_18">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1741,7 +1811,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-21</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_16">Bug fixes</h3>
+<h3 id="_bug_fixes_19">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1789,7 +1859,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_17">Bug fixes</h3>
+<h3 id="_bug_fixes_20">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1911,7 +1981,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_18">Bug fixes</h3>
+<h3 id="_bug_fixes_21">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1997,7 +2067,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-07-15</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_19">Bug fixes</h3>
+<h3 id="_bug_fixes_22">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2186,7 +2256,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_20">Bug fixes</h3>
+<h3 id="_bug_fixes_23">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2331,9 +2401,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.5<br />
+Version 3.2.7<br />
 Last updated
- 2016-04-17 16:43:59 CEST
+ 2016-07-20 18:01:48 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/NEWS.txt new/ccache-3.2.7/NEWS.txt
--- old/ccache-3.2.5/NEWS.txt   2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/NEWS.txt   2016-07-20 18:01:54.000000000 +0200
@@ -2,6 +2,37 @@
 ===========
 
 
+ccache 3.2.7
+------------
+Release date: 2016-07-20
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed a bug which could lead to false cache hits for compiler command lines
+  with a missing argument to an option that takes an argument.
+
+- ccache now knows how to work around a glitch in the output of GCC 6's
+  preprocessor.
+
+
+ccache 3.2.6
+------------
+Release date: 2016-07-12
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed build problem on QNX, which lacks ``SA_RESTART''.
+
+- Bail out on compiler option `-fstack-usage` since it creates a `.su` file
+  which ccache currently doesn't handle.
+
+- Fixed a bug where (due to ccache rewriting paths) the compiler could choose
+  incorrect include files if `CCACHE_BASEDIR` is used and the source file path
+  is absolute and is a symlink.
+
+
 ccache 3.2.5
 ------------
 Release date: 2016-04-17
@@ -275,6 +306,19 @@
 - Fixed test suite failures when `CC` is a ccache-wrapped compiler.
 
 
+ccache 3.1.12
+-------------
+Release date: 2016-07-12
+
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed a bug where (due to ccache rewriting paths) the compiler could choose
+  incorrect include files if `CCACHE_BASEDIR` is used and the source file path
+  is absolute and is a symlink.
+
+
 ccache 3.1.11
 -------------
 Release date: 2015-03-07
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/README.html new/ccache-3.2.7/README.html
--- old/ccache-3.2.5/README.html        2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/README.html        2016-07-20 18:01:54.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache README</h1>
-<span id="revnumber">version 3.2.5</span>
+<span id="revnumber">version 3.2.7</span>
 <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>
@@ -802,12 +802,12 @@
 repository, use git:</p></div>
 <div class="literalblock">
 <div class="content">
-<pre><code>git clone git://git.samba.org/ccache.git</code></pre>
+<pre><code>git clone https://github.com/ccache/ccache.git</code></pre>
 </div></div>
 <div class="paragraph"><p>You can also browse the repository:</p></div>
 <div class="literalblock">
 <div class="content">
-<pre><code>http://gitweb.samba.org/?p=ccache.git</code></pre>
+<pre><code>https://github.com/ccache/ccache</code></pre>
 </div></div>
 </div>
 </div>
@@ -830,9 +830,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.5<br />
+Version 3.2.7<br />
 Last updated
- 2016-04-17 16:43:39 CEST
+ 2016-07-20 18:01:48 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/README.txt new/ccache-3.2.7/README.txt
--- old/ccache-3.2.5/README.txt 2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/README.txt 2016-07-20 18:01:54.000000000 +0200
@@ -58,11 +58,11 @@
 To get the very latest version of ccache directly from the source code
 repository, use git:
 
-    git clone git://git.samba.org/ccache.git
+    git clone https://github.com/ccache/ccache.git
 
 You can also browse the repository:
 
-    http://gitweb.samba.org/?p=ccache.git
+    https://github.com/ccache/ccache
 
 
 History
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/ccache.1 new/ccache-3.2.7/ccache.1
--- old/ccache-3.2.5/ccache.1   2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/ccache.1   2016-07-20 18:01:54.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: ccache
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 04/17/2016
+.\"      Date: 07/20/2016
 .\"    Manual: ccache Manual
-.\"    Source: ccache 3.2.5
+.\"    Source: ccache 3.2.7
 .\"  Language: English
 .\"
-.TH "CCACHE" "1" "04/17/2016" "ccache 3\&.2\&.5" "ccache Manual"
+.TH "CCACHE" "1" "07/20/2016" "ccache 3\&.2\&.7" "ccache Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -489,7 +489,7 @@
 .PP
 \fBhash_dir\fR (\fBCCACHE_HASHDIR\fR or \fBCCACHE_NOHASHDIR\fR, see Boolean 
values above)
 .RS 4
-If true, ccache will include the current working directory in the hash that is 
used to distinguish two compilations\&. This prevents a problem with the 
storage of the current working directory in the debug info of a object file, 
which can lead ccache to give a cached object file that has the working 
directory in the debug info set incorrectly\&. This option is off by default as 
the incorrect setting of this debug info rarely causes problems\&. If you 
strike problems with GDB not using the correct directory then enable this 
option\&.
+If true, ccache will include the current working directory in the hash that is 
used to distinguish two compilations\&. This prevents a problem with the 
storage of the current working directory in the debug info of an object file, 
which can lead ccache to give a cached object file that has the working 
directory in the debug info set incorrectly\&. This option is off by default as 
the incorrect setting of this debug info rarely causes problems\&. If you 
strike problems with GDB not using the correct directory then enable this 
option\&.
 .RE
 .PP
 \fBlog_file\fR (\fBCCACHE_LOGFILE\fR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/ccache.c new/ccache-3.2.7/ccache.c
--- old/ccache-3.2.5/ccache.c   2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/ccache.c   2016-07-20 18:01:54.000000000 +0200
@@ -402,7 +402,9 @@
        memset(&act, 0, sizeof(act));
        act.sa_handler = signal_handler;
        act.sa_mask = fatal_signal_set;
+#ifdef SA_RESTART
        act.sa_flags = SA_RESTART;
+#endif
        sigaction(signum, &act, NULL);
 }
 
@@ -748,6 +750,30 @@
                    && (q == data || q[-1] == '\n')) {
                        char *path;
 
+                       /* Workarounds for preprocessor linemarker bugs in GCC 
version 6 */
+                       if (q[2] == '3') {
+                               if (str_startswith(q, "# 31 
\"<command-line>\"\n")) {
+                                       /* Bogus extra line with #31, after the 
regular #1:
+                                          Ignore the whole line, and continue 
parsing */
+                                       hash_buffer(hash, p, q - p);
+                                       while (q < end && *q != '\n') {
+                                               q++;
+                                       }
+                                       q++;
+                                       p = q;
+                                       continue;
+                               } else if (str_startswith(q, "# 32 
\"<command-line>\" 2\n")) {
+                                       /* Bogus wrong line with #32, instead 
of regular #1:
+                                          Replace the line number with the 
usual one */
+                                       hash_buffer(hash, p, q - p);
+                                       q += 1;
+                                       q[0] = '#';
+                                       q[1] = ' ';
+                                       q[2] = '1';
+                                       p = q;
+                               }
+                       }
+
                        while (q < end && *q != '"' && *q != '\n') {
                                q++;
                        }
@@ -1098,7 +1124,7 @@
                cc_log("Stored in cache: %s", cached_stderr);
                if (!conf->compression
                    /* If the file was compressed, obtain the size again: */
-                   || (conf->compression && x_stat(cached_stderr, &st) == 0)) {
+                   || x_stat(cached_stderr, &st) == 0) {
                        stats_update_size(file_size(&st), 1);
                }
        } else {
@@ -1599,6 +1625,11 @@
                /* All other arguments are included in the hash. */
                hash_delimiter(hash, "arg");
                hash_string(hash, args->argv[i]);
+               if (i + 1 < args->argc && compopt_takes_arg(args->argv[i])) {
+                       i++;
+                       hash_delimiter(hash, "arg");
+                       hash_string(hash, args->argv[i]);
+               }
        }
 
        /*
@@ -1841,7 +1872,7 @@
        x_exit(0);
 }
 
-/* find the real compiler. We just search the PATH to find a executable of the
+/* find the real compiler. We just search the PATH to find an executable of the
  * same name that isn't a link to ourselves */
 static void
 find_compiler(char **argv)
@@ -2490,8 +2521,17 @@
                        continue;
                }
 
-               /* Rewrite to relative to increase hit rate. */
-               input_file = make_relative_path(x_strdup(argv[i]));
+               lstat(argv[i], &st);
+               if (S_ISLNK(st.st_mode)) {
+                       /* Don't rewrite source file path if it's a symlink 
since
+                          make_relative_path resolves symlinks using 
realpath(3) and this leads
+                          to potentially choosing incorrect relative header 
files. See the
+                          "symlink to source file" test. */
+                       input_file = x_strdup(argv[i]);
+               } else {
+                       /* Rewrite to relative to increase hit rate. */
+                       input_file = make_relative_path(x_strdup(argv[i]));
+               }
        } /* for */
 
        if (found_S_opt) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/compopt.c new/ccache-3.2.7/compopt.c
--- old/ccache-3.2.5/compopt.c  2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/compopt.c  2016-07-20 18:01:54.000000000 +0200
@@ -36,6 +36,7 @@
        {"--save-temps",    TOO_HARD},
        {"--serialize-diagnostics", TAKES_ARG | TAKES_PATH},
        {"-A",              TAKES_ARG},
+       {"-B",              TAKES_ARG | TAKES_CONCAT_ARG},
        {"-D",              AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG},
        {"-E",              TOO_HARD},
        {"-F",              AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | 
TAKES_PATH},
@@ -60,6 +61,7 @@
        {"-fno-working-directory", AFFECTS_CPP},
        {"-fplugin=libcc1plugin", TOO_HARD}, /* interaction with GDB */
        {"-frepo",          TOO_HARD},
+       {"-fstack-usage",   TOO_HARD},
        {"-fworking-directory", AFFECTS_CPP},
        {"-idirafter",      AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
        {"-iframework",     AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | 
TAKES_PATH},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/hashtable.c new/ccache-3.2.7/hashtable.c
--- old/ccache-3.2.5/hashtable.c        2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/hashtable.c        2016-07-20 18:01:54.000000000 +0200
@@ -102,7 +102,6 @@
     /* Double the size of the table to accommodate more entries */
     struct entry **newtable;
     struct entry *e;
-    struct entry **pE;
     unsigned int newsize, i, index;
     /* Check we're not hitting max capacity */
     if (h->primeindex == (prime_table_length - 1)) return 0;
@@ -128,6 +127,7 @@
     /* Plan B: realloc instead */
     else 
     {
+        struct entry **pE;
         newtable = (struct entry **)
                    realloc(h->table, newsize * sizeof(struct entry *));
         if (NULL == newtable) { (h->primeindex)--; return 0; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/test.sh new/ccache-3.2.7/test.sh
--- old/ccache-3.2.5/test.sh    2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/test.sh    2016-07-20 18:01:54.000000000 +0200
@@ -3,7 +3,7 @@
 # A simple test suite for ccache.
 #
 # Copyright (C) 2002-2007 Andrew Tridgell
-# Copyright (C) 2009-2015 Joel Rosdahl
+# Copyright (C) 2009-2016 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 Software
@@ -1477,6 +1477,27 @@
     else
         test_failed "unexpected output of --dump-manifest"
     fi
+
+    ##################################################################
+    testname="argument-less -B and -L"
+    $CCACHE -Cz > /dev/null
+    cat <<EOF >test.c
+#include <stdio.h>
+int main(void)
+{
+#ifdef FOO
+    puts("FOO");
+#endif
+    return 0;
+}
+EOF
+
+    $CCACHE $COMPILER -A -L -DFOO -c test.c
+    checkstat 'cache hit (direct)' 0
+    checkstat 'cache miss' 1
+    $CCACHE $COMPILER -A -L -DBAR -c test.c
+    checkstat 'cache hit (direct)' 0
+    checkstat 'cache miss' 2
 }
 
 basedir_suite() {
@@ -2411,6 +2432,91 @@
 b"
 }
 
+buggy_cpp_suite() {
+    testname="buggy_cpp"
+    $CCACHE -Cz >/dev/null
+    cat >buggy-cpp <<EOF
+#!/bin/sh
+CCACHE_DISABLE=1 # If $COMPILER happens to be a ccache symlink...
+export CCACHE_DISABLE
+if echo "\$*" | grep -- -D >/dev/null; then
+  $COMPILER "\$@"
+else
+  # mistreat the preprocessor output in the same way as gcc6 does
+  $COMPILER "\$@" |
+    sed -e '/^# 1 "<command-line>"$/ a # 31 "<command-line>"' \\
+        -e 's/^# 1 "<command-line>" 2$/# 32 "<command-line>" 2/'
+fi
+exit 0
+EOF
+    cat <<'EOF' >file.c
+int foo;
+EOF
+    chmod +x buggy-cpp
+    backdate buggy-cpp
+    $CCACHE ./buggy-cpp -c file.c
+    checkstat 'cache hit (direct)' 0
+    checkstat 'cache hit (preprocessed)' 0
+    checkstat 'cache miss' 1
+    $CCACHE ./buggy-cpp -DNOT_AFFECTING=1 -c file.c
+    checkstat 'cache hit (direct)' 0
+    checkstat 'cache hit (preprocessed)' 1
+    checkstat 'cache miss' 1
+}
+
+symlinks_suite() {
+    ##################################################################
+    testname="symlink to source directory"
+
+    mkdir dir
+    cd dir
+    mkdir -p d1/d2
+    echo '#define A "OK"' >d1/h.h
+    cat <<EOF >d1/d2/c.c
+#include <stdio.h>
+#include "../h.h"
+int main() { printf("%s\n", A); }
+EOF
+    echo '#define A "BUG"' >h.h
+    ln -s d1/d2 d3
+
+    CCACHE_BASEDIR=/ $CCACHE $COMPILER -c $PWD/d3/c.c
+    $COMPILER -c $PWD/d3/c.c
+    $COMPILER c.o -o c
+    result=$(./c)
+    if [ "$result" != OK ]; then
+        test_failed "Incorrect header file used"
+    fi
+
+    cd ..
+    rm -rf dir
+
+    ##################################################################
+    testname="symlink to source file"
+
+    mkdir dir
+    cd dir
+    mkdir d
+    echo '#define A "BUG"' >d/h.h
+    cat <<EOF >d/c.c
+#include <stdio.h>
+#include "h.h"
+int main() { printf("%s\n", A); }
+EOF
+    echo '#define A "OK"' >h.h
+    ln -s d/c.c c.c
+
+    CCACHE_BASEDIR=/ $CCACHE $COMPILER -c $PWD/c.c
+    $COMPILER c.o -o c
+    result=$(./c)
+    if [ "$result" != OK ]; then
+        test_failed "Incorrect header file used"
+    fi
+
+    cd ..
+    rm -rf dir
+}
+
 ######################################################################
 # main program
 
@@ -2521,8 +2627,10 @@
 extrafiles
 cleanup
 pch
+symlinks
 upgrade
 prefix
+buggy_cpp
 "
 
 case $host_os in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.5/version.c new/ccache-3.2.7/version.c
--- old/ccache-3.2.5/version.c  2016-04-17 16:44:45.000000000 +0200
+++ new/ccache-3.2.7/version.c  2016-07-20 18:01:54.000000000 +0200
@@ -1 +1 @@
-const char CCACHE_VERSION[] = "3.2.5";
+const char CCACHE_VERSION[] = "3.2.7";



Reply via email to