aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/aarch64/Makefile
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2021-09-10 16:52:17 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2024-01-02 15:43:30 +0000
commitd3c32ae207d4fc3e48bb47ce1b9f2c6cf0f35c4f (patch)
tree8714b622e0a3a69edce25ae7bc51291d38e23d32 /sysdeps/aarch64/Makefile
parent67f371e882499ea46eca1b9dc76c98a7c2d06b69 (diff)
downloadglibc-d3c32ae207d4fc3e48bb47ce1b9f2c6cf0f35c4f.zip
glibc-d3c32ae207d4fc3e48bb47ce1b9f2c6cf0f35c4f.tar.gz
glibc-d3c32ae207d4fc3e48bb47ce1b9f2c6cf0f35c4f.tar.bz2
aarch64: Add SME runtime support
The runtime support routines for the call ABI of the Scalable Matrix Extension (SME) are mostly in libgcc. Since libc.so cannot depend on libgcc_s.so have an implementation of __arm_za_disable in libc for libc internal use in longjmp and similar APIs. __libc_arm_za_disable follows the same PCS rules as __arm_za_disable, but it's a hidden symbol so it does not need variant PCS marking. Using __libc_fatal instead of abort because it can print a message and works in ld.so too. But for now we don't need SME routines in ld.so. To check the SME HWCAP in asm, we need the _dl_hwcap2 member offset in _rtld_global_ro in the shared libc.so, while in libc.a the _dl_hwcap2 object is accessed. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/aarch64/Makefile')
-rw-r--r--sysdeps/aarch64/Makefile10
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile
index 6a9559e..9d8844d 100644
--- a/sysdeps/aarch64/Makefile
+++ b/sysdeps/aarch64/Makefile
@@ -48,7 +48,9 @@ endif
endif
ifeq ($(subdir),csu)
-gen-as-const-headers += tlsdesc.sym
+gen-as-const-headers += \
+ tlsdesc.sym \
+ rtld-global-offsets.sym
endif
ifeq ($(subdir),gmon)
@@ -62,8 +64,10 @@ endif
ifeq ($(subdir),misc)
sysdep_headers += sys/ifunc.h
-sysdep_routines += __mtag_tag_zero_region \
- __mtag_tag_region
+sysdep_routines += \
+ __mtag_tag_zero_region \
+ __mtag_tag_region \
+ __arm_za_disable
endif
ifeq ($(subdir),malloc)