]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
tests: aarch64: move BTI tests to linux/aarch64 folder
authorYury Khrustalev <yury.khrustalev@arm.com>
Thu, 5 Feb 2026 14:29:13 +0000 (14:29 +0000)
committerYury Khrustalev <yury.khrustalev@arm.com>
Fri, 6 Feb 2026 12:56:49 +0000 (12:56 +0000)
No functional change. BTI tests check Linux-related functionality
and belong in the linux/aarch64 directory.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
35 files changed:
sysdeps/aarch64/Makefile
sysdeps/unix/sysv/linux/aarch64/Makefile
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort-imm.c [moved from sysdeps/aarch64/tst-bti-abort-imm.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort-static.c [moved from sysdeps/aarch64/tst-bti-abort-static.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort-transitive.c [moved from sysdeps/aarch64/tst-bti-abort-transitive.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort-unprot-preload.c [moved from sysdeps/aarch64/tst-bti-abort-unprot-preload.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort-unprot.c [moved from sysdeps/aarch64/tst-bti-abort-unprot.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-abort.sh [moved from sysdeps/aarch64/tst-bti-abort.sh with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-dep-prot-preload.c [moved from sysdeps/aarch64/tst-bti-dep-prot-preload.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-dep-prot.c [moved from sysdeps/aarch64/tst-bti-dep-prot.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-dlopen-imm.c [moved from sysdeps/aarch64/tst-bti-dlopen-imm.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-dlopen-prot.c [moved from sysdeps/aarch64/tst-bti-dlopen-prot.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-dlopen-transitive.c [moved from sysdeps/aarch64/tst-bti-dlopen-transitive.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-ld-debug-both.c [moved from sysdeps/aarch64/tst-bti-ld-debug-both.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-ld-debug-dlopen.c [moved from sysdeps/aarch64/tst-bti-ld-debug-dlopen.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-ld-debug-exe.c [moved from sysdeps/aarch64/tst-bti-ld-debug-exe.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-ld-debug-shared.c [moved from sysdeps/aarch64/tst-bti-ld-debug-shared.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-audit-skeleton.c [moved from sysdeps/aarch64/tst-bti-mod-audit-skeleton.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-prot-audit.c [moved from sysdeps/aarch64/tst-bti-mod-prot-audit.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-prot-preload.c [moved from sysdeps/aarch64/tst-bti-mod-prot-preload.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-prot.c [moved from sysdeps/aarch64/tst-bti-mod-prot.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-unprot-audit.c [moved from sysdeps/aarch64/tst-bti-mod-unprot-audit.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-unprot-preload.c [moved from sysdeps/aarch64/tst-bti-mod-unprot-preload.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod-unprot.c [moved from sysdeps/aarch64/tst-bti-mod-unprot.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-mod.c [moved from sysdeps/aarch64/tst-bti-mod.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-permissive-audit.c [moved from sysdeps/aarch64/tst-bti-permissive-audit.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-permissive-dlopen.c [moved from sysdeps/aarch64/tst-bti-permissive-dlopen.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-permissive-imm.c [moved from sysdeps/aarch64/tst-bti-permissive-imm.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-permissive-preload.c [moved from sysdeps/aarch64/tst-bti-permissive-preload.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-permissive-transitive.c [moved from sysdeps/aarch64/tst-bti-permissive-transitive.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-prot-audit.c [moved from sysdeps/aarch64/tst-bti-prot-audit.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-skeleton-audit.c [moved from sysdeps/aarch64/tst-bti-skeleton-audit.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-skeleton-dlopen.c [moved from sysdeps/aarch64/tst-bti-skeleton-dlopen.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-skeleton.c [moved from sysdeps/aarch64/tst-bti-skeleton.c with 100% similarity]
sysdeps/unix/sysv/linux/aarch64/tst-bti-unprot-audit.c [moved from sysdeps/aarch64/tst-bti-unprot-audit.c with 100% similarity]

index 0d32eddf366cc25a9491c3de27e81ef0b12b6ba8..d6c5cc96ca351ebcef354ccb1959d9c89f15e2de 100644 (file)
@@ -85,126 +85,6 @@ tests-internal += \
   # 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)
index b8eb9c07522bdd77316208e1419dc928e69027f4..2b8401f42e194f58b337ebab2d538b66f89689d2 100644 (file)
@@ -17,6 +17,125 @@ tests += \
   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 = \