diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-01-22 16:57:32 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-01-25 16:15:54 +0000 |
commit | 04c6a8073d1c9d73c4a88b536aeb803b12fbffdc (patch) | |
tree | d6c6297e8d53931ddc878b3608f1e825e7232255 /sysdeps/aarch64/multiarch/init-arch.h | |
parent | ad47748992fadb6f1663f5a76eef3c24992a1815 (diff) | |
download | glibc-04c6a8073d1c9d73c4a88b536aeb803b12fbffdc.tar glibc-04c6a8073d1c9d73c4a88b536aeb803b12fbffdc.tar.gz glibc-04c6a8073d1c9d73c4a88b536aeb803b12fbffdc.tar.bz2 glibc-04c6a8073d1c9d73c4a88b536aeb803b12fbffdc.zip |
aarch64: Fix the list of tested IFUNC variants [BZ #26818]
Some IFUNC variants are not compatible with BTI and MTE so don't
set them as usable for testing and benchmarking on a BTI or MTE
enabled system.
As far as IFUNC selectors are concerned a system is BTI enabled if
the cpu supports it and glibc was built with BTI branch protection.
Most IFUNC variants are BTI compatible, but thunderx2 memcpy and
memmove use a jump table with indirect jump, without a BTI j.
Fixes bug 26818.
Diffstat (limited to 'sysdeps/aarch64/multiarch/init-arch.h')
-rw-r--r-- | sysdeps/aarch64/multiarch/init-arch.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/aarch64/multiarch/init-arch.h b/sysdeps/aarch64/multiarch/init-arch.h index fce260d168..a167699e74 100644 --- a/sysdeps/aarch64/multiarch/init-arch.h +++ b/sysdeps/aarch64/multiarch/init-arch.h @@ -30,5 +30,7 @@ GLRO(dl_aarch64_cpu_features).midr_el1; \ unsigned __attribute__((unused)) zva_size = \ GLRO(dl_aarch64_cpu_features).zva_size; \ + bool __attribute__((unused)) bti = \ + HAVE_AARCH64_BTI && GLRO(dl_aarch64_cpu_features).bti; \ bool __attribute__((unused)) mte = \ MTE_ENABLED (); |