commit:     ff918f6d0aac410a08f27a635f8b622c86097347
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 09:25:06 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 09:25:06 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=ff918f6d

15.0.0: add 72_all_PR117628-libgcc-c23.patch

Signed-off-by: Sam James <sam <AT> gentoo.org>

 15.0.0/gentoo/72_all_PR117628-libgcc-c23.patch | 71 ++++++++++++++++++++++++++
 15.0.0/gentoo/README.history                   |  4 ++
 2 files changed, 75 insertions(+)

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....@gentoo.org>
+From: Sam James <[email protected]>
+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/[email protected]/.
+
+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

Reply via email to