summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-03-24 05:57:18 +0000
committerSam James <sam@gentoo.org>2024-03-24 05:57:18 +0000
commit941cbe454bc58735a04ac0bbcc83167cd9fd8aa8 (patch)
tree7187a76c361521e01bb85fb97fd9bdb474a02fe8
parentdev-python/aiofiles: Stabilize 23.2.1 sparc, #927639 (diff)
downloadgentoo-941cbe454bc58735a04ac0bbcc83167cd9fd8aa8.tar.gz
gentoo-941cbe454bc58735a04ac0bbcc83167cd9fd8aa8.tar.bz2
gentoo-941cbe454bc58735a04ac0bbcc83167cd9fd8aa8.zip
sys-apps/coreutils: backport Clang 18 patch
Closes: https://bugs.gentoo.org/926349 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--sys-apps/coreutils/coreutils-9.4-r1.ebuild1
-rw-r--r--sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch30
2 files changed, 31 insertions, 0 deletions
diff --git a/sys-apps/coreutils/coreutils-9.4-r1.ebuild b/sys-apps/coreutils/coreutils-9.4-r1.ebuild
index 9ed86c076690..adf51c2bed02 100644
--- a/sys-apps/coreutils/coreutils-9.4-r1.ebuild
+++ b/sys-apps/coreutils/coreutils-9.4-r1.ebuild
@@ -118,6 +118,7 @@ src_prepare() {
# Upstream patches
"${FILESDIR}"/${P}-gnulib-openssl-1.1.patch
"${FILESDIR}"/${P}-CVE-2024-0684.patch
+ "${FILESDIR}"/${P}-gnulib-clang-18-c23-stdckdint.patch
)
if ! use vanilla && [[ -d "${WORKDIR}"/${MY_PATCH} ]] ; then
diff --git a/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch b/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch
new file mode 100644
index 000000000000..44982a17a78c
--- /dev/null
+++ b/sys-apps/coreutils/files/coreutils-9.4-gnulib-clang-18-c23-stdckdint.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/926349
+https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=67c298c36f6
+
+From 67c298c36f69b6906840b7584be06b7b5f33f829 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 16 Jan 2024 17:21:08 -0800
+Subject: [PATCH] posixtm: pacify clang 18
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Khem Raj in:
+https://lists.gnu.org/r/bug-gnulib/2024-01/msg00045.html
+* lib/posixtm.c (posixtime): Pacify clang 18 by converting bool to int.
+Arguably this is a bug in draft C2x, since the non-pointer args to
+ckd_add should promote just like any other expressions do;
+but that’s not clang’s fault.
+--- a/lib/posixtm.c
++++ b/lib/posixtm.c
+@@ -191,7 +191,7 @@ posixtime (time_t *p, const char *s, unsigned int syntax_bits)
+ | (tm0.tm_min ^ tm1.tm_min)
+ | (tm0.tm_sec ^ tm1.tm_sec)))
+ {
+- if (ckd_add (&t, t, leapsec))
++ if (ckd_add (&t, t, +leapsec))
+ return false;
+ *p = t;
+ return true;
+--
+2.17.1