summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2025-11-06 11:14:53 +0100
committerFlorian Weimer <fweimer@redhat.com>2025-11-13 15:09:34 +0100
commitc74d59a656f8f98ee48b501a0d0653f4d9b3b59d (patch)
tree898cb12315049bd8689473885125694d603d291e
parent323ad087a1b275bbc88cf824b873681ec667da0f (diff)
aarch64: Do not link conform tests with -Wl,-z,force-bti (bug 33601)
If the toolchain does not default to generate BTI markers in GCC, the main program for conform runtime tests will not have the BTI marker that -Wl,-z,force-bti requires. Without -Wl,-z,force-bti, the link editor will not tell the dynamic linker to enable BTI, and the missing BTI marker is harmless. Reviewed-by: Yury Khrustalev <yury.khrustalev@arm.com> (cherry picked from commit 75b6b263e928eaca01d836f6bb8b539346b6bb2d)
-rw-r--r--NEWS1
-rw-r--r--sysdeps/aarch64/Makefile6
2 files changed, 6 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 47bf061d76..bf1887b3ec 100644
--- a/NEWS
+++ b/NEWS
@@ -108,6 +108,7 @@ The following bugs are resolved with this release:
[32483] ctype macros segfault in multithreaded programs with multiple libc.so
[33234] Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables
[33361] nss: Group merge does not react to ERANGE during merge
+ [33601] aarch64: Do not link conform tests with -Wl,-z,force-bti
Version 2.39
diff --git a/sysdeps/aarch64/Makefile b/sysdeps/aarch64/Makefile
index 141d7d9cc2..eb34f4541e 100644
--- a/sysdeps/aarch64/Makefile
+++ b/sysdeps/aarch64/Makefile
@@ -2,11 +2,15 @@ long-double-fcts = yes
ifeq (yes,$(aarch64-bti))
# Mark linker output BTI compatible, it warns on non-BTI inputs.
+# Do not do this for conform tests because they may not be compiled
+# with the appropriate compiler flags.
+ifneq ($(subdir),conform)
sysdep-LDFLAGS += -Wl,-z,force-bti
# Make warnings fatal outside the test system.
LDFLAGS-lib.so += -Wl,--fatal-warnings
LDFLAGS-rtld += -Wl,-z,force-bti,--fatal-warnings
-endif
+endif # $(subdir) != conform
+endif # $(aarch64-bit)
ifeq ($(subdir),elf)
sysdep-dl-routines += dl-bti