[gcc r15-5773] MAINTAINERS: Add myself to write after approval

2024-11-29 Thread Yury Khrustalev via Gcc-cvs
https://gcc.gnu.org/g:610ef3e0a1651af3dd6d575a1f56fed5ef24e7ec

commit r15-5773-g610ef3e0a1651af3dd6d575a1f56fed5ef24e7ec
Author: Yury Khrustalev 
Date:   Tue Nov 26 14:34:25 2024 +

MAINTAINERS: Add myself to write after approval

ChangeLog:

* MAINTAINERS: Add myself to write after approval.

Diff:
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 26455d1cabfa..6851affb6cb6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -573,6 +573,7 @@ Filip Kastl pheeck  

 Geoffrey Keatinggeoffk  
 Brendan Kehoe   -   
 Richard Kenner  kenner  
+Yury Khrustalev ykhrustalev 
 Andi Kleen  ak  
 Matthias Klose  doko
 Jeff Knaggs -   


[gcc r15-5775] aarch64: add ACLE macro _CHKFEAT_GCS

2024-11-29 Thread Yury Khrustalev via Gcc-cvs
https://gcc.gnu.org/g:5a6af707f0af0abeafae8459d2f8817716377b4b

commit r15-5775-g5a6af707f0af0abeafae8459d2f8817716377b4b
Author: Yury Khrustalev 
Date:   Thu Nov 21 15:43:39 2024 +

aarch64: add ACLE macro _CHKFEAT_GCS

gcc/ChangeLog:
* config/aarch64/arm_acle.h (_CHKFEAT_GCS): New.

libgcc/ChangeLog:

* config/aarch64/aarch64-unwind.h (_Unwind_Frames_Extra): Update.
(_Unwind_Frames_Increment): Update

Reviewed-by: Richard Sandiford 

Diff:
---
 gcc/config/aarch64/arm_acle.h  | 3 +++
 libgcc/config/aarch64/aarch64-unwind.h | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/gcc/config/aarch64/arm_acle.h b/gcc/config/aarch64/arm_acle.h
index 7fe61c736ed8..7351d1de70b1 100644
--- a/gcc/config/aarch64/arm_acle.h
+++ b/gcc/config/aarch64/arm_acle.h
@@ -194,6 +194,9 @@ __rint64x (double __a)
 #pragma GCC push_options
 #pragma GCC target ("+nothing")
 
+/* Feature constants for CHKFEAT operation.  */
+#define _CHKFEAT_GCS 1
+
 __extension__ extern __inline uint64_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __chkfeat (uint64_t __feat)
diff --git a/libgcc/config/aarch64/aarch64-unwind.h 
b/libgcc/config/aarch64/aarch64-unwind.h
index cf4ec749c055..85468f9685e0 100644
--- a/libgcc/config/aarch64/aarch64-unwind.h
+++ b/libgcc/config/aarch64/aarch64-unwind.h
@@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If 
not, see
 
 #include "ansidecl.h"
 #include 
+#include 
 
 #define AARCH64_DWARF_REGNUM_RA_STATE 34
 #define AARCH64_DWARF_RA_STATE_MASK   0x1
@@ -179,7 +180,6 @@ aarch64_demangle_return_addr (struct _Unwind_Context 
*context,
 }
 
 /* GCS enable flag for chkfeat instruction.  */
-#define CHKFEAT_GCS 1
 
 /* SME runtime function local to libgcc, streaming compatible
and preserves more registers than the base PCS requires, but
@@ -194,7 +194,7 @@ void __libgcc_arm_za_disable (void);
   do   \
 {  \
   __libgcc_arm_za_disable ();  \
-  if (__builtin_aarch64_chkfeat (CHKFEAT_GCS) == 0)\
+  if (__builtin_aarch64_chkfeat (_CHKFEAT_GCS) == 0)   \
{   \
  for (_Unwind_Word n = (x); n != 0; n--)   \
__builtin_aarch64_gcspopm ();   \
@@ -233,7 +233,7 @@ void __libgcc_arm_za_disable (void);
   do   \
 {  \
   frames++;\
-  if (__builtin_aarch64_chkfeat (CHKFEAT_GCS) != 0 \
+  if (__builtin_aarch64_chkfeat (_CHKFEAT_GCS) != 0\
  || exc->exception_class == 0  \
  || _Unwind_GetIP (context) == 0)  \
break;  \


[gcc r15-5799] aarch64: Fix build failure due to missing header

2024-11-29 Thread Yury Khrustalev via Gcc-cvs
https://gcc.gnu.org/g:f3ee8bc1cb19a3a173b1caba01de9adfd93157ec

commit r15-5799-gf3ee8bc1cb19a3a173b1caba01de9adfd93157ec
Author: Yury Khrustalev 
Date:   Fri Nov 29 11:09:23 2024 +

aarch64: Fix build failure due to missing header

Including the "arm_acle.h" header in aarch64-unwind.h requires
stdint.h to be present and it may not be available during the
first stage of cross-compilation of GCC.

When cross-building GCC for the aarch64-none-linux-gnu target
(on any supporting host) using the 3-stage bootstrap build
process when we build native compiler from source, libgcc fails
to compile due to missing header that has not been installed yet.

This could be worked around but it's better to fix the issue.

libgcc/ChangeLog:

* config/aarch64/aarch64-unwind.h (_CHKFEAT_GCS): Add.

Diff:
---
 libgcc/config/aarch64/aarch64-unwind.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libgcc/config/aarch64/aarch64-unwind.h 
b/libgcc/config/aarch64/aarch64-unwind.h
index 85468f9685e0..d11753a0e037 100644
--- a/libgcc/config/aarch64/aarch64-unwind.h
+++ b/libgcc/config/aarch64/aarch64-unwind.h
@@ -29,7 +29,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If 
not, see
 
 #include "ansidecl.h"
 #include 
-#include 
 
 #define AARCH64_DWARF_REGNUM_RA_STATE 34
 #define AARCH64_DWARF_RA_STATE_MASK   0x1
@@ -180,7 +179,7 @@ aarch64_demangle_return_addr (struct _Unwind_Context 
*context,
 }
 
 /* GCS enable flag for chkfeat instruction.  */
-
+#define _CHKFEAT_GCS 1
 /* SME runtime function local to libgcc, streaming compatible
and preserves more registers than the base PCS requires, but
we don't rely on that here.  */