glibc/sysdeps
Alex Butler 5daf0c9815 aarch64: MTE compatible strncmp
Add support for MTE to strncmp. Regression tested with xcheck and benchmarked
with glibc's benchtests on the Cortex-A53, Cortex-A72, and Neoverse N1.

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.

Co-authored-by: Branislav Rankov <branislav.rankov@arm.com>
Co-authored-by: Wilco Dijkstra <wilco.dijkstra@arm.com>
(cherry picked from commit 03e1378f94)
2024-11-04 17:20:31 +00:00
..
aarch64 aarch64: MTE compatible strncmp 2024-11-04 17:20:31 +00:00
alpha nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
arm nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
generic posix: Fix large mmap64 offset for mips64n32 (BZ#24699) 2019-07-12 19:02:04 +00:00
gnu utmp: Avoid -Wstringop-truncation warning 2018-10-22 14:00:13 +02:00
hppa nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
i386 Fix i386 memmove issue (bug 22644). 2018-05-17 13:58:22 +02:00
ia64 ia64: Fix memchr for large input sizes (BZ #22603) 2018-01-10 21:56:05 +01:00
ieee754 Remove conditional on LDBL_MANT_DIG from e_lgammal_r.c 2017-10-10 10:15:16 -03:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
mach Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04:00
microblaze nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
mips nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
nios2 nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
nptl Fix blocking pthread_join. [BZ #23137] 2018-05-17 14:05:51 +02:00
posix preadv2/pwritev2: Handle offset == -1 [BZ #22753] 2018-09-28 15:16:02 -03:00
powerpc Fix array overflow in backtrace on PowerPC (bug 25423) 2020-03-20 15:32:44 -03:00
pthread Single threaded stdio optimization 2017-07-04 16:05:12 +01:00
s390 nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
sh nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
sparc Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64 2017-11-14 21:07:52 +01:00
tile nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 11:03:01 -02:00
unix aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT 2020-03-25 18:00:22 +00:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 posix: Consolidate Linux glob implementation 2017-10-30 11:49:40 +01:00
x86 x86: Fix Haswell CPU string flags (BZ#23709) 2018-11-02 11:14:05 +01:00
x86_64 x86-64 memcmp: Use unsigned Jcc instructions on size [BZ #24155] 2019-02-04 10:27:37 -08:00