glibc/sysdeps
Alex Butler 92d25389c2 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 16:36:14 +00:00
..
aarch64 aarch64: MTE compatible strncmp 2024-11-04 16:36:14 +00:00
alpha Update Alpha libm-test-ulps 2018-12-28 11:24:48 +01:00
arm [BZ #20271] Add newlines in __libc_fatal calls. 2018-11-09 10:17:07 -05:00
generic posix: Fix large mmap64 offset for mips64n32 (BZ#24699) 2019-07-12 20:59:32 +00:00
gnu Don't make errlist.o[s].d depend on errlist-compat.h 2024-05-09 20:14:33 -07:00
hppa Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
htl hurd: Avoid PLTs for __pthread_get/setspecific 2018-08-09 01:30:13 +02:00
hurd Fix ISO C threads installed header and HURD assumption 2018-07-25 17:27:45 -03:00
i386 x86: Check IFUNC definition in unrelocated executable [BZ #20019] 2021-01-13 15:17:05 -08:00
ia64 i64: fix missing exp2f, log2f and powf symbols in libm.a [BZ #23822] 2018-10-26 15:49:30 +01:00
ieee754 sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O [BZ #19444] 2019-01-03 15:13:10 -02:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k m68k: Reorganize log1p and significand implementations 2018-06-22 21:34:28 -03:00
mach hurd: Fix exec usage of mach_setup_thread 2018-08-01 00:10:03 +02:00
microblaze Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
mips Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
nios2 Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
nptl nptl: Avoid fork handler lock for async-signal-safe fork [BZ #24161] 2019-02-08 12:55:21 +01:00
posix CVE-2016-10739: getaddrinfo: Fully parse IPv4 address strings [BZ #20018] 2019-02-04 21:36:37 +01:00
powerpc Fix array overflow in backtrace on PowerPC (bug 25423) 2020-03-20 15:23:11 -03:00
pthread hurd: fix sigevent's sigev_notify_attributes field type 2018-04-19 21:43:44 +02:00
riscv RISC-V: properly terminate call chain (bug 23125) 2018-12-15 21:57:43 +01:00
s390 S390: Mark vx and vxe as important hwcap. 2019-03-21 09:29:57 +01:00
sh Update SH libm-tests-ulps 2018-07-31 10:33:53 -03:00
sparc [BZ #20271] Add newlines in __libc_fatal calls. 2018-11-09 10:17:07 -05:00
unix AArch64: Use __memcpy_simd on Neoverse N2/V1 2020-10-14 17:29:12 +01:00
wordsize-32 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
wordsize-64 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
x86 x86: Fix incorrect scope of setting shared_per_thread [BZ# 30745] 2023-09-11 22:48:44 -05:00
x86_64 x86_64: Optimize ffsll function code size. 2024-02-08 10:34:19 -08:00