aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2023-12-22 12:29:48 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2024-07-08 09:41:44 +0100
commit4749a0c86aa030348fc44138ea8772bb3a4d075c (patch)
tree65575f6814ff17d445ea98c2c191c86e79039b33
parent01204afc0d82e3fc47a65a3f6330c09d8e7459ee (diff)
downloadglibc-4749a0c86aa030348fc44138ea8772bb3a4d075c.zip
glibc-4749a0c86aa030348fc44138ea8772bb3a4d075c.tar.gz
glibc-4749a0c86aa030348fc44138ea8772bb3a4d075c.tar.bz2
aarch64: Mark objects with GCS property note
TODO: binutils config check TODO: build attributes instead of gnu property
-rw-r--r--sysdeps/aarch64/sysdep.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h
index 661d9fe..55e0230 100644
--- a/sysdeps/aarch64/sysdep.h
+++ b/sysdeps/aarch64/sysdep.h
@@ -85,6 +85,7 @@ strip_pac (void *p)
#define FEATURE_1_AND 0xc0000000
#define FEATURE_1_BTI 1
#define FEATURE_1_PAC 2
+#define FEATURE_1_GCS 4
/* Add a NT_GNU_PROPERTY_TYPE_0 note. */
#define GNU_PROPERTY(type, value) \
@@ -103,9 +104,9 @@ strip_pac (void *p)
/* Add GNU property note with the supported features to all asm code
where sysdep.h is included. */
#if HAVE_AARCH64_BTI && HAVE_AARCH64_PAC_RET
-GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC)
+GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC|FEATURE_1_GCS)
#elif HAVE_AARCH64_BTI
-GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI)
+GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_GCS)
#endif
/* Define an entry point visible from C. */