summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-08-08 03:09:48 +0100
committerSam James <sam@gentoo.org>2023-08-08 03:09:48 +0100
commitc1683082f6735325895ab84e5d16801dc7fad2f5 (patch)
tree9fd6dea2cf714f62eb275bdd790ea689e0053210
parentdev-util/ruff: add 0.0.282, drop 0.0.281 (diff)
downloadgentoo-c1683082f6735325895ab84e5d16801dc7fad2f5.tar.gz
gentoo-c1683082f6735325895ab84e5d16801dc7fad2f5.tar.bz2
gentoo-c1683082f6735325895ab84e5d16801dc7fad2f5.zip
dev-util/ccache: backport ICE workaround
Already fixed in stable GCC but let's backport as it makes life easier for people. Bug: https://bugs.gentoo.org/906310 Bug: https://bugs.gentoo.org/906942 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-util/ccache/ccache-4.8.2.ebuild1
-rw-r--r--dev-util/ccache/files/ccache-4.8.2-gcc-ice-workaround.patch25
2 files changed, 26 insertions, 0 deletions
diff --git a/dev-util/ccache/ccache-4.8.2.ebuild b/dev-util/ccache/ccache-4.8.2.ebuild
index 782242e5b788..8ec5b78da959 100644
--- a/dev-util/ccache/ccache-4.8.2.ebuild
+++ b/dev-util/ccache/ccache-4.8.2.ebuild
@@ -62,6 +62,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.5-nvcc-test.patch
"${FILESDIR}"/${PN}-4.0-objdump.patch
"${FILESDIR}"/${PN}-4.8-avoid-run-user.patch
+ "${FILESDIR}"/${P}-gcc-ice-workaround.patch
)
src_unpack() {
diff --git a/dev-util/ccache/files/ccache-4.8.2-gcc-ice-workaround.patch b/dev-util/ccache/files/ccache-4.8.2-gcc-ice-workaround.patch
new file mode 100644
index 000000000000..a638930ad6ad
--- /dev/null
+++ b/dev-util/ccache/files/ccache-4.8.2-gcc-ice-workaround.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/906310
+https://bugs.gentoo.org/906942
+https://github.com/ccache/ccache/issues/1289
+https://github.com/ccache/ccache/commit/689168c292f1ed26c5f4a3070aeb649dad7facb5
+
+From 689168c292f1ed26c5f4a3070aeb649dad7facb5 Mon Sep 17 00:00:00 2001
+From: Joel Rosdahl <joel@rosdahl.net>
+Date: Tue, 1 Aug 2023 12:30:12 +0200
+Subject: [PATCH] fix: Work around GCC 12.3 bug 109241
+
+See also #1289.
+--- a/src/storage/local/LocalStorage.cpp
++++ b/src/storage/local/LocalStorage.cpp
+@@ -854,7 +854,9 @@ LocalStorage::recompress(const std::optional<int8_t> level,
+ auto l2_content_lock = get_level_2_content_lock(l1_index, l2_index);
+ l2_content_lock.make_long_lived(lock_manager);
+ if (!l2_content_lock.acquire()) {
+- LOG("Failed to acquire content lock for {}/{}", l1_index, l2_index);
++ // LOG_RAW+fmt::format instead of LOG due to GCC 12.3 bug #109241
++ LOG_RAW(fmt::format(
++ "Failed to acquire content lock for {}/{}", l1_index, l2_index));
+ return;
+ }
+
+