2019-05-06 17:06:04 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.7.1 Changes 3.7.1: Fixed a problem when using the compiler option -MF /dev/null. Long commandlines are now handled gracefully on Windows by using the @file \ syntax to avoid hitting the commandline size limit. Fixed complaint from GCC 9’s -Werror=format-overflow when compiling ccache itself. |
2019-04-29 19:13:15 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.7 Changes 3.7: Fixed crash when the debug mode is enabled and the output file is in a \ non-writable directory, e.g. when the output file is /dev/null. Fixed an issue when printing very large log messages to the debug log. Fixed bugs related to support for -gsplit-dwarf. Previously ccache could produce \ an incorrect link to the .dwo file in the .o file. Compilations with /dev/null as the input file are now cached. ccache has learned how to contruct the object filename if no -o option is given \ and the source filename does not include a . or ends with a .. Fixed a temporary file leak when the depend mode is enabled and the compiler \ produces standard error output. Fixed a bug in the depend mode where a manifest hash only could be associated \ with one set of header dependencies. Manifest files did not get marked as used on direct cache hits, so the LRU cache \ cleanup would incorrectly remove them eventually. This has been fixed. The rewriting of absolute paths into relative paths in the dependency file has \ been enabled in the depend mode as well. ccache now ignores unknown keys in configuration files for forward compatibility. Rearranged command-line options into sections in the help text. Documented the previously undocumented --dump-manifest and --hash-file options \ (only useful for debugging ccache itself). Added missing documentation for the command-line option -k/--get-config added in \ ccache 3.5. Renamed the --print-config command to --show-config. Added a new --print-stats command that prints statistics counters in \ machine-parsable (tab-separated) format. ccache no longer creates a missing output directory, thus mimicking the compiler \ behavior for -o out/obj.o when “out” doesn’t exist. -fdebug-prefix-map=ARG, -ffile-prefix-map=ARG and -fmacro-prefix-map=ARG are now \ included in the hash, but only the part before “ARG”. This fixes a bug where \ compiler feature detection of said flags would not work correctly with ccache. Bail out on too hard compiler option -gtoggle. Bail out on too hard Clang options --analyze and -analyze. Improved debug logging of file hashes in depend mode. Improved handling of various -g* options. In particular, ccache now understands \ that -g0 cancels out previous -g* options. Worked around a problem with Automake related to .d files when using the hard \ link mode. Added opt-in (at configure time) support for enabling trace logs for profiling \ ccache itself. See doc/DEVELOPER.md in the code tree for more information Removed support for Fortran 77 again. Some Fortran support was added in ccache \ 3.3, but the implementation did not work when Fortran modules are involved. |
2019-01-15 10:04:17 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.6 ccache 3.6 ccache now has an opt-in “depend mode”. When enabled, ccache never executes \ the preprocessor, which results in much lower cache miss overhead at the expense \ of a lower potential cache hit rate. The depend mode is only possible to use \ when the compiler option -MD or -MMD is used. Added support for GCC’s -ffile-prefix-map option. The -fmacro-prefix-map \ option is now also skipped from the hash. Added support for multiple -fsanitize-blacklist arguments. ccache now includes the environment variables LANG, LC_ALL, LC_CTYPE and \ LC_MESSAGES in the hash since they may affect localization of compiler warning \ messages. Set sloppiness to locale to opt out of this. Fixed a problem due to Clang overwriting the output file when compiling an \ assembler file. Clarified the manual to explain the reasoning behind the “file_macro” \ sloppiness setting in a better way. ccache now handles several levels of nonexistent directories when rewriting \ absolute paths to relative. A new sloppiness setting clang_index_store makes ccache skip the Clang compiler \ option -index-store-path and its argument when computing the manifest hash. This \ is useful if you use Xcode, which uses an index store path derived from the \ local project path. Note that the index store won’t be updated correctly on \ cache hits if you enable this option. Rename sloppiness no_system_headers to system_headers for consistency with other \ options. no_system_headers can still be used as an (undocumented) alias. The GCC variables “DEPENDENCIES_OUTPUT” and “SUNPRO_DEPENDENCIES” are \ now supported correctly. The algorithm that scans for __DATE_ and __TIME__ tokens in the hashed source \ code now doesn’t produce false positives for tokens where __DATE__ or __TIME__ \ is a substring. |
2019-01-05 00:43:23 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.5.1 ccache 3.5.1: Added missing getopt_long.c source file to release archive. Fixed (harmless) compiler warnings when building ccache object files. CFLAGS is no longer passed to the linker when linking ccache. Improved development mode build flags. |
2018-10-30 13:03:52 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.5 ccache 3.5 Added a boolean debug (CCACHE_DEBUG) configuration option. When enabled, ccache \ will create per-object debug files that are helpful e.g. when debugging \ unexpected cache misses. See also the new “Cache debugging” section in the \ manual. Renamed CCACHE_CC to CCACHE_COMPILER (keeping the former as a deprecated alias). Added a new command-line option -k/--get-config that prints the value of a \ config key. It is now possible to let ccache hash a precomputed checksum file instead of the \ full content of a precompiled header. This can save time for large precompiled \ headers. Note that the build system needs to keep the checksum file in sync with \ the precompiled header for this to work. Improved performance substantially when using hash_dir = false on platforms like \ macOS where getcwd() is slow. Added “stats updated” timestamp in ccache -s output. This can be useful if \ you wonder whether ccache actually was used for your last build. Renamed “stats zero time” to “stats zeroed” and documented it. The \ counter is also now only present in ccache -s output when ccache -z actually has \ been called. The content of the -fsanitize-blacklist file is now included in the hash, so \ updates to the file will now correctly result in separate cache entries. It’s now possible to opt out of building and installing man pages when running \ make install in the source repository. If the compiler type can’t be detected (e.g. if it is named cc), use safer \ defaults that won’t trip up Clang. Made the ccache test suite work on FreeBSD. Added file_stat_matches_ctime option to disable ctime check if file_stat_matches \ is enabled. Made “./configure --without-bundled-zlib” do what’s intended. |
2018-09-05 15:22:21 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.4.3 ccache 3.4.3 Bug fixes Fixed a race condition when creating the initial config file in the cache directory. Bail out on too hard clang option -MJ. Bail out on too hard option -save-temps=obj. Handle separate parameter to clang option -target correctly. Upgraded bundled zlib to version 1.2.11. |
2018-04-06 10:04:53 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccached: updated to 3.4.2 ccache 3.4.2 Bug fixes: The cleanup algorithm has been fixed to not misbehave when files are removed by \ another process while the cleanup process is running. Previously, too many files \ could be removed from the cache if multiple cleanup processes were triggered at \ the same time, in extreme cases trimming the cache to a much smaller size than \ the configured limits. Correctly hash preprocessed headers located in a “.gch directory”. \ Previously, ccache would not pick up changes to such precompiled headers, \ risking false positive cache hits. Fixed build failure when using the bundled zlib sources. ccache 3.3.5 added a workaround for not triggering Clang errors when a \ precompiled header’s dependency has an updated timestamp (but identical \ content). That workaround is now only applied when the compiler is Clang. Made it possible to perform out-of-source builds in dev mode again. |
2018-02-12 09:32:11 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.4.1 ccache 3.4.1 Bug fixes Fixed printing of version number in ccache --version. ccache 3.4 New features and enhancements The compiler option form --sysroot arg is now handled like the documented \ --sysroot=arg form. Added support for caching .su files generated by GCC flag -fstack-usage. ccache should now work with distcc’s “pump” wrapper. The optional unifier is no longer disabled when the direct mode is enabled. Added support for nvcc compiler options --compiler-bindir/-ccbin, \ --output-directory/-odir and --libdevice-directory/-ldir. Boolean environment variable settings no longer accept the following \ (case-insensitive) values: 0, false, disable and no. All other values are \ accepted and taken to mean “true”. This is to stop users from setting e.g. \ CCACHE_DISABLE=0 and then expect the cache to be used. Improved support for run_second_cpp = false: If combined with passing \ -fdirectives-only (GCC) or frewrite-includes (Clang) to the compiler, \ diagnostics warnings and similar will be correct. An implicit -MQ is now passed to the preprocessor only if the object file \ extension is non-standard. This should make it easier to use EDG-based compilers \ (e.g. GHS) which don’t understand -MQ. ccache now treats an unreadable configuration file just like a missing \ configuration file. Documented more pitfalls with enabling hard_links (CCACHE_HARDLINK). Documented caveats related to colored warnings from compilers. Bug fixes File size and number counters are now updated correctly when files are \ overwritten in the cache, e.g. when using CCACHE_RECACHE. run_second_cpp is now forced for nvcc. Fixed how the nvcc options -optf and -odir are handled. |
2018-01-30 06:43:19 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.3.6 ccache 3.3.6 New features and improvements - Improved instructions on how to get cache hits between different working directories. Bug fixes - Fixed regression in ccache 3.3.5 related to the `UNCACHED_ERR_FD` feature. |
2018-01-15 09:07:02 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: ccache: updated to 3.3.5 ccache 3.3.5 New features and improvements * Documented how automatic cache cleanup works. Bug fixes * Fixed a regression where the original order of debug options could be lost. \ This reverts the “Improved parsing of -g* options” feature in ccache 3.3. * Multiple -fdebug-prefix-map options should now be handled correctly. * Fixed matching of directories in the ignore_headers_in_manifest configuration \ option. * Fixed detection of missing argument to -opt/--options-file. * ccache now bails out when building a precompiled header if any of the \ corresponding header files have an updated timestamp. This fixes complaints from \ clang. * Fixed a bug related to erroneously storing a dependency file with absolute \ paths in the cache on a preprocessed hit. * ccache -c/--cleanup now works like documented: it just recalculates size \ counters and trims the cache to not exceed the max size and file number limits. \ Previously, the forced cleanup took “limit_multiple” into account, so that \ ccache -c/--cleanup by default would trim the cache to 80% of the max limit. * ccache no longer ignores linker arguments for clang since clang warns about them. * Plugged a couple of file descriptor leaks. * Fixed a bug where ccache would skip hashing the compiler argument following a \ -fno-working-directory, -fworking-directory, -nostdinc, -nostdinc++, -remap or \ -trigraphs option in preprocessor mode. |