diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S index d9698a3203..33807c8caa 100644 --- a/libavutil/aarch64/asm.S +++ b/libavutil/aarch64/asm.S @@ -255,8 +255,14 @@ DISABLE_SME2 # define AARCH64_VALIDATE_LINK_REGISTER #endif +#if defined(__ARM_FEATURE_GCS_DEFAULT) && __ARM_FEATURE_GCS_DEFAULT == 1 +#define GNU_PROPERTY_AARCH64_GCS (1 << 2) +#else +#define GNU_PROPERTY_AARCH64_GCS 0 /* No GCS */ +#endif -#if (GNU_PROPERTY_AARCH64_BTI != 0 || GNU_PROPERTY_AARCH64_PAC != 0) && defined(__ELF__) + +#if (GNU_PROPERTY_AARCH64_BTI != 0 || GNU_PROPERTY_AARCH64_PAC != 0 || GNU_PROPERTY_AARCH64_GCS != 0) && defined(__ELF__) .pushsection .note.gnu.property, "a" .balign 8 .long 4 @@ -265,7 +271,7 @@ DISABLE_SME2 .asciz "GNU" .long 0xc0000000 /* GNU_PROPERTY_AARCH64_FEATURE_1_AND */ .long 4 - .long (GNU_PROPERTY_AARCH64_BTI | GNU_PROPERTY_AARCH64_PAC) + .long (GNU_PROPERTY_AARCH64_BTI | GNU_PROPERTY_AARCH64_PAC | GNU_PROPERTY_AARCH64_GCS) .long 0 .popsection #endif