aarch64: support GCS in assembly (#943)

Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
This commit is contained in:
ggardet 2025-10-25 13:24:40 +02:00 committed by GitHub
parent 2835f72cc7
commit 205fc530b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -74,6 +74,12 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
.text
.align 4
#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
/* ffi_call_SYSV
extern void ffi_call_SYSV (void *stack, void *frame,
void (*fn)(void), void *rvalue,
@ -692,7 +698,7 @@ CNAME(ffi_go_closure_SYSV):
.asciz "GNU";
.long 0xc0000000; /* GNU_PROPERTY_AARCH64_FEATURE_1_AND */
.long 4;
.long GNU_PROPERTY_AARCH64_BTI | GNU_PROPERTY_AARCH64_POINTER_AUTH;
.long GNU_PROPERTY_AARCH64_BTI | GNU_PROPERTY_AARCH64_POINTER_AUTH | GNU_PROPERTY_AARCH64_GCS;
.long 0;
.popsection;
#endif