diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-09-10 16:52:17 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2024-01-02 15:43:30 +0000 |
commit | d3c32ae207d4fc3e48bb47ce1b9f2c6cf0f35c4f (patch) | |
tree | 8714b622e0a3a69edce25ae7bc51291d38e23d32 /sysdeps/aarch64/Makefile | |
parent | 67f371e882499ea46eca1b9dc76c98a7c2d06b69 (diff) | |
download | glibc-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/Makefile | 10 |
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) |