# tests-internal
$(objpfx)tst-sme-clone3: $(objpfx)clone3.o $(objpfx)__arm_za_disable.o
-
-ifeq (yes,$(have-test-bti))
-
-tests += \
- tst-bti-abort-imm \
- tst-bti-abort-static \
- tst-bti-abort-transitive \
- tst-bti-abort-unprot \
- tst-bti-abort-unprot-preload \
- tst-bti-dep-prot \
- tst-bti-dep-prot-preload \
- tst-bti-dlopen-imm \
- tst-bti-dlopen-prot \
- tst-bti-dlopen-transitive \
- tst-bti-ld-debug-both \
- tst-bti-ld-debug-dlopen \
- tst-bti-ld-debug-exe \
- tst-bti-ld-debug-shared \
- tst-bti-permissive-audit \
- tst-bti-permissive-dlopen \
- tst-bti-permissive-imm \
- tst-bti-permissive-preload \
- tst-bti-permissive-transitive \
- tst-bti-prot-audit \
- tst-bti-unprot-audit \
- # tests
-
-modules-names += \
- tst-bti-mod \
- tst-bti-mod-prot \
- tst-bti-mod-prot-audit \
- tst-bti-mod-prot-preload \
- tst-bti-mod-unprot \
- tst-bti-mod-unprot-audit \
- tst-bti-mod-unprot-preload \
- # modules-names
-
-$(objpfx)tst-bti-abort-imm: $(objpfx)tst-bti-mod-unprot.so
-$(objpfx)tst-bti-abort-transitive: $(objpfx)tst-bti-mod.so
-$(objpfx)tst-bti-abort-unprot: $(objpfx)tst-bti-mod-prot.so
-$(objpfx)tst-bti-dep-prot: $(objpfx)tst-bti-mod-prot.so
-$(objpfx)tst-bti-mod.so: $(objpfx)tst-bti-mod-unprot.so
-$(objpfx)tst-bti-permissive-imm: $(objpfx)tst-bti-mod-unprot.so
-$(objpfx)tst-bti-permissive-transitive: $(objpfx)tst-bti-mod.so
-$(objpfx)tst-bti-ld-debug-shared: $(objpfx)tst-bti-mod.so
-$(objpfx)tst-bti-ld-debug-both: $(objpfx)tst-bti-mod-unprot.so
-
-$(objpfx)tst-bti-abort-unprot-preload.out: $(objpfx)tst-bti-mod-unprot-preload.so
-tst-bti-abort-unprot-preload-ENV = \
- GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1 \
- LD_PRELOAD=$(objpfx)tst-bti-mod-unprot-preload.so
-
-$(objpfx)tst-bti-dep-prot-preload.out: $(objpfx)tst-bti-mod-prot-preload.so
-# The 'fun' function will be provided by the preload library
-LDFLAGS-tst-bti-dep-prot-preload = -Wl,--unresolved-symbols=ignore-all
-tst-bti-dep-prot-preload-ENV = \
- GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0 \
- LD_PRELOAD=$(objpfx)tst-bti-mod-prot-preload.so
-
-$(objpfx)tst-bti-permissive-preload.out: $(objpfx)tst-bti-mod-unprot-preload.so
-tst-bti-permissive-preload-ENV = \
- GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0 \
- LD_PRELOAD=$(objpfx)tst-bti-mod-unprot-preload.so
-
-CFLAGS-tst-bti-abort-unprot.o += -mbranch-protection=none
-CFLAGS-tst-bti-ld-debug-exe.o += -mbranch-protection=none
-CFLAGS-tst-bti-ld-debug-both.o += -mbranch-protection=none
-CFLAGS-tst-bti-mod-unprot.os += -mbranch-protection=none
-CFLAGS-tst-bti-mod-unprot-preload.os += -mbranch-protection=none
-CFLAGS-tst-bti-mod-unprot-audit.os += -mbranch-protection=none
-
-tst-bti-abort-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-abort-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-abort-unprot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-dep-prot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-dlopen-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-dlopen-prot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-tst-bti-dlopen-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-
-tst-bti-permissive-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
-tst-bti-permissive-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
-tst-bti-permissive-dlopen-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
-
-$(objpfx)tst-bti-unprot-audit.out: $(objpfx)tst-bti-mod-unprot-audit.so
-tst-bti-unprot-audit-ARGS = -- $(host-test-program-cmd)
-
-$(objpfx)tst-bti-prot-audit.out: $(objpfx)tst-bti-mod-prot-audit.so
-$(objpfx)tst-bti-prot-audit: $(objpfx)tst-bti-mod-prot.so
-tst-bti-prot-audit-ARGS = -- $(host-test-program-cmd)
-
-tst-bti-permissive-audit-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
-$(objpfx)tst-bti-permissive-audit.out: $(objpfx)tst-bti-mod-unprot-audit.so
-$(objpfx)tst-bti-permissive-audit: $(objpfx)tst-bti-mod.so
-tst-bti-permissive-audit-ARGS = -- $(host-test-program-cmd)
-
-define run-bti-abort-test
- $(test-wrapper-env) $(run-program-env) \
- $(tst-bti-abort-$*-ENV) $(host-test-program-cmd)
-endef
-
-$(objpfx)tst-bti-abort-%.out: $(..)sysdeps/aarch64/tst-bti-abort.sh \
- $(objpfx)tst-bti-abort-%
- $(SHELL) $< $(common-objpfx) $(test-name) '$(run-bti-abort-test)'; \
- $(evaluate-test)
-
-tests-static += \
- tst-bti-abort-static \
- # tests-static
-
-tst-bti-abort-static-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
-CFLAGS-tst-bti-abort-static.o += -mbranch-protection=none
-
-$(objpfx)tst-bti-ld-debug-%.out: $(..)elf/tst-dl-debug-protect.sh $(objpfx)tst-bti-ld-debug-%
- $(SHELL) $< $(objpfx) '$(test-wrapper-env)' '$(rtld-prefix)' \
- '$(run-program-env) GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0' \
- 'security: not compatible with AArch64 BTI: $(objpfx)' \
- $(objpfx)tst-bti-ld-debug-$* > $@; $(evaluate-test)
-
-endif # ifeq (yes,$(have-test-bti))
-
endif
ifeq ($(subdir),malloc)
tst-aarch64-pkey \
# tests
+ifeq (yes,$(have-test-bti))
+
+tests += \
+ tst-bti-abort-imm \
+ tst-bti-abort-static \
+ tst-bti-abort-transitive \
+ tst-bti-abort-unprot \
+ tst-bti-abort-unprot-preload \
+ tst-bti-dep-prot \
+ tst-bti-dep-prot-preload \
+ tst-bti-dlopen-imm \
+ tst-bti-dlopen-prot \
+ tst-bti-dlopen-transitive \
+ tst-bti-ld-debug-both \
+ tst-bti-ld-debug-dlopen \
+ tst-bti-ld-debug-exe \
+ tst-bti-ld-debug-shared \
+ tst-bti-permissive-audit \
+ tst-bti-permissive-dlopen \
+ tst-bti-permissive-imm \
+ tst-bti-permissive-preload \
+ tst-bti-permissive-transitive \
+ tst-bti-prot-audit \
+ tst-bti-unprot-audit \
+ # tests
+
+modules-names += \
+ tst-bti-mod \
+ tst-bti-mod-prot \
+ tst-bti-mod-prot-audit \
+ tst-bti-mod-prot-preload \
+ tst-bti-mod-unprot \
+ tst-bti-mod-unprot-audit \
+ tst-bti-mod-unprot-preload \
+ # modules-names
+
+$(objpfx)tst-bti-abort-imm: $(objpfx)tst-bti-mod-unprot.so
+$(objpfx)tst-bti-abort-transitive: $(objpfx)tst-bti-mod.so
+$(objpfx)tst-bti-abort-unprot: $(objpfx)tst-bti-mod-prot.so
+$(objpfx)tst-bti-dep-prot: $(objpfx)tst-bti-mod-prot.so
+$(objpfx)tst-bti-mod.so: $(objpfx)tst-bti-mod-unprot.so
+$(objpfx)tst-bti-permissive-imm: $(objpfx)tst-bti-mod-unprot.so
+$(objpfx)tst-bti-permissive-transitive: $(objpfx)tst-bti-mod.so
+$(objpfx)tst-bti-ld-debug-shared: $(objpfx)tst-bti-mod.so
+$(objpfx)tst-bti-ld-debug-both: $(objpfx)tst-bti-mod-unprot.so
+
+$(objpfx)tst-bti-abort-unprot-preload.out: $(objpfx)tst-bti-mod-unprot-preload.so
+tst-bti-abort-unprot-preload-ENV = \
+ GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1 \
+ LD_PRELOAD=$(objpfx)tst-bti-mod-unprot-preload.so
+
+$(objpfx)tst-bti-dep-prot-preload.out: $(objpfx)tst-bti-mod-prot-preload.so
+# The 'fun' function will be provided by the preload library
+LDFLAGS-tst-bti-dep-prot-preload = -Wl,--unresolved-symbols=ignore-all
+tst-bti-dep-prot-preload-ENV = \
+ GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0 \
+ LD_PRELOAD=$(objpfx)tst-bti-mod-prot-preload.so
+
+$(objpfx)tst-bti-permissive-preload.out: $(objpfx)tst-bti-mod-unprot-preload.so
+tst-bti-permissive-preload-ENV = \
+ GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0 \
+ LD_PRELOAD=$(objpfx)tst-bti-mod-unprot-preload.so
+
+CFLAGS-tst-bti-abort-unprot.o += -mbranch-protection=none
+CFLAGS-tst-bti-ld-debug-exe.o += -mbranch-protection=none
+CFLAGS-tst-bti-ld-debug-both.o += -mbranch-protection=none
+CFLAGS-tst-bti-mod-unprot.os += -mbranch-protection=none
+CFLAGS-tst-bti-mod-unprot-preload.os += -mbranch-protection=none
+CFLAGS-tst-bti-mod-unprot-audit.os += -mbranch-protection=none
+
+tst-bti-abort-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-abort-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-abort-unprot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-dep-prot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-dlopen-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-dlopen-prot-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+tst-bti-dlopen-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+
+tst-bti-permissive-imm-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
+tst-bti-permissive-transitive-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
+tst-bti-permissive-dlopen-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
+
+$(objpfx)tst-bti-unprot-audit.out: $(objpfx)tst-bti-mod-unprot-audit.so
+tst-bti-unprot-audit-ARGS = -- $(host-test-program-cmd)
+
+$(objpfx)tst-bti-prot-audit.out: $(objpfx)tst-bti-mod-prot-audit.so
+$(objpfx)tst-bti-prot-audit: $(objpfx)tst-bti-mod-prot.so
+tst-bti-prot-audit-ARGS = -- $(host-test-program-cmd)
+
+tst-bti-permissive-audit-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0
+$(objpfx)tst-bti-permissive-audit.out: $(objpfx)tst-bti-mod-unprot-audit.so
+$(objpfx)tst-bti-permissive-audit: $(objpfx)tst-bti-mod.so
+tst-bti-permissive-audit-ARGS = -- $(host-test-program-cmd)
+
+define run-bti-abort-test
+ $(test-wrapper-env) $(run-program-env) \
+ $(tst-bti-abort-$*-ENV) $(host-test-program-cmd)
+endef
+
+$(objpfx)tst-bti-abort-%.out: $(..)sysdeps/unix/sysv/linux/aarch64/tst-bti-abort.sh \
+ $(objpfx)tst-bti-abort-%
+ $(SHELL) $< $(common-objpfx) $(test-name) '$(run-bti-abort-test)'; \
+ $(evaluate-test)
+
+tests-static += \
+ tst-bti-abort-static \
+ # tests-static
+
+tst-bti-abort-static-ENV = GLIBC_TUNABLES=glibc.cpu.aarch64_bti=1
+CFLAGS-tst-bti-abort-static.o += -mbranch-protection=none
+
+$(objpfx)tst-bti-ld-debug-%.out: $(..)elf/tst-dl-debug-protect.sh $(objpfx)tst-bti-ld-debug-%
+ $(SHELL) $< $(objpfx) '$(test-wrapper-env)' '$(rtld-prefix)' \
+ '$(run-program-env) GLIBC_TUNABLES=glibc.cpu.aarch64_bti=0' \
+ 'security: not compatible with AArch64 BTI: $(objpfx)' \
+ $(objpfx)tst-bti-ld-debug-$* > $@; $(evaluate-test)
+
+endif # ifeq (yes,$(have-test-bti))
+
ifeq (yes,$(have-test-gcs))
gcs-tests-dynamic = \