From: Joel Rosdahl Date: Sun, 21 Jan 2018 09:53:10 +0000 (+0100) Subject: Merge branch '3.3-maint' X-Git-Tag: v3.4~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f9ee0cf5efbb5674ebd000acb3e9f2e7d8e750d;p=thirdparty%2Fccache.git Merge branch '3.3-maint' * 3.3-maint: doc: Improve instructions on how to compile in different directories Split .incbin directive in ccache source code to enable cache hits --- 2f9ee0cf5efbb5674ebd000acb3e9f2e7d8e750d diff --cc ccache.c index 369db9a93,3044016c2..36ed1cca6 --- a/ccache.c +++ b/ccache.c @@@ -884,26 -844,13 +884,26 @@@ process_preprocessed_file(struct mdfou p = q; // Everything of interest between p and q has been hashed now. } 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"); + // An assembler .inc bin (without the space) 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 .inc" "bin directive in source code"); stats_update(STATS_UNSUPPORTED_DIRECTIVE); failed(); + } else if (pump && strncmp(q, "_________", 9) == 0) { + // Unfortunately the distcc-pump wrapper outputs standard output lines: + // __________Using distcc-pump from /usr/bin + // __________Using # distcc servers in pump mode + // __________Shutting down distcc-pump include server + while (q < end && *q != '\n') { + q++; + } + if (*q == '\n') { + q++; + } + p = q; + continue; } else { q++; }