glibc/sysdeps
Andrea Corallo a365ac45b7 aarch64: MTE compatible strlen
Introduce an Arm MTE compatible strlen implementation.

The existing implementation assumes that any access to the pages in
which the string resides is safe.  This assumption is not true when
MTE is enabled.  This patch updates the algorithm to ensure that
accesses remain within the bounds of an MTE tag (16-byte chunks) and
improves overall performance on modern cores. On cores with less
efficient Advanced SIMD implementation such as Cortex-A53 it can
be slower.

Benchmarked on Cortex-A72, Cortex-A53, Neoverse N1.

Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>
2020-06-09 09:21:11 +01:00
..
aarch64 aarch64: MTE compatible strlen 2020-06-09 09:21:11 +01:00
alpha Update alpha libm-test-ulps 2020-04-08 13:52:45 -03:00
arm arm: XFAIL string/tst-memmove-overflow due to bug 25620 2020-05-13 16:48:26 +02:00
csky semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
generic Update HP_TIMING_NOW for _ISOMAC in sysdeps/generic/hp-timing.h 2020-06-05 09:44:06 -07:00
gnu Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hppa dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00
htl htl: Fix registration of atfork handlers in modules 2020-06-07 23:36:42 +00:00
hurd Hurd: Move <hurd/sigpreempt.h> internals into wrapper header 2020-05-28 11:40:13 +02:00
i386 hurd: fix clearing SS_ONSTACK when longjmp-ing from sighandler 2020-06-06 20:24:30 +02:00
ia64 semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
ieee754 ieee754: provide gcc builtins based generic fma functions 2020-06-03 10:23:28 -07:00
m68k math: Remove inline math tests 2020-03-19 11:45:44 -03:00
mach hurd: document that gcc&gdb look at the trampoline code 2020-06-08 14:41:57 +02:00
microblaze semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
mips Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 2020-04-30 08:52:08 -05:00
nios2 semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
nptl nptl: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np 2020-06-02 11:59:18 +02:00
posix linux: Use internal DIR locks when accessing filepos on telldir 2020-05-27 11:55:00 -03:00
powerpc powerpc64le: add optimized strlen for P9 2020-06-05 15:30:00 -05:00
pthread pthread: Move back linking rules to nptl and htl 2020-06-08 14:34:22 +02:00
riscv semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
s390 ieee754: provide gcc builtins based generic fma functions 2020-06-03 10:23:28 -07:00
sh semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
sparc semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
unix Linux: Use __pthread_attr_setsigmask_internal for timer helper thread 2020-06-02 11:59:26 +02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
x86 x86: Update Intel Atom processor family optimization 2020-05-21 13:36:54 -07:00
x86_64 dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00