]>
git.ipfire.org Git - thirdparty/ccache.git/log
Joel Rosdahl [Sun, 26 Oct 2025 14:55:13 +0000 (15:55 +0100)]
enhance: Let ThreadPool log failed tasks
Joel Rosdahl [Sun, 26 Oct 2025 14:53:43 +0000 (15:53 +0100)]
enhance: Make logging system thread-safe
Joel Rosdahl [Sun, 26 Oct 2025 11:47:26 +0000 (12:47 +0100)]
perf: Only wake up one worker thread when a task has been popped
Joel Rosdahl [Sun, 26 Oct 2025 11:36:26 +0000 (12:36 +0100)]
fix: Handle util::TaskPool enqueue/shut_down called by different threads
Joel Rosdahl [Sun, 26 Oct 2025 08:40:43 +0000 (09:40 +0100)]
enhance: Add util::parse_base16 function
Joel Rosdahl [Sun, 26 Oct 2025 08:34:45 +0000 (09:34 +0100)]
enhance: Add util::Bytes::push_back method
Joel Rosdahl [Sun, 26 Oct 2025 08:29:40 +0000 (09:29 +0100)]
enhance: Add util::Bytes::at method
Joel Rosdahl [Sun, 26 Oct 2025 08:06:29 +0000 (09:06 +0100)]
docs: Update URLs in manual and news
Joel Rosdahl [Sat, 25 Oct 2025 18:33:11 +0000 (20:33 +0200)]
fix: Correctly remove mismatching manifest file
This fixes a bug introduced in commit
c7c0837a ("Refactor main primary
storage backend code into storage/primary").
Joel Rosdahl [Sat, 25 Oct 2025 15:19:22 +0000 (17:19 +0200)]
perf: Avoid zero-filling in util::Bytes in all cases
Joel Rosdahl [Sat, 25 Oct 2025 14:26:28 +0000 (16:26 +0200)]
enhance: Add more util::Bytes constructor and operator= variants
Joel Rosdahl [Thu, 23 Oct 2025 17:25:29 +0000 (19:25 +0200)]
perf: Call Bytes::resize from Bytes constructors to avoid zero-filling
Joel Rosdahl [Thu, 23 Oct 2025 08:13:24 +0000 (10:13 +0200)]
enhance: Add Bytes::erase
Joel Rosdahl [Thu, 23 Oct 2025 08:12:20 +0000 (10:12 +0200)]
test: Use REQUIRE for Bytes::size when indexing bytes later
Joel Rosdahl [Wed, 22 Oct 2025 20:15:44 +0000 (22:15 +0200)]
chore: Consistently use .reset() to reset m_data in Bytes
Joel Rosdahl [Wed, 22 Oct 2025 20:15:23 +0000 (22:15 +0200)]
fix: Fix comparison of empty Bytes objects
Joel Rosdahl [Sat, 18 Oct 2025 18:55:20 +0000 (20:55 +0200)]
feat: Add support for multi-line configuration values
Joel Rosdahl [Mon, 20 Oct 2025 19:04:19 +0000 (21:04 +0200)]
fix: Pass unsigned char to std::is* and std::tolower
Passing (negative) char is technically undefined behavior.
Joel Rosdahl [Mon, 20 Oct 2025 16:28:11 +0000 (18:28 +0200)]
docs: Mention that sloppiness values can be whitespace-separated
Joel Rosdahl [Sun, 19 Oct 2025 08:08:45 +0000 (10:08 +0200)]
docs: Tweak Asciidoc markup
Evgeniy Isaev [Sun, 19 Oct 2025 17:59:15 +0000 (20:59 +0300)]
feat: Add support for -fcoverage-compilation-dir/-fcoverage-prefix-map (#1644)
Evgeniy Isaev [Sun, 19 Oct 2025 08:29:01 +0000 (11:29 +0300)]
chore: Update C++ standard in .clang-format (#1648)
Joel Rosdahl [Sat, 18 Oct 2025 08:16:28 +0000 (10:16 +0200)]
chore: Add libstdc++-static to alma dockerfiles
Joel Rosdahl [Tue, 14 Oct 2025 14:47:18 +0000 (16:47 +0200)]
docs: Improve installation guide
Joel Rosdahl [Thu, 9 Oct 2025 20:02:09 +0000 (22:02 +0200)]
docs: Improve manual
Diego Alonso [Fri, 17 Oct 2025 18:57:49 +0000 (18:57 +0000)]
feat: Support rewriting absolute path for -fsanitize-blacklist (#1647)
Evgeniy Isaev [Sun, 12 Oct 2025 08:29:22 +0000 (11:29 +0300)]
test: Fix `profiling_clang` test (#1642)
Andrej [Sat, 11 Oct 2025 09:16:19 +0000 (11:16 +0200)]
chore: Fix typo in CcacheVersion (#1645)
Joel Rosdahl [Thu, 9 Oct 2025 20:16:33 +0000 (22:16 +0200)]
ci: Add missing dependency on build_documentation for build_release
Evgeniy Isaev [Thu, 9 Oct 2025 19:23:46 +0000 (22:23 +0300)]
docs: Fix `install.md` links after renaming (#1643)
Joel Rosdahl [Wed, 8 Oct 2025 19:54:16 +0000 (21:54 +0200)]
docs: Improve documentation on statistics counters and --zero-stats
After discussion with Otto Kekäläinen in #1639.
Co-authored by: Otto Kekäläinen <otto@kekalainen.net>
Joel Rosdahl [Mon, 6 Oct 2025 19:25:05 +0000 (21:25 +0200)]
docs: Reflow long line in manual
Andrej [Mon, 6 Oct 2025 19:12:20 +0000 (21:12 +0200)]
docs: Reconcile max-size suffixes in documentation (#1640)
* Use explicit 'GB' suffix in example.
* Fix misleading `max_size` description. Default suffix is GiB, not GB. And default value is 5GiB also.
* `max_size` description - use explicit suffixes.
Joel Rosdahl [Mon, 6 Oct 2025 18:25:13 +0000 (20:25 +0200)]
fix: Link with libsocket on SunOS/Illumos
Closes #1638.
Joel Rosdahl [Sun, 5 Oct 2025 17:56:35 +0000 (19:56 +0200)]
chore: Ignore local copilot instructions
Joel Rosdahl [Sun, 5 Oct 2025 17:29:36 +0000 (19:29 +0200)]
chore: Improve util::FileLock
- Release current lock on move.
- Check for invalid file descriptor in acquire/release.
- Use UnlockFileEx on Windows for symmetry with LockFileEx.
- Added noexcept where applicable.
Joel Rosdahl [Sun, 5 Oct 2025 13:24:17 +0000 (15:24 +0200)]
refactor: Use std::chrono instead of custom classes
Joel Rosdahl [Wed, 1 Oct 2025 18:48:09 +0000 (20:48 +0200)]
chore: Update authors
(cherry picked from commit
dd29ee832c5ba130d877c16c06e1c3b6dd55247a )
Joel Rosdahl [Wed, 1 Oct 2025 18:46:42 +0000 (20:46 +0200)]
chore: Update NEWS
(cherry picked from commit
acf9688b448844d931002c26e0cf5ee02f8f47ba )
Joel Rosdahl [Wed, 1 Oct 2025 18:28:33 +0000 (20:28 +0200)]
chore: Update NEWS
(cherry picked from commit
058808b676ed0bde0dea5a91434fe5615af2113f )
Joel Rosdahl [Wed, 1 Oct 2025 18:17:38 +0000 (20:17 +0200)]
chore: Update NEWS
(cherry picked from commit
a50e311cbd4c756fdedf6acd50ee2e8753330587 )
kingiler [Wed, 1 Oct 2025 18:31:16 +0000 (19:31 +0100)]
fix: Add missing return in copy_file_impl fallback code (#1630)
This fixes a compilation error with tl::expected ≥ 1.2.0 on non-Apple platforms where sendfile(2) is not available.
Joel Rosdahl [Wed, 1 Oct 2025 16:34:09 +0000 (18:34 +0200)]
fix: Add missing doc files to Linux/macOS binary release packages
Joel Rosdahl [Wed, 1 Oct 2025 16:28:38 +0000 (18:28 +0200)]
chore: Avoid false positive spelling warning with typos 1.37.0
Joel Rosdahl [Tue, 30 Sep 2025 17:37:07 +0000 (19:37 +0200)]
fix: Use monotonic clock for spin locks in inode cache
Joel Rosdahl [Sun, 28 Sep 2025 17:26:58 +0000 (19:26 +0200)]
docs: Rename documentation files to lowercase
Exception: Doc files at the top level keep their uppercase names by
convention.
Joel Rosdahl [Sun, 28 Sep 2025 17:24:30 +0000 (19:24 +0200)]
docs: Generate documention in Markdown format as well
Joel Rosdahl [Sun, 28 Sep 2025 17:22:47 +0000 (19:22 +0200)]
docs: Escape hash character in asciidoc file
Asciidoctor gets confused otherwise when generating docbook.
Joel Rosdahl [Sun, 28 Sep 2025 11:35:03 +0000 (13:35 +0200)]
fix: Handle -Xarch_host/-Xarch_device except with other -Xarch_*
-Xarch_host and -Xarch_device appear to have different semantics than
other -Xarch_* options, so add special case code that allows only
-Xarch_host options or only -Xarch_device options while falling back to
the compiler for other combinations.
A future improvement would be to add multi-pass support for -Xarch_host
and -Xarch_device combinations as well.
Fixes #1632.
Joel Rosdahl [Mon, 22 Sep 2025 16:47:03 +0000 (18:47 +0200)]
bump: Upgrade to fmt 12.0.0
Joel Rosdahl [Mon, 22 Sep 2025 16:42:54 +0000 (18:42 +0200)]
refactor: Remove unnecessary explicit non::span constructor
Joel Rosdahl [Mon, 15 Sep 2025 19:41:16 +0000 (21:41 +0200)]
fix: Don't crash thread pool thread if task throws
Joel Rosdahl [Mon, 15 Sep 2025 19:39:18 +0000 (21:39 +0200)]
fix: Don't fail on ENOENT when trying to break a LockFile lock
Joel Rosdahl [Mon, 15 Sep 2025 19:30:22 +0000 (21:30 +0200)]
chore: Handle empty argv in format_argv_as_win32_command_string
Joel Rosdahl [Mon, 15 Sep 2025 19:26:04 +0000 (21:26 +0200)]
fix: Correct saving of current position in fallocate fallback code
Joel Rosdahl [Sun, 14 Sep 2025 17:13:00 +0000 (19:13 +0200)]
ci: Fix GitHub release title
Joel Rosdahl [Sun, 14 Sep 2025 11:32:41 +0000 (13:32 +0200)]
chore: Update NEWS
Joel Rosdahl [Sun, 14 Sep 2025 11:32:30 +0000 (13:32 +0200)]
chore: Update AUTHORS
Joel Rosdahl [Sun, 14 Sep 2025 11:30:51 +0000 (13:30 +0200)]
chore: Convert misc/update-authors to Python
Joel Rosdahl [Sat, 13 Sep 2025 19:21:13 +0000 (21:21 +0200)]
chore: Update .mailmap
Joel Rosdahl [Sun, 14 Sep 2025 11:33:46 +0000 (13:33 +0200)]
chore: Add alma-9 dockerfile
Joel Rosdahl [Sat, 13 Sep 2025 09:42:54 +0000 (11:42 +0200)]
chore: Add debian-13 dockerfile
Joel Rosdahl [Wed, 10 Sep 2025 16:49:29 +0000 (18:49 +0200)]
test: Simplify get_root()
Joel Rosdahl [Tue, 9 Sep 2025 19:17:10 +0000 (21:17 +0200)]
docs: Document "Unsupported source encoding" statistics counter
autoantwort [Wed, 10 Sep 2025 16:48:42 +0000 (18:48 +0200)]
test: Handle GetVolumePathName errors, prevent access violation (#1626)
For example GetVolumePathName returns `F:/git_projects` on my computer which
does not fit in a char[4]. As a result GetVolumePathName returns an error and
a std::string is initialized from uninitialized memory which may not contain
a '\0' resulting in out of bounds memory reads.
Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
Joel Rosdahl [Tue, 9 Sep 2025 16:34:34 +0000 (18:34 +0200)]
fix: Avoid expanding symlinks in relative path candidates
Commit
8223ed38abd9cf75ab75cb19dc2081c44bf568d0 changed
make_relative_path to also try matching real_path(path) against the
apparent/actual CWD, assuming that an absolute path p could be
substituted with real_path(p).
This assumption is incorrect for source files: if the source file
includes a file via a relative path, expanding symlinks may cause the
include file to be searched in the wrong directory.
Fix by reverting that change. The new test case "Symlink to source file,
longer symlink path" fails without this fix.
Note: this effectively reverts #724.
Fixes #1620.
Joel Rosdahl [Tue, 9 Sep 2025 16:34:07 +0000 (18:34 +0200)]
chore: Touch up basedir.bash
Joel Rosdahl [Sun, 7 Sep 2025 17:10:47 +0000 (19:10 +0200)]
fix: Hash specs file actually used by GCC
"gcc -specs=foo" (when "foo" doesn't include a slash) makes GCC search
in various system directories for the file, so ccache fails to hash the
file if it's found in such a directory.
Fix this by asking the compiler (using "-print-file-name") which file it
will actually read.
Fixes #1625.
Joel Rosdahl [Sun, 7 Sep 2025 15:29:18 +0000 (17:29 +0200)]
feat: Add support for Clang --config= option
Clang >= 16 supports "--config=name" in addition to "--config name".
Joel Rosdahl [Sat, 6 Sep 2025 14:45:34 +0000 (16:45 +0200)]
docs: Fix markup in NEWS file
Joel Rosdahl [Wed, 3 Sep 2025 18:09:42 +0000 (20:09 +0200)]
refactor: Simplify HTTP logging slightly
Joel Rosdahl [Wed, 3 Sep 2025 17:58:28 +0000 (19:58 +0200)]
chore: Update .mailmap
Joel Rosdahl [Wed, 3 Sep 2025 17:58:00 +0000 (19:58 +0200)]
refactor: Simplify UTF-16LE to UTF-8 conversion in util::read_file
Joel Rosdahl [Mon, 1 Sep 2025 18:14:39 +0000 (20:14 +0200)]
bump: Upgrade to tl-expected 1.3.1
J. Neuschäfer [Sat, 6 Sep 2025 07:21:16 +0000 (09:21 +0200)]
build(blake3): Don't use NEON on aarch64_be (#1624)
Joel Rosdahl [Fri, 5 Sep 2025 20:13:39 +0000 (22:13 +0200)]
ci: Fix version logic in prepare-release for PR workflows
Joel Rosdahl [Fri, 5 Sep 2025 18:56:13 +0000 (20:56 +0200)]
ci: Fix ccache version for PR workflows
autoantwort [Wed, 3 Sep 2025 18:01:43 +0000 (20:01 +0200)]
fix: Fix crash on HTTP request failure (#1628)
If the request fails and `result.error() != Error::Success` `result->` can return
a `nullptr` resulting in a null pointer dereference.
Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
autoantwort [Wed, 3 Sep 2025 17:39:13 +0000 (19:39 +0200)]
fix: Fix bad conversion from UTF-16 in util::read_file on Windows (#1627)
When interpreting a char* string that is null terminated as wchar* string
it is not guaranteed that the wchar* string is also null terminated. A char[3]
string/memeory region with the content ['a', '\0', '\0', 100] interpreted as
wchar* has no ending null character resulting in out of bounds memory reads
when trying to construct a std::wstring from it.
Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
Joel Rosdahl [Sat, 30 Aug 2025 10:39:55 +0000 (12:39 +0200)]
ci: Add jobs to build and create release
This includes new binary releases for Linux aarch64 and Windows aarch64.
Closes #1579. See also discussion #1310.
Joel Rosdahl [Sun, 31 Aug 2025 08:28:12 +0000 (10:28 +0200)]
ci: Add artifact retention
Joel Rosdahl [Wed, 27 Aug 2025 19:03:43 +0000 (21:03 +0200)]
ci: Verify llvm-mingw toolchain download
Joel Rosdahl [Wed, 27 Aug 2025 19:03:03 +0000 (21:03 +0200)]
ci: Rename binary jobs to common "-binary" suffix
Joel Rosdahl [Wed, 27 Aug 2025 18:57:45 +0000 (20:57 +0200)]
ci: Add traces to CI jobs to make debug cycle shorter
Joel Rosdahl [Wed, 27 Aug 2025 18:53:45 +0000 (20:53 +0200)]
build: Improve installation of documentation
- Make HTML and man page part of "cmake --install".
- Make modifications of man page in-place to avoid leaving a .tmp file
behind.
Joel Rosdahl [Wed, 27 Aug 2025 18:46:45 +0000 (20:46 +0200)]
ci: Rename macOS to Darwin in CI context
Joel Rosdahl [Sun, 17 Aug 2025 12:23:47 +0000 (14:23 +0200)]
ci: Rename macOS binary jobs to match others
Joel Rosdahl [Sun, 17 Aug 2025 12:21:23 +0000 (14:21 +0200)]
ci: Add documentation build job
Joel Rosdahl [Fri, 15 Aug 2025 15:23:51 +0000 (17:23 +0200)]
ci: Run on ubuntu-24.04 instead of ubuntu-latest
I prefer to avoid *-latest tags.
Joel Rosdahl [Sun, 10 Aug 2025 08:56:19 +0000 (10:56 +0200)]
ci: Improve binary build jobs
For x86_64, build in an Alma Linux 8 container since RHEL 8 is the
oldest still active LTS mainstream Linux distribution to my knowledge.
For aarch64, cross compile in an x86_64 environment instead of in a
native aarch64 environment. This is because I want to be able to build
release binaries locally on my x86_64 machine if there is some problem
with the CI environment and it feels good to match that in CI. The build
is still on Ubuntu 22.04 – I made a quick attempt to get
cross-compilation working in Alma Linux 8 working but gave up.
Joel Rosdahl [Sun, 31 Aug 2025 08:24:12 +0000 (10:24 +0200)]
ci: Bump to newer codespell and typos versions
Joel Rosdahl [Fri, 8 Aug 2025 18:33:41 +0000 (20:33 +0200)]
build: Detect ccache version from GitHub Actions environment
autoantwort [Thu, 21 Aug 2025 19:26:17 +0000 (21:26 +0200)]
refactor: Use std::array instead of const char* array (#1623)
Joel Rosdahl [Sat, 16 Aug 2025 19:09:19 +0000 (21:09 +0200)]
feat: Add support for multiple directories in base_dir/CCACHE_BASEDIR
Closes #597.
Joel Rosdahl [Sat, 16 Aug 2025 19:07:29 +0000 (21:07 +0200)]
enhance: Add util::join_path_list
Joel Rosdahl [Sat, 16 Aug 2025 19:06:39 +0000 (21:06 +0200)]
enhance: Implement util::to_string(const fs::path&)
Joel Rosdahl [Mon, 11 Aug 2025 18:22:24 +0000 (20:22 +0200)]
chore: Improve comments
Joel Rosdahl [Mon, 11 Aug 2025 18:50:21 +0000 (20:50 +0200)]
docs: Reflow long line in manual
Joel Rosdahl [Wed, 13 Aug 2025 17:36:53 +0000 (19:36 +0200)]
fix: Support wide characters in filenames for MSVC
Fixes #1619.
Joel Rosdahl [Wed, 13 Aug 2025 17:36:27 +0000 (19:36 +0200)]
chore: Improve ccache.exe.manifest.in structure