|
|
|
|
Changelog for ccache-debugsource-4.9.1-3.1.i586.rpm :
* Tue Feb 27 2024 ming li - Update to 4.9.1: * Improved detection of bad remote storage URLs gracefully. This also fixes crashes seen in ccache’s own test suite. * Made caching completely disabled when modification of a source or include file is detected during ccache invocation. Previously this was only done for the direct mode. * Fixed an MSVC crash when using /Zi with many concurrent compilations. * Fixed a crash when -arch is the last compiler option.- Drop no longer needed fix2038.patch * Thu Jan 18 2024 Danilo Spinella - Update to 4.9: * Made ignore_options/CCACHE_IGNOREOPTIONS also skip the option from special processing, similar to how --ccache-skip works. * Added support for expanding environment variables references in all configuration options. * MSVC options /Fd, /FS and /MP are no longer included in the input hash. * Made ccache terminate an ongoing compiler subprocess when terminated on all platforms, not only on Unix. * Added support for multiple -Xarch_ * arguments matching -arch. * Added a debug_level/CCACHE_DEBUGLEVEL configuration option, making it possible to tell ccache to only write a log file for each compilation, not other debug files. * Added max_cache_size_kibibyte and max_files_in_cache fields in output from ccache --print-stats. * Paths after -Xclang -include are now rewritten to relative paths if base_dir/CCACHE_BASEDIR is in effect. * Added support for clang --analyze. * Improved processing of input file arguments. * Added support for st_Xtimensec fields in struct stat, thus improving behavior on some BSDs when using newly created include files. * Added support for the undocumented GCC/Clang option --include. * Ccache now exits more gracefully on invalid sharded remote storage URLs. * Made ccache bail out on too hard options -fmodules-ts, -fmodule-header, - wrapper and -Xclang -ast-dump. * Stopped relying on the st_blocks field in struct stat since it cannot be trusted for filesystems such as ZFS that do transparent compression or deduplication and adjust st_blocks some time in the future. * Fixed crash on Windows for paths with only a drive letter. * Made handling of Clang config options (such as --config-system-dir) more robust. * Fixed compiler type detection when compiler is a symlink called “clang-cl”. * Made sure to use MSVC logic for clang-cl when handling a precompiled header. * Generalized expansion of remote storage URLs with sharding, for instance making it possible to shard on port number. * Upgraded to xxHash 0.8.2, thereby fixing an error when compiling ccache with -Og. * Fixed sign-compare warning in src/InodeCache.cpp on FreeBSD. * Fixed the CMake option STATIC_LINK on Linux/macOS. * Added the CMake option OFFLINE, defaulting to the value of the standard variable FETCHCONTENT_FULLY_DISCONNECTED (which is OFF by default), to disable downloading anything from the internet. * Fixed warnings about unused functions on new MSVC versions. * Made sure to set both C and C++ CMake compiler launcher variables if either is set. * The manual now mentions that system_headers sloppiness is not supported for MSVC. * Fixed regex in direct.bash.- Fix SLE build by using gcc11 and disable hiredis dependency * Sat Oct 28 2023 Andreas Stieger - update to 4.8.3 * Fixed handling of NVCC -Xcompiler and --Werror options * Fixed bookkeeping of files when hard linking or file cloning is enabled * Made a workaround for GCC 12.3 bug 109241 where GCC fails to compile ccache. * Upgraded to xxHash 0.8.2, which fixes compilation of ccache with GCC 12 and -Og.- enable redis backend * Mon Jun 12 2023 Dirk Müller - update to 4.8.2: * Ccache no longer passes `-v` to the preprocessor. This improves preprocessor mode hit rate when `-v` is on the compiler command line. * Made `--trim-max-size` accept 0 for no limit. + * Clarified `--evict-older-than` semantics. * Fixed typo in \"`Directory is not hashed if using -gz`\" test. * Fri May 19 2023 Dirk Müller - update to 4.8.1: * Fixed an issue with the depend mode in combination with `--` on the command line for Clang-based compilers. + * Improved knowledge about MSVC debug flags so that non-debug `/Z *` options are once again supported. + * Ccache no longer treats `/Zi` as unsupported for clang-cl. * Made the output format of `ccache -k max_size` parsable by ccache itself. + * Added a remote file storage example with URL-encoded spaces. * Mon Mar 13 2023 Dirk Müller - update to 4.8: * Improved the automatic cache cleanup mechanism. Automatic cleanups are now performed on 1/256 of the cache instead of 1/16, thus making them much quicker (but naturally more frequent). Cleanups are coordinated between ccache processes so that at most one process will perform cleanup at a time. Also, the actual cache size will stay very close to the configured maximum size instead of staying around 90% as was the case before. * Added support for setting per-compilation configuration options on the command line. Example: `ccache hash_dir=false gcc -c example.c` * Made it possible to disable ccache for a certain source code file by embedding the string `ccache:disable` in a comment near the top of the file. * Made ccache understand that an MSVC `/Z7` option overrides an earlier `/Z *` option and thus is not too hard to cache. * Added a `--recompress-threads` command line option for selecting the number of CPU threads to use when recompressing the local cache. * Added `--trim-recompress` and `--trim-recompress-threads` command line options for recompressing file-based remote storage. * Added tmpfs, ufs and zfs to the list of supported filesystems on macOS and BSDs for the inode cache. * Improved progress bars for clean/clear/evict-style operations. * Improved printing of cache sizes in various outputs. * Activate debug logging for command mode options like `--cleanup`. * Added support for `-Wp,-U` in the direct mode. * Added quotes around arguments with space in logged command lines. * Added logging of executed command lines on Windows. + * Made sure not to update the stats file when there are no incremented counters. * Improved actual disk size calculation on Windows. * Bugfixes * Mon Dec 05 2022 Dirk Müller - update to 4.7.4: * Fixed an inode cache race condition. * The default temporary directory is now `$XDG_RUNTIME_DIR/ccache-tmp` instead of a hardcoded `/run/user//ccache-tmp`. If `XDG_RUNTIME_DIR` is not set, `/tmp` is used. This avoids creating `/run/user/` on systems that don\'t have it if compiling as root. * Added a fallback in case `posix_fallocate` returns `EINVAL` when creating the inode cache file. * Connection timeout for an HTTP connection is now reported as a timeout instead * Temporary files found in the cache are no longer counted in `--show-compression`. * Removed duplicate magic header in output from `--inspect`. * Ccache now properly waits for all recompression jobs to finish when there is no `f` subdirectory in the cache. * Documentation improvements * Thu Nov 17 2022 Danilo Spinella - Update to 4.7.3 You can find the release notes here: * https://github.com/ccache/ccache/blob/master/doc/NEWS.adoc#ccache-473 * https://github.com/ccache/ccache/blob/master/doc/NEWS.adoc#ccache-472 * https://github.com/ccache/ccache/blob/master/doc/NEWS.adoc#ccache-471 * https://github.com/ccache/ccache/blob/master/doc/NEWS.adoc#ccache-47 * Sun Sep 18 2022 Dirk Müller - update to 4.6.3: * Fixed detection of PCH header for concatenated `-include` option (e.g., `-includepch.h` instead of `-include pch.h`). * Fixed build with musl when using GCC 12. * Disabled the `\"Failure to write output file\"` when running on a filesystem that doesn\'t support read-only directories. * Fixed a race condition that could lead to a crash if a file in the cache is removed with unlucky timing, e.g. by another ccache process doing cache cleanup. * Dependency file rewriting will now always be performed if `base_dir`/`CCACHE_BASEDIR` is active. This fixes a problem with the dependency file content when Clang is used with `-fsanitize=address`. * Fixed handling of error condition for `--hash-file`/`--checksum-file`. * Made sure to enable the inode cache only if subsecond `stat` timestamps are available. * Added a work-around for a Clang bug when writing to a full NFS file system. * Made failure writing to the output file increment the \"`bad output file`\" counter instead of \"`cache miss`\". * Fixed false positive cache hits for code constructions similar to `__asm__(\".incbin\" \" \\\"file\\\"\")`. * Fixed false success for `-fcolor-diagnostics` probe with GCC. A side effect of this is that a compiler type that ccache can\'t identify from the compiler name (such as `/usr/bin/cc` where `cc` is not a symlink) from now on won\'t produce color diagnostics when used via ccache even if the compiler actually is GCC or Clang. * More cases of invalid secondary storage URLs are now handled gracefully. * Fixed the display of maximum cache size in `ccache -s` if it\'s 0 (= unlimited). * Removed AsciiDoc markup from help text of `--trim-dir`. * The temporary directory is now cleaned up properly even if it\'s left unconfigured. * Made cleanup of the temporary directory not rely a directory timestamp. * Made sure to retain mtime/atime when recompressing cache files with `-X`/`--recompress`. * The correct umask is now used when populating the primary cache from a secondary cache. * Fixed creation of temporary files on file systems that don\'t support hard links (such as FAT32). * Added knowledge about `-Wa,...=file` so that ccache then falls back to running the real compiler. * Corrected handling of space in paths when using response file on Windows. * Fixed crash due to empty include filename in preprocessor output generated by `f2c`. * Tue Aug 30 2022 Bernhard Wiedemann - Add fix2038.patch to make tests pass after 2038 * Sat Jun 04 2022 Dirk Müller - update to 4.6.1: * Added support for passing a directory to the MSVC `/Fo` option. * Added knowledge about the `-imsvc` compiler option. * Added knowledge about the `-z` linker option. * Improved handling of `.gcno` files in combination with absolute input file paths. * Adapted to changes in GCC 9+ `.gcno` files, which contain the current working directory, by including said directory in the hash. You can opt out of this by enabling \"`gcno_cwd sloppiness`\". * A preexisting object file is no longer considered when using `-fsyntax-only`. * Authenticate with Redis before database selection. * Don\'t exit with an error on failure reading a cached file. * Bail out on too hard MSVC environment variables `CL` and `+_CL_+`. * Only use `/run/user//ccache-tmp` as the temporary directory if it\'s writable. * Fixed handling of the final newline in cached standard output from the compiler. * Fixed a bug related to distcc markers in standard error output. * Paths to `base_dir` are now properly normalized on Windows. * Fixed handling of MSVC `/Fp` and `/Yu` options with concatenated path. * Fixed \"`Multiple precompiled headers used`\" error if MSVC `/Yu` option is used after `/Fp`. * Check for short reads when reading strings in result/manifest files. * Log expanded secondary storage URL in put/remove. * Fixed logging of statistics counters with value higher than one in debug log and stats log. * Avoid incorrect error log message for Redis write operations in `reshare` mode. * Support Redis URL without host (meaning localhost). * Sun Apr 03 2022 Andreas Stieger - ccache 4.6: * Add an option to use a bearer token with the HTTP backend. * Add support for caching standard output from the compiler. * Add a new --inspect option for debugging cache entries, replacing the previous --dump-manifest and --dump-result options * Enable HTTP keep-alive by default * Improve detection of the .incbin assembler directive to reduce false positives * Ccache now verifies that /run/user//ccache-tmp is writable before using it for temporary files * Fix statistics output for secondary storage * Fix a problem when copying a cache entry from secondary storage into an empty primary storage. * The process umask is now respected when making hard linked files read only * A forced recache is no longer considered a “direct cache miss” * Documentation updates- drop xxhash-avoid-armv6-unaligned-access.patch, included * Fri Dec 17 2021 Dirk Müller - add xxhash-avoid-armv6-unaligned-access.patch (bsc#1193317) * Thu Dec 02 2021 Dirk Müller - update to 4.5.1: * Fixed entry_size field for result entries. * The actual compression level is now once again stored in the cache entry header. * Corrected error handling for unconstructible secondary storage backends. For instance, this avoids a crash when a Redis server can\'t be reached. * Made various improvements to the cache entry format. Among other things, the header now contains a creation timestamp and a note of the ccache version used to create the entry. The cache entry checksum has also been upgraded to use 128-bit XXH3 instead 64-bit XXH3. * Made HTTP keep-alive configurable, defaulting to off for now. * Added support for rewriting absolute path to Clang option `--gcc-toolchain`. * Fixed a problem with special characters in the user info part of URLs for HTTP storage. * The hard link and file clone features are now disabled when secondary storage is used since they only work for the local primary cache. * Thu Dec 02 2021 Guillaume GARDET - Do not hide test failures in %check * Thu Oct 14 2021 Martin Pluskal - Update to version 4.4.2: * See https://ccache.dev/releasenotes.html#_ccache_4_4_2 for detailed list of changes * Tue Sep 21 2021 Martin Pluskal - Update to version 4.4.1: * See https://ccache.dev/releasenotes.html#_ccache_4_4_1 for detailed list of changes * Wed Aug 25 2021 Martin Pluskal - Update to version 4.4: * See https://ccache.dev/releasenotes.html#_ccache_4_4 for detailed list of changes * Wed May 12 2021 Andreas Stieger - ccache 4.3: * ignore Clang compiler option -ivfsoverlay * When using -P in combination with -E, ccache now reports this as \"called for preprocessing\" instead of \"unsupported compiler option\" * Add support for -specs file.specs and --specs file.specs without an equal sign between the arguments * multiple bug fixes * Tue Apr 06 2021 Martin Pluskal - Update to version 4.2.1: * Ccache now only dup2`s stderr into `$UNCACHED_ERR_FD for calls to the preprocessor/compiler. This works around a complex bug in interaction with GNU Make, LTO linking and the Linux PTY driver. * Fixed detection of color diagnostics usage when using -Xclang -fcolordiagnostics options. * The -frecord-gcc-switches compiler option is now handled correctly to avoid false positive cache hits. * Made it possible for per-compilation debug log files to be written in most argument processing error scenarios. Previously, ccache would only write debug log files if the argument processing phase was successful. * Made ccache bail out on too hard Clang option -gen-cdb-fragment-path. * The run_second_cpp made is now enforced on macOS if -g is used since newer Clang versions on macOS produce different debug information when compiling preprocessed code. * Made ccache only reject -f(no-)color-diagnostics for a known GCC compiler. This fixes a problem when using said option with clang++ on macOS. * Build configuration scripts now probe for atomic increment as well. This fixes a linking error on Sparc. * An existing CMake log message level is now used when warning about not finding asciidoc. * Fixed assertion in the \"Debug option\" test. * Upgraded to doctest 2.4.6. This fixes a build error with glibc >= 2.34. * Thu Feb 04 2021 Martin Pluskal - Update to version 4.2: * Improved calculation of relative paths when using base_dir to also consider canonical paths (i.e. paths with dereferenced symlinks) as candidates. * Added a debug_dir (CCACHE_DEBUGDIR) configuration setting for specifying a directory for files written in debug mode. * Added support for compiler option -x cuda, understood by Clang. * The value of the SOURCE_DATE_EPOCH variable is now only hashed if it potentially affects the output from ccache. This means that ccache now (like before version 4.0) will be able produce cache hits for source code that doesn’t contain __DATE__ or __TIME__ macros regardless of the value of SOURCE_DATE_EPOCH. * Mon Nov 23 2020 Paul Fee - Update to version 4.1: * Symlinks are now followed when guessing the compiler, e.g. /usr/bin/c++ -> g++10 * Added a new compiler_type (CCACHE_COMPILERTYPE) configuration option that allows for overriding the guessed compiler type. * Added support for caching compilations with -fsyntax-only. * Added a command line option --config-path, which specifies the configuration file to operate on. It can be used instead of setting CCACHE_CONFIGPATH temporarily. * Wed Nov 04 2020 Martin Pluskal - Update to version 4.0: * Changed the default cache directory location to follow the XDG base directory specification. * Changed compression algorithm from Deflate (zlib) to Zstandard, enabled by default. * Added functionality for recompressing cache content with a higher compression level. * Changed hash algorithm from MD4 to BLAKE3. * Added checksumming with XXH3 to detect data corruption. * Improved cache directory structure. * Added support for using file cloning (AKA “reflinks”). * Added an experimental “inode cache” for file hashes.- Changes for version 3.7.12: * 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.- Drop no longer applying patch: * 0001-Add-another-cleanup-mechanism-evict-older-than.patch * Sun Jul 26 2020 Matthias Eliasson - Update to version 3.7.11: * Added knowledge about -fprofile-{correction,reorder-functions,values}. * ccache now handles the Intel compiler option -xCODE (where CODE is a processor feature code) correctly. * Added support for NVCC’s -Werror and --Werror options. * ccache’s “Directory is not hashed if using -gz[=zlib]” tests are now skipped for GCC 6. * Sun Jul 19 2020 Matthias Eliasson - Update to version 3.7.10: * Improved handling of profiling options. ccache should now work correctly for profiling options like -fprofile-{generate,use}[=path] for GCC ≥ 9 and Clang as well as -fauto-profile[=path] and the Clang-specific - fprofile-instr-{generate,use}[=path] and -fprofile-sample-{use,accurate} options. * ccache now copies files directly from the cache to the destination file instead of via a temporary file. This avoids problems when using filenames long enough to be near the file system’s filename max limit. * When the hard-link mode is enabled, ccache now only uses hard links for object files, not other files like dependency files. This is because compilers unlink object files before writing to them but they don’t do that for dependency files, so the latter can become overwritten and therefore corrupted in the cache. * Fixed a glitch related to hard-link mode and an empty cache. * ccache now supports the ccache.conf file to be a symlink. * Temporary files are now deleted immediately on signals like SIGTERM and SIGINT instead of some time later in a cleanup phase. * Fixed a bug that affected ccache’s -o/--set-config option for the base_dir and cache_dir_levels keys. * Mon Jun 22 2020 Sumit Jamgade - Added patch for another cleanup mechanism based on age of file: * 0001-Add-another-cleanup-mechanism-evict-older-than.patch * Sun Jun 07 2020 Martin Pluskal - Add symlink for nvidia cuda compiler as well * Fri Apr 03 2020 Martin Pluskal - Update to version 3.7.9: * Fixed replacing of /dev/null when building as root with hard link mode enabled and using -o /dev/null. * Removed incorrect assertion resulting in “ccache: error: Internal error in format” when using -fdebug-prefix-map=X= with X equal to $PWD. * Improved CUDA/NVCC support: Recognize -dc and -x cu options. * Improved name of temporary file used in NFS-safe unlink.- Changes for version 3.7.8: * Use $PWD instead of the real CWD (current working directory) when checking for CWD in preprocessed output. This fixes a problem when $PWD includes a symlink part and the user has set hash_dir = false. * Rewrote the Windows version of the lockfile routines. This should mitigate several problems with the old implementation. * If localtime_r fails the epoch time is now logged instead of garbage. * Improved error message when a boolean environment variable has an invalid value. * Improved the regression fix in ccache 3.7.5 related to not passing compilation-only options to the preprocessor. * ccache’s PCH test suite now skips running the tests if it detects broken PCH compiler support. * Fixed unit test failure on Windows. * Fixed “stringop-truncation” build warning on Windows. * Improved “x_rename” implementation on Windows. * Improved removal of temporary file when rewriting absolute paths to relative in the dependency file. * Clarified “include_file_ctime sloppiness” in the Performance section in the manual. * Thu Feb 06 2020 Martin Pluskal - Update to version 3.7.7: * Fixed a bug related to object file location in the dependency file (if using -MD or -MMD but not -MF and the build directory is not the same as the source directory then the object file location in the .d file would become incorrect). This fixes regression in ccache 3.7.5 introduced by the bug fix related to EDG-based compilers. Note that this removes support for EDG-based compilers again. (A better fix for this is planned for ccache 4.0.) * Removed the unify mode since it has bugs and shortcomings that are non-trivial or impossible to fix: it doesn’t work with the direct mode, it doesn’t handle C++ raw strings correctly, it can give false cache hits for .incbin directives, it’s turned off when using -g and it can make line numbers in warning messages and __LINE__ macros incorrect. mtime and ctime values are now stored in the manifest files only when sloppy_file_stat is set. This avoids adding superfluous manifest file entries on direct mode cache misses. * A “Result:” line is now always printed to the log. * The “cache miss” statistics counter will now be updated for read-only cache misses, making it consistent with the cache hit case.
|
|
|