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 --- 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 7fe61c736ed..7351d1de70b 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 cf4ec749c05..85468f9685e 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 <stdbool.h> +#include <arm_acle.h> #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; \ -- 2.39.5