Hello community,

here is the log from the commit of package ccache for openSUSE:Factory checked 
in at 2017-01-22 00:51:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-09-12 
13:28:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ccache.new/ccache.changes       2017-01-22 
00:51:27.085590960 +0100
@@ -1,0 +2,15 @@
+Thu Jan 19 21:41:05 UTC 2017 - a...@cryptomilk.org
+
+- Update to version 3.3.3
+  * ccache now detects usage of .incbin assembler directives in
+    the source code and avoids caching such compilations.
+- Changes for version 3.3.2:
+  * Fixed a regression in ccache 3.3 related to potentially bad
+    content of dependency files when compiling identical source
+    code but with different source paths.
+  * Fixed a regression in ccache 3.3.1: ccache could get confused
+    when using the compiler option -Wp, to pass multiple options
+    to the preprocessor, resulting in missing dependency files
+    from direct mode cache hits.
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ ccache.spec ++++++
--- /var/tmp/diff_new_pack.Vdfxvx/_old  2017-01-22 00:51:27.641512216 +0100
+++ /var/tmp/diff_new_pack.Vdfxvx/_new  2017-01-22 00:51:27.641512216 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ccache
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           ccache
-Version:        3.3.1
+Version:        3.3.3
 Release:        0
 Summary:        A Fast C/C++ Compiler Cache
 License:        GPL-3.0+

++++++ ccache-3.3.1.tar.xz -> ccache-3.3.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/AUTHORS.html 
new/ccache-3.3.3/AUTHORS.html
--- old/ccache-3.3.1/AUTHORS.html       2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/AUTHORS.html       2016-10-26 23:31:19.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache authors</h1>
-<span id="revnumber">version 3.3+5_g3df7836_dirty</span>
+<span id="revnumber">version 3.3.3</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>
@@ -1065,9 +1065,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.3+5_g3df7836_dirty<br />
+Version 3.3.3<br />
 Last updated
- 2016-09-07 21:00:33 CEST
+ 2016-10-26 23:04:27 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/LICENSE.html 
new/ccache-3.3.3/LICENSE.html
--- old/ccache-3.3.1/LICENSE.html       2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/LICENSE.html       2016-10-26 23:31:19.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache copyright and license</h1>
-<span id="revnumber">version 3.3+5_g3df7836_dirty</span>
+<span id="revnumber">version 3.3.3</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.3+5_g3df7836_dirty<br />
+Version 3.3.3<br />
 Last updated
- 2016-09-07 21:00:33 CEST
+ 2016-10-26 23:04:27 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/MANUAL.html new/ccache-3.3.3/MANUAL.html
--- old/ccache-3.3.1/MANUAL.html        2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/MANUAL.html        2016-10-26 23:31:19.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>CCACHE(1)</h1>
-<span id="revnumber">version 3.3+5_g3df7836_dirty</span>
+<span id="revnumber">version 3.3.3</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>
@@ -2021,16 +2021,6 @@
 <div class="ulist"><ul>
 <li>
 <p>
-ccache doesn&#8217;t handle the GNU Assembler&#8217;s <strong>.incbin</strong> 
directive correctly. This
-  directive can be embedded in the source code inside an 
<strong><em>asm</em></strong> statement in
-  order to include a file verbatim in the object file. If the included file is
-  modified, ccache doesn&#8217;t pick up the change since the inclusion 
isn&#8217;t done by
-  the preprocessor. A workaround of this problem is to set
-  <strong>extra_files_to_hash</strong> to the path of the included file.
-</p>
-</li>
-<li>
-<p>
 The direct mode fails to pick up new header files in some rare scenarios. See
   <a href="#_the_direct_mode">THE DIRECT MODE</a> above.
 </p>
@@ -2232,9 +2222,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.3+5_g3df7836_dirty<br />
+Version 3.3.3<br />
 Last updated
- 2016-09-07 21:00:33 CEST
+ 2016-10-26 23:21:34 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/MANUAL.txt new/ccache-3.3.3/MANUAL.txt
--- old/ccache-3.3.1/MANUAL.txt 2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/MANUAL.txt 2016-10-26 23:31:19.000000000 +0200
@@ -800,13 +800,6 @@
 Caveats
 -------
 
-* ccache doesn't handle the GNU Assembler's *.incbin* directive correctly. This
-  directive can be embedded in the source code inside an *__asm__* statement in
-  order to include a file verbatim in the object file. If the included file is
-  modified, ccache doesn't pick up the change since the inclusion isn't done by
-  the preprocessor. A workaround of this problem is to set
-  *extra_files_to_hash* to the path of the included file.
-
 * The direct mode fails to pick up new header files in some rare scenarios. See
   <<_the_direct_mode,THE DIRECT MODE>> above.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/NEWS.html new/ccache-3.3.3/NEWS.html
--- old/ccache-3.3.1/NEWS.html  2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/NEWS.html  2016-10-26 23:31:19.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache news</h1>
-<span id="revnumber">version 3.3.1</span>
+<span id="revnumber">version 3.3.3</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,11 +742,53 @@
 </div>
 <div id="content">
 <div class="sect1">
+<h2 id="_ccache_3_3_3">ccache 3.3.3</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-10-26</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+ccache now detects usage of <code>.incbin</code> assembler directives in the 
source code
+  and avoids caching such compilations.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_ccache_3_3_2">ccache 3.3.2</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-09-28</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes_2">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed a regression in ccache 3.3 related to potentially bad content of
+  dependency files when compiling identical source code but with different
+  source paths.
+</p>
+</li>
+<li>
+<p>
+Fixed a regression in ccache 3.3.1: ccache could get confused when using the
+  compiler option <code>-Wp,</code> to pass multiple options to the 
preprocessor,
+  resulting in missing dependency files from direct mode cache hits.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_ccache_3_3_1">ccache 3.3.1</h2>
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-09-07</p></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>
@@ -928,7 +970,7 @@
 </ul></div>
 </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>
@@ -950,11 +992,29 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="_ccache_3_2_9">ccache 3.2.9</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2016-09-28</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes_5">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed a regression in ccache 3.2.8: ccache could get confused when using the
+  compiler option <code>-Wp,</code> to pass multiple options to the 
preprocessor,
+  resulting in missing dependency files from direct mode cache hits.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_ccache_3_2_8">ccache 3.2.8</h2>
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-09-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_3">Bug fixes</h3>
+<h3 id="_bug_fixes_6">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -978,7 +1038,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-07-20</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_4">Bug fixes</h3>
+<h3 id="_bug_fixes_7">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1001,7 +1061,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-07-12</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_5">Bug fixes</h3>
+<h3 id="_bug_fixes_8">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1051,7 +1111,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_6">Bug fixes</h3>
+<h3 id="_bug_fixes_9">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1111,7 +1171,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-10-08</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>
@@ -1166,7 +1226,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>
@@ -1220,7 +1280,7 @@
 </ul></div>
 </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>
@@ -1291,7 +1351,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2014-12-10</p></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>
@@ -1523,7 +1583,7 @@
 </ul></div>
 </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>
@@ -1554,7 +1614,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2016-07-12</p></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>
@@ -1572,7 +1632,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-03-07</p></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>
@@ -1655,7 +1715,7 @@
 </ul></div>
 </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>
@@ -1695,7 +1755,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2013-01-06</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>
@@ -1766,7 +1826,7 @@
 </ul></div>
 </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>
@@ -1814,7 +1874,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2012-01-08</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>
@@ -1897,7 +1957,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>
@@ -1950,7 +2010,7 @@
 </ul></div>
 </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>
@@ -1983,7 +2043,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2011-01-09</p></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>
@@ -2016,7 +2076,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-28</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_21">Bug fixes</h3>
+<h3 id="_bug_fixes_24">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2043,7 +2103,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-21</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_22">Bug fixes</h3>
+<h3 id="_bug_fixes_25">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2091,7 +2151,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_23">Bug fixes</h3>
+<h3 id="_bug_fixes_26">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2213,7 +2273,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_24">Bug fixes</h3>
+<h3 id="_bug_fixes_27">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2299,7 +2359,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-07-15</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_25">Bug fixes</h3>
+<h3 id="_bug_fixes_28">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2488,7 +2548,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_26">Bug fixes</h3>
+<h3 id="_bug_fixes_29">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2633,9 +2693,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.3.1<br />
+Version 3.3.3<br />
 Last updated
- 2016-09-07 21:19:19 CEST
+ 2016-10-26 23:30:56 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/NEWS.txt new/ccache-3.3.3/NEWS.txt
--- old/ccache-3.3.1/NEWS.txt   2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/NEWS.txt   2016-10-26 23:31:19.000000000 +0200
@@ -1,6 +1,33 @@
 ccache news
 ===========
 
+ccache 3.3.3
+------------
+Release date: 2016-10-26
+
+Bug fixes
+~~~~~~~~~
+
+- ccache now detects usage of `.incbin` assembler directives in the source code
+  and avoids caching such compilations.
+
+
+ccache 3.3.2
+------------
+Release date: 2016-09-28
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed a regression in ccache 3.3 related to potentially bad content of
+  dependency files when compiling identical source code but with different
+  source paths.
+
+- Fixed a regression in ccache 3.3.1: ccache could get confused when using the
+  compiler option `-Wp,` to pass multiple options to the preprocessor,
+  resulting in missing dependency files from direct mode cache hits.
+
+
 ccache 3.3.1
 ------------
 Release date: 2016-09-07
@@ -111,6 +138,18 @@
 - Fixed build and test for MinGW32 and Windows.
 
 
+ccache 3.2.9
+------------
+Release date: 2016-09-28
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed a regression in ccache 3.2.8: ccache could get confused when using the
+  compiler option `-Wp,` to pass multiple options to the preprocessor,
+  resulting in missing dependency files from direct mode cache hits.
+
+
 ccache 3.2.8
 ------------
 Release date: 2016-09-07
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/ccache.1 new/ccache-3.3.3/ccache.1
--- old/ccache-3.3.1/ccache.1   2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/ccache.1   2016-10-26 23:31:19.000000000 +0200
@@ -1,13 +1,13 @@
 '\" t
 .\"     Title: ccache
 .\"    Author: [see the "Author" section]
-.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 09/07/2016
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\"      Date: 10/26/2016
 .\"    Manual: ccache Manual
-.\"    Source: ccache 3.3.1
+.\"    Source: ccache 3.3.3
 .\"  Language: English
 .\"
-.TH "CCACHE" "1" "09/07/2016" "ccache 3\&.3\&.1" "ccache Manual"
+.TH "CCACHE" "1" "10/26/2016" "ccache 3\&.3\&.3" "ccache Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -1297,23 +1297,6 @@
 .sp
 .RS 4
 .ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-ccache doesn\(cqt handle the GNU Assembler\(cqs
-\fB\&.incbin\fR
-directive correctly\&. This directive can be embedded in the source code 
inside an
-\fB\fIasm\fR\fR
-statement in order to include a file verbatim in the object file\&. If the 
included file is modified, ccache doesn\(cqt pick up the change since the 
inclusion isn\(cqt done by the preprocessor\&. A workaround of this problem is 
to set
-\fBextra_files_to_hash\fR
-to the path of the included file\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
 \h'-04'\(bu\h'+03'\c
 .\}
 .el \{\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/ccache.c new/ccache-3.3.3/ccache.c
--- old/ccache-3.3.1/ccache.c   2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/ccache.c   2016-10-26 23:31:19.000000000 +0200
@@ -815,6 +815,15 @@
                        inc_path = make_relative_path(inc_path);
                        remember_include_file(inc_path, hash, system);
                        p = q;
+               } else if (q[0] == '.' && q[1] == 'i' && q[2] == 'n' && q[3] == 
'c'
+                          && q[4] == 'b' && q[5] == 'i' && q[6] == 'n') {
+                       // An assembler .incbin statement (which could be part 
of inline
+                       // assembly) refers to an external file. If the file 
changes, the hash
+                       // should change as well, but finding out what file to 
hash is too hard
+                       // for ccache, so just bail out.
+                       cc_log("Found unsupported .incbin directive in source 
code");
+                       stats_update(STATS_UNSUPPORTED_DIRECTIVE);
+                       failed();
                } else {
                        q++;
                }
@@ -1536,6 +1545,13 @@
                }
        }
 
+       // Possibly hash input file location to avoid false positive cache hits 
since
+       // the dependency file includes the source file path.
+       if (generating_dependencies) {
+               hash_delimiter(hash, "inputfile");
+               hash_string(hash, input_file);
+       }
+
        // Possibly hash the coverage data file path.
        if (generating_coverage && profile_arcs) {
                char *dir = dirname(output_obj);
@@ -2129,7 +2145,7 @@
                if (str_eq(argv[i], "-optf") || str_eq(argv[i], 
"--options-file")) {
                        if (i > argc) {
                                cc_log("Expected argument after 
-optf/--options-file");
-                               stats_update(STATS_UNSUPPORTED);
+                               stats_update(STATS_UNSUPPORTED_OPTION);
                                result = false;
                                goto out;
                        }
@@ -2169,7 +2185,7 @@
                // These are always too hard.
                if (compopt_too_hard(argv[i]) || str_startswith(argv[i], 
"-fdump-")) {
                        cc_log("Compiler option %s is unsupported", argv[i]);
-                       stats_update(STATS_UNSUPPORTED);
+                       stats_update(STATS_UNSUPPORTED_OPTION);
                        result = false;
                        goto out;
                }
@@ -2183,7 +2199,7 @@
                // -Xarch_* options are too hard.
                if (str_startswith(argv[i], "-Xarch_")) {
                        cc_log("Unsupported compiler option :%s", argv[i]);
-                       stats_update(STATS_UNSUPPORTED);
+                       stats_update(STATS_UNSUPPORTED_OPTION);
                        result = false;
                        goto out;
                }
@@ -2193,7 +2209,7 @@
                        if (arch_args_size == MAX_ARCH_ARGS - 1) {
                                cc_log("Too many -arch compiler options; ccache 
supports at most %d",
                                       MAX_ARCH_ARGS);
-                               stats_update(STATS_UNSUPPORTED);
+                               stats_update(STATS_UNSUPPORTED_OPTION);
                                result = false;
                                goto out;
                        }
@@ -2415,7 +2431,7 @@
                                // file from compiling the preprocessed file 
will not be equal to the
                                // object file produced when compiling without 
ccache.
                                cc_log("Too hard option -Wp,-P detected");
-                               stats_update(STATS_UNSUPPORTED);
+                               stats_update(STATS_UNSUPPORTED_OPTION);
                                failed();
                        } else if (str_startswith(argv[i], "-Wp,-MD,")
                                   && !strchr(argv[i] + 8, ',')) {
@@ -2438,8 +2454,15 @@
                                // Treat it like -D.
                                args_add(cpp_args, argv[i] + 4);
                                continue;
-                       } else if (str_startswith(argv[i], "-Wp,-M")) {
-                               // -MF, -MP, -MQ, -MT, etc. TODO: Make argument 
to MF/MQ/MT relative.
+                       } else if (str_eq(argv[i], "-Wp,-MP")
+                                  || (strlen(argv[i]) > 8
+                                      && str_startswith(argv[i], "-Wp,-M")
+                                      && argv[i][7] == ','
+                                      && (argv[i][6] == 'F'
+                                          || argv[i][6] == 'Q'
+                                          || argv[i][6] == 'T')
+                                      && !strchr(argv[i] + 8, ','))) {
+                               // TODO: Make argument to MF/MQ/MT relative.
                                args_add(dep_args, argv[i]);
                                continue;
                        } else if (conf->direct_mode) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/ccache.h new/ccache-3.3.3/ccache.h
--- old/ccache-3.3.1/ccache.h   2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/ccache.h   2016-10-26 23:31:19.000000000 +0200
@@ -42,7 +42,7 @@
        STATS_NOINPUT = 17,
        STATS_MULTIPLE = 18,
        STATS_CONFTEST = 19,
-       STATS_UNSUPPORTED = 20,
+       STATS_UNSUPPORTED_OPTION = 20,
        STATS_OUTSTDOUT = 21,
        STATS_CACHEHIT_DIR = 22,
        STATS_NOOUTPUT = 23,
@@ -52,6 +52,7 @@
        STATS_CANTUSEPCH = 27,
        STATS_PREPROCESSING = 28,
        STATS_NUMCLEANUPS = 29,
+       STATS_UNSUPPORTED_DIRECTIVE = 30,
 
        STATS_END
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/configure new/ccache-3.3.3/configure
--- old/ccache-3.3.1/configure  2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/configure  2016-10-26 23:31:19.000000000 +0200
@@ -666,6 +666,7 @@
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -737,6 +738,7 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE}'
@@ -989,6 +991,15 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1126,7 +1137,7 @@
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
+               libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1279,6 +1290,7 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/stats.c new/ccache-3.3.3/stats.c
--- old/ccache-3.3.1/stats.c    2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/stats.c    2016-10-26 23:31:19.000000000 +0200
@@ -50,40 +50,192 @@
        void (*fn)(uint64_t);
        unsigned flags;
 } stats_info[] = {
-       { STATS_CACHEHIT_DIR, "cache hit (direct)             ", NULL, 
FLAG_ALWAYS },
-       { STATS_CACHEHIT_CPP, "cache hit (preprocessed)       ", NULL, 
FLAG_ALWAYS },
-       { STATS_TOCACHE,      "cache miss                     ", NULL, 
FLAG_ALWAYS },
-       { STATS_LINK,         "called for link                ", NULL, 0 },
-       { STATS_PREPROCESSING, "called for preprocessing       ", NULL, 0 },
-       { STATS_MULTIPLE,     "multiple source files          ", NULL, 0 },
-       { STATS_STDOUT,       "compiler produced stdout       ", NULL, 0 },
-       { STATS_NOOUTPUT,     "compiler produced no output    ", NULL, 0 },
-       { STATS_EMPTYOUTPUT,  "compiler produced empty output ", NULL, 0 },
-       { STATS_STATUS,       "compile failed                 ", NULL, 0 },
-       { STATS_ERROR,        "ccache internal error          ", NULL, 0 },
-       { STATS_PREPROCESSOR, "preprocessor error             ", NULL, 0 },
-       { STATS_CANTUSEPCH,   "can't use precompiled header   ", NULL, 0 },
-       { STATS_COMPILER,     "couldn't find the compiler     ", NULL, 0 },
-       { STATS_MISSING,      "cache file missing             ", NULL, 0 },
-       { STATS_ARGS,         "bad compiler arguments         ", NULL, 0 },
-       { STATS_SOURCELANG,   "unsupported source language    ", NULL, 0 },
-       { STATS_COMPCHECK,    "compiler check failed          ", NULL, 0 },
-       { STATS_CONFTEST,     "autoconf compile/link          ", NULL, 0 },
-       { STATS_UNSUPPORTED,  "unsupported compiler option    ", NULL, 0 },
-       { STATS_OUTSTDOUT,    "output to stdout               ", NULL, 0 },
-       { STATS_DEVICE,       "output to a non-regular file   ", NULL, 0 },
-       { STATS_NOINPUT,      "no input file                  ", NULL, 0 },
-       { STATS_BADEXTRAFILE, "error hashing extra file       ", NULL, 0 },
-       { STATS_NUMCLEANUPS,  "cleanups performed             ", NULL, 
FLAG_ALWAYS },
-       { STATS_NUMFILES,     "files in cache                 ", NULL,
-               FLAG_NOZERO|FLAG_ALWAYS },
-       { STATS_TOTALSIZE,    "cache size                     ",
-               display_size_times_1024, FLAG_NOZERO|FLAG_ALWAYS },
-       { STATS_OBSOLETE_MAXFILES, "OBSOLETE",                   NULL,
-               FLAG_NOZERO|FLAG_NEVER},
-       { STATS_OBSOLETE_MAXSIZE, "OBSOLETE",                    NULL,
-               FLAG_NOZERO|FLAG_NEVER},
-       { STATS_NONE, NULL, NULL, 0 }
+       {
+               STATS_CACHEHIT_DIR,
+               "cache hit (direct)",
+               NULL,
+               FLAG_ALWAYS
+       },
+       {
+               STATS_CACHEHIT_CPP,
+               "cache hit (preprocessed)",
+               NULL,
+               FLAG_ALWAYS
+       },
+       {
+               STATS_TOCACHE,
+               "cache miss",
+               NULL,
+               FLAG_ALWAYS
+       },
+       {
+               STATS_LINK,
+               "called for link",
+               NULL,
+               0
+       },
+       {
+               STATS_PREPROCESSING,
+               "called for preprocessing",
+               NULL,
+               0
+       },
+       {
+               STATS_MULTIPLE,
+               "multiple source files",
+               NULL,
+               0
+       },
+       {
+               STATS_STDOUT,
+               "compiler produced stdout",
+               NULL,
+               0
+       },
+       {
+               STATS_NOOUTPUT,
+               "compiler produced no output",
+               NULL,
+               0
+       },
+       {
+               STATS_EMPTYOUTPUT,
+               "compiler produced empty output",
+               NULL,
+               0
+       },
+       {
+               STATS_STATUS,
+               "compile failed",
+               NULL,
+               0
+       },
+       {
+               STATS_ERROR,
+               "ccache internal error",
+               NULL,
+               0
+       },
+       {
+               STATS_PREPROCESSOR,
+               "preprocessor error",
+               NULL,
+               0
+       },
+       {
+               STATS_CANTUSEPCH,
+               "can't use precompiled header",
+               NULL,
+               0
+       },
+       {
+               STATS_COMPILER,
+               "couldn't find the compiler",
+               NULL,
+               0
+       },
+       {
+               STATS_MISSING,
+               "cache file missing",
+               NULL,
+               0
+       },
+       {
+               STATS_ARGS,
+               "bad compiler arguments",
+               NULL,
+               0
+       },
+       {
+               STATS_SOURCELANG,
+               "unsupported source language",
+               NULL,
+               0
+       },
+       {
+               STATS_COMPCHECK,
+               "compiler check failed",
+               NULL,
+               0
+       },
+       {
+               STATS_CONFTEST,
+               "autoconf compile/link",
+               NULL,
+               0
+       },
+       {
+               STATS_UNSUPPORTED_OPTION,
+               "unsupported compiler option",
+               NULL,
+               0
+       },
+       {
+               STATS_UNSUPPORTED_DIRECTIVE,
+               "unsupported code directive",
+               NULL,
+               0
+       },
+       {
+               STATS_OUTSTDOUT,
+               "output to stdout",
+               NULL,
+               0
+       },
+       {
+               STATS_DEVICE,
+               "output to a non-regular file",
+               NULL,
+               0
+       },
+       {
+               STATS_NOINPUT,
+               "no input file",
+               NULL,
+               0
+       },
+       {
+               STATS_BADEXTRAFILE,
+               "error hashing extra file",
+               NULL,
+               0
+       },
+       {
+               STATS_NUMCLEANUPS,
+               "cleanups performed",
+               NULL,
+               FLAG_ALWAYS
+       },
+       {
+               STATS_NUMFILES,
+               "files in cache",
+               NULL,
+               FLAG_NOZERO|FLAG_ALWAYS
+       },
+       {
+               STATS_TOTALSIZE,
+               "cache size",
+               display_size_times_1024,
+               FLAG_NOZERO|FLAG_ALWAYS
+       },
+       {
+               STATS_OBSOLETE_MAXFILES,
+               "OBSOLETE",
+               NULL,
+               FLAG_NOZERO|FLAG_NEVER
+       },
+       {
+               STATS_OBSOLETE_MAXSIZE,
+               "OBSOLETE",
+               NULL,
+               FLAG_NOZERO|FLAG_NEVER
+       },
+       {
+               STATS_NONE,
+               NULL,
+               NULL,
+               0
+       }
 };
 
 static void
@@ -297,7 +449,7 @@
                        continue;
                }
 
-               printf("%s ", stats_info[i].message);
+               printf("%-31s ", stats_info[i].message);
                if (stats_info[i].fn) {
                        stats_info[i].fn(counters->data[stat]);
                        printf("\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/test/test_argument_processing.c 
new/ccache-3.3.3/test/test_argument_processing.c
--- old/ccache-3.3.1/test/test_argument_processing.c    2016-09-07 
21:22:01.000000000 +0200
+++ new/ccache-3.3.3/test/test_argument_processing.c    2016-10-26 
23:31:19.000000000 +0200
@@ -81,7 +81,7 @@
 
        create_file("foo.c", "");
        CHECK(!cc_process_args(orig, &preprocessed, &compiler));
-       CHECK_INT_EQ(1, stats_get_pending(STATS_UNSUPPORTED));
+       CHECK_INT_EQ(1, stats_get_pending(STATS_UNSUPPORTED_OPTION));
 
        args_free(orig);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/test.sh new/ccache-3.3.3/test.sh
--- old/ccache-3.3.1/test.sh    2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/test.sh    2016-10-26 23:31:19.000000000 +0200
@@ -976,6 +976,20 @@
     expect_stat 'unsupported compiler option' 1
 
     # -------------------------------------------------------------------------
+    TEST "-MMD for different source files"
+
+    mkdir a b
+    touch a/source.c b/source.c
+    $CCACHE_COMPILE -MMD -c a/source.c
+    expect_file_content source.d "source.o: a/source.c"
+
+    $CCACHE_COMPILE -MMD -c b/source.c
+    expect_file_content source.d "source.o: b/source.c"
+
+    $CCACHE_COMPILE -MMD -c a/source.c
+    expect_file_content source.d "source.o: a/source.c"
+
+    # -------------------------------------------------------------------------
     TEST "-Wp,-P"
 
     # Check that -Wp,-P disables ccache. (-P removes preprocessor information
@@ -1087,6 +1101,18 @@
     if [ "$(./c)" != OK ]; then
         test_failed "Incorrect header file used"
     fi
+
+    # -------------------------------------------------------------------------
+    TEST ".incbin"
+
+    cat <<EOF >incbin.c
+char x[] = ".incbin";
+EOF
+
+    $CCACHE_COMPILE -c incbin.c
+    expect_stat 'cache hit (preprocessed)' 0
+    expect_stat 'cache miss' 0
+    expect_stat 'unsupported code directive' 1
 }
 
 # =============================================================================
@@ -1600,15 +1626,33 @@
     # ccache could try to parse and make sense of -Wp, with multiple arguments,
     # but it currently doesn't, so we have to disable direct mode.
 
-    $CCACHE_COMPILE -c -Wp,-DFOO,-DGOO test.c 2>/dev/null
+    touch source.c
+
+    $CCACHE_COMPILE -c -Wp,-MMD,source.d,-MT,source.o source.c 2>/dev/null
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache hit (preprocessed)' 0
     expect_stat 'cache miss' 1
+    expect_file_content source.d "source.o: source.c"
 
-    $CCACHE_COMPILE -c -Wp,-DFOO,-DGOO test.c 2>/dev/null
+    $CCACHE_COMPILE -c -Wp,-MMD,source.d,-MT,source.o source.c 2>/dev/null
     expect_stat 'cache hit (direct)' 0
     expect_stat 'cache hit (preprocessed)' 1
     expect_stat 'cache miss' 1
+    expect_file_content source.d "source.o: source.c"
+
+    # -------------------------------------------------------------------------
+    TEST "-MMD for different source files"
+
+    mkdir a b
+    touch a/source.c b/source.c
+    $CCACHE_COMPILE -MMD -c a/source.c
+    expect_file_content source.d "source.o: a/source.c"
+
+    $CCACHE_COMPILE -MMD -c b/source.c
+    expect_file_content source.d "source.o: b/source.c"
+
+    $CCACHE_COMPILE -MMD -c a/source.c
+    expect_file_content source.d "source.o: a/source.c"
 
     # -------------------------------------------------------------------------
     TEST "Multiple object entries in manifest"
@@ -3380,11 +3424,11 @@
 input_charset
 "
 
-compiler_location=$(which $COMPILER)
+compiler_location=$(which $(echo "$COMPILER" | awk '{print $1}'))
 if [ "$compiler_location" = "$COMPILER" ]; then
     echo "Compiler:         $COMPILER"
 else
-    echo "Compiler:         $COMPILER ($(which $COMPILER))"
+    echo "Compiler:         $COMPILER ($compiler_location)"
 fi
 echo "Compiler version: $($COMPILER --version | head -n 1)"
 echo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.3.1/version.c new/ccache-3.3.3/version.c
--- old/ccache-3.3.1/version.c  2016-09-07 21:22:01.000000000 +0200
+++ new/ccache-3.3.3/version.c  2016-10-26 23:31:19.000000000 +0200
@@ -1 +1 @@
-const char CCACHE_VERSION[] = "3.3.1";
+const char CCACHE_VERSION[] = "3.3.3";



Reply via email to