glibc/sysdeps/aarch64
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
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fpu aarch/fpu: use generic builtins based math functions 2020-06-03 10:23:33 -07:00
multiarch AArch64: Merge Falkor memcpy and memmove implementations 2020-06-08 14:13:05 +01:00
nptl nptl: add missing pthread-offsets.h 2020-02-10 17:01:21 +01:00
sys Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bsd-_setjmp.S
bsd-setjmp.S
configure Require autoconf 2.69 2014-09-29 07:53:36 -07:00
configure.ac
crti.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
crtn.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-link.sym
dl-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tlsdesc.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tunables.list Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
e_sqrtl.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
elf-initfini.h Introduce <elf-initfini.h> and ELF_INITFINI for all architectures 2020-02-18 15:12:25 +01:00
Implies Remove sysdeps/aarch64/soft-fp directory. 2018-05-22 17:23:34 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libm-test-ulps Update aarch64 libm-test-ulps 2020-04-08 13:52:44 -03:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile aarch64: new ifunc resolver ABI 2019-07-04 11:13:32 +01:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mcount.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy.S [AArch64] Improve integer memcpy 2020-03-11 17:15:25 +00:00
memmove.S This is an optimized memcpy/memmove for AArch64. Copies are split into 3 main 2016-06-20 17:41:33 +01:00
memrchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memset-reg.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memset.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memusage.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
preconfigure
rawmemchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sfp-machine.h Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
start.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stpcpy.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchr.S aarch64: MTE compatible strchr 2020-06-09 09:20:27 +01:00
strchrnul.S aarch64: MTE compatible strchrnul 2020-06-09 09:20:27 +01:00
strcmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcpy.S aarch64: fix strcpy and strnlen for big-endian [BZ #25824] 2020-05-15 12:15:56 +01:00
string_private.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strlen.S aarch64: MTE compatible strlen 2020-06-09 09:21:11 +01:00
strncmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strnlen.S aarch64: fix strcpy and strnlen for big-endian [BZ #25824] 2020-05-15 12:15:56 +01:00
strrchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tls-macros.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.sym aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
tst-audit.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ifunc-arg-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ifunc-arg-2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions