glibc/sysdeps
Noah Goldstein 44829b3ddb String: Add support for __memcmpeq() ABI on all targets
No bug.

This commit adds support for __memcmpeq() as a new ABI for all
targets. In this commit __memcmpeq() is implemented only as an alias
to the corresponding targets memcmp() implementation. __memcmpeq() is
added as a new symbol starting with GLIBC_2.35 and defined in string.h
with comments explaining its behavior. Basic tests that it is callable
and works where added in string/tester.c

As discussed in the proposal "Add new ABI '__memcmpeq()' to libc"
__memcmpeq() is essentially a reserved namespace for bcmp(). The means
is shares the same specifications as memcmp() except the return value
for non-equal byte sequences is any non-zero value. This is less
strict than memcmp()'s return value specification and can be better
optimized when a boolean return is all that is needed.

__memcmpeq() is meant to only be called by compilers if they can prove
that the return value of a memcmp() call is only used for its boolean
value.

All tests in string/tester.c passed. As well build succeeds on
x86_64-linux-gnu target.
2021-10-26 16:51:29 -05:00
..
aarch64 String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
alpha elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
arc elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
arm elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
csky String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
generic elf: Fix e6fd79f379 build with --enable-tunables=no 2021-10-21 17:26:32 -03:00
gnu Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
hppa elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
htl htl: Reimplement GSCOPE 2021-09-16 01:04:17 +02:00
hurd Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
i386 String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
ia64 String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
ieee754 Fixed inaccuracy of j0f (BZ #28185) 2021-10-05 13:45:37 +02:00
m68k elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
mach String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
microblaze elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
mips ld.so: Initialize bootstrap_map.l_ld_readonly [BZ #28340] 2021-10-19 06:40:38 -07:00
nios2 elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
nptl nptl: Use FUTEX_LOCK_PI2 when available 2021-10-01 08:09:13 -03:00
posix posix: Remove spawni.c 2021-09-27 12:44:25 -03:00
powerpc String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
pthread elf: Avoid deadlock between pthread_create and ctors [BZ #28357] 2021-10-04 15:07:05 +01:00
riscv ld.so: Initialize bootstrap_map.l_ld_readonly [BZ #28340] 2021-10-19 06:40:38 -07:00
s390 String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
sh elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
sparc String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
unix String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
wordsize-32 Disable symbol hack in libc_nonshared.a 2021-09-27 07:46:25 -07:00
wordsize-64 Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
x86 elf: Remove Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) 2021-10-11 11:14:02 -07:00
x86_64 String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00