glibc/sysdeps/aarch64
Yury Khrustalev ecb0fc2f0f aarch64: tests for SME
This commit adds tests for the following use cases relevant to handing of
the SME state:

 - fork() and vfork()
 - clone() and clone3()
 - signal handler

While most cases are trivial, the case of clone3() is more complicated since
the clone3() symbol is not public in Glibc.

To avoid having to check all possible ways clone3() may be called via other
public functions (e.g. vfork() or pthread_create()), we put together a test
that links directly with clone3.o. All the existing functions that have calls
to clone3() may not actually use it, in which case the outcome of such tests
would be unexpected. Having a direct call to the clone3() symbol in the test
allows to check precisely what we need to test: that the __arm_za_disable()
function is indeed called and has the desired effect.

Linking to clone3.o also requires linking to __arm_za_disable.o that in
turn requires the _dl_hwcap2 hidden symbol which to provide in the test
and initialise it before using.

Co-authored-by: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2025-10-14 09:42:46 +01:00
..
bits AArch64: Remove LP64 and ILP32 ifdefs 2025-02-24 14:20:29 +00:00
fpu AArch64: Implement AdvSIMD and SVE log10p1(f) routines 2025-09-27 12:45:59 +00:00
multiarch misc: Fix several typos 2025-10-10 14:52:40 +01:00
nptl AArch64: Remove LP64 and ILP32 ifdefs 2025-02-24 14:20:29 +00:00
sys aarch64: add __ifunc_hwcap function to be used in ifunc resolvers 2025-06-05 14:38:51 +01:00
Implies Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
Makefile aarch64: tests for SME 2025-10-14 09:42:46 +01:00
Versions
__alloc_gcs.c aarch64: GCS: use internal struct in __alloc_gcs 2025-06-18 09:37:13 +01:00
__arm_za_disable.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
__longjmp.S aarch64: define macro for calling __libc_arm_za_disable 2025-10-14 09:42:46 +01:00
__mtag_tag_region.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
__mtag_tag_zero_region.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
aarch64-gcs.h aarch64: GCS: use internal struct in __alloc_gcs 2025-06-18 09:37:13 +01:00
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
bsd-_setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
bsd-setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
configure Disable SFrame support by default 2025-07-24 15:51:58 -03:00
configure.ac Disable SFrame support by default 2025-07-24 15:51:58 -03:00
cpu-features.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
crti.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
crtn.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
dl-audit-check.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-bti.c aarch64: Use l_searchlist.r_list for bti 2025-01-20 09:31:47 +00:00
dl-diagnostics-cpu.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-gcs.c aarch64: Ignore GCS property of ld.so 2025-01-20 09:36:19 +00:00
dl-irel.h aarch64: add support for hwcap3,4 2025-06-05 14:38:03 +01:00
dl-link.sym elf: Fix runtime linker auditing on aarch64 (BZ #26643) 2022-02-01 14:49:46 -03:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-machine.h AArch64: Remove AARCH64_R macro 2025-02-24 14:19:19 +00:00
dl-prop.h aarch64: Handle GCS marking 2025-01-20 09:35:56 +00:00
dl-start.S AArch64: Remove PTR_REG defines 2025-02-24 14:16:55 +00:00
dl-tlsdesc.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-trampoline.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
dl-tunables.list aarch64: Add glibc.cpu.aarch64_gcs tunable 2025-01-20 09:31:33 +00:00
e_sqrtl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-offsets.h aarch64: Define jmp_buf offset for GCS 2025-01-20 09:22:41 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-mtag.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-start.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-tls.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
linkmap.h aarch64: Handle GCS marking 2025-01-20 09:35:56 +00:00
machine-gmon.h AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-use-builtins-ffs.h string: Use builtins for ffs and ffsll 2024-02-01 09:31:33 -03:00
mcount.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memchr.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
memcmp.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
memcpy.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
memmove.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
memrchr.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
memset.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
preconfigure i386: Update ___tls_get_addr to preserve vector registers 2025-06-19 04:30:31 +08:00
rawmemchr.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rtld-global-offsets.sym aarch64: Enable GCS in dynamic linked exe 2025-01-20 09:31:47 +00:00
setjmp.S aarch64: define macro for calling __libc_arm_za_disable 2025-10-14 09:42:46 +01:00
sfp-machine.h aarch64: Use 64-bit variable to access the special registers 2025-01-13 10:17:38 -03:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
start.S AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
stpcpy.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strchr.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strchrnul.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strcmp.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strcpy.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strcspn.S AArch64: add optimised strspn/strcspn 2025-09-10 16:12:23 +00:00
strlen.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strncmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strnlen.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strrchr.S AArch64: Remove PTR_ARG/SIZE_ARG defines 2025-02-24 14:15:15 +00:00
strspn.S AArch64: add optimised strspn/strcspn 2025-09-10 16:12:23 +00:00
sysdep.h AArch64: Cleanup PAC and BTI 2025-05-19 15:35:32 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tlsdesc.sym
tst-audit.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit26.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit26mod.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit26mod.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit27.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit27mod.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-audit27mod.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-auditmod26.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-auditmod27.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-ifunc-arg-1.c aarch64: add __ifunc_hwcap function to be used in ifunc resolvers 2025-06-05 14:38:51 +01:00
tst-ifunc-arg-2.c aarch64: add __ifunc_hwcap function to be used in ifunc resolvers 2025-06-05 14:38:51 +01:00
tst-ifunc-arg-3.c aarch64: add __ifunc_hwcap function to be used in ifunc resolvers 2025-06-05 14:38:51 +01:00
tst-ifunc-arg-4.c aarch64: add __ifunc_hwcap function to be used in ifunc resolvers 2025-06-05 14:38:51 +01:00
tst-sme-clone.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-clone3.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-fork.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-helper.h aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-jmp.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-signal.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-skeleton.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-vfork.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-sme-za-state.c aarch64: tests for SME 2025-10-14 09:42:46 +01:00
tst-vpcs-mod.S aarch64: Fix tests not compatible with targets supporting GCS 2025-01-20 09:36:19 +00:00
tst-vpcs.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wordcopy.c aarch64: Don't build wordcopy 2022-10-28 11:14:54 +01:00