aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--15.0.0/gentoo/72_all_PR117628-libgcc-c23.patch71
-rw-r--r--15.0.0/gentoo/README.history4
2 files changed, 75 insertions, 0 deletions
diff --git a/15.0.0/gentoo/72_all_PR117628-libgcc-c23.patch b/15.0.0/gentoo/72_all_PR117628-libgcc-c23.patch
new file mode 100644
index 0000000..ddfb652
--- /dev/null
+++ b/15.0.0/gentoo/72_all_PR117628-libgcc-c23.patch
@@ -0,0 +1,71 @@
+From b750323260c1ceb47c64e98ddab7095696b00a6d Mon Sep 17 00:00:00 2001
+Message-ID: <b750323260c1ceb47c64e98ddab7095696b00a6d.1731921825.git.sam@gentoo.org>
+From: Sam James <sam@gentoo.org>
+Date: Mon, 18 Nov 2024 09:22:33 +0000
+Subject: [PATCH] libgcc: fix C23 issues
+
+This includes Jeff's patch from https://inbox.sourceware.org/gcc-patches/9cb69002-9754-476a-a525-68dcca9c23d8@gmail.com/.
+
+Bug: https://gcc.gnu.org/PR117628
+--- a/libgcc/config/arm/linux-atomic-64bit.c
++++ b/libgcc/config/arm/linux-atomic-64bit.c
+@@ -141,9 +141,7 @@ __sync_val_compare_and_swap_8 (long long *ptr, long long oldval,
+ }
+ }
+
+-typedef unsigned char bool;
+-
+-bool HIDDEN
++unsigned char HIDDEN
+ __sync_bool_compare_and_swap_8 (long long *ptr, long long oldval,
+ long long newval)
+ {
+--- a/libgcc/config/arm/linux-atomic.c
++++ b/libgcc/config/arm/linux-atomic.c
+@@ -249,9 +249,7 @@ __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval)
+ SUBWORD_VAL_CAS (short, 2)
+ SUBWORD_VAL_CAS (signed char, 1)
+
+-typedef unsigned char bool;
+-
+-bool HIDDEN
++unsigned char HIDDEN
+ __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval)
+ {
+ int failure = __kernel_cmpxchg (oldval, newval, ptr);
+@@ -259,7 +257,7 @@ __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval)
+ }
+
+ #define SUBWORD_BOOL_CAS(TYPE, WIDTH) \
+- bool HIDDEN \
++ unsigned char HIDDEN \
+ __sync_bool_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \
+ TYPE newval) \
+ { \
+--- a/libgcc/config/csky/linux-atomic.c
++++ b/libgcc/config/csky/linux-atomic.c
+@@ -215,8 +215,6 @@ __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval)
+ SUBWORD_VAL_CAS (unsigned short, 2)
+ SUBWORD_VAL_CAS (unsigned char, 1)
+
+-typedef unsigned char bool;
+-
+ bool HIDDEN
+ __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval)
+ {
+--- a/libgcc/unwind-arm-common.inc
++++ b/libgcc/unwind-arm-common.inc
+@@ -52,8 +52,6 @@
+
+ /* Definitions for C++ runtime support routines. We make these weak
+ declarations to avoid pulling in libsupc++ unnecessarily. */
+-typedef unsigned char bool;
+-
+ typedef struct _ZSt9type_info type_info; /* This names C++ type_info type */
+ enum __cxa_type_match_result
+ {
+
+base-commit: 45a3277149d95a51cf9109cab87ee39a7dce73e2
+--
+2.47.0
+
diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history
index 6da1d89..af598af 100644
--- a/15.0.0/gentoo/README.history
+++ b/15.0.0/gentoo/README.history
@@ -1,3 +1,7 @@
+25 18 November 2024
+
+ + 72_all_PR117628-libgcc-c23.patch
+
24 16 November 2024
- 72_all_PR117476-revert.patch