freebsd-src/lib
Robert Clausecker fb197a4f77 lib/libc/amd64/string: add memrchr() scalar, baseline implementation
The scalar implementation is fairly simplistic and only performs
slightly better than the generic C implementation. It could be
improved by using the same algorithm as for memchr, but it would
have been a lot more complicated.

The baseline implementation is similar to timingsafe_memcmp.  It's
slightly slower than memchr() due to the more complicated main
loop, but I don't think that can be significantly improved.

Tested by:	developers@, exp-run
Approved by:	mjg
MFC after:	1 month
MFC to:		stable/14
PR:		275785
Differential Revision:	https://reviews.freebsd.org/D42925
2023-12-25 15:00:05 +01:00
..
atf
clang Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367 2023-12-08 18:35:59 +01:00
csu lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
flua lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
geom lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
googletest
lib9p dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
lib80211 Purge more stray embedded $FreeBSD$ strings 2023-09-25 07:54:56 -07:00
libalias
libarchive
libauditd
libbe lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libbearssl libsecureboot: be more verbose about validation failures 2023-12-10 15:13:56 -05:00
libbegemot
libblacklist Track upstream project rename in contrib/blocklistd 2023-11-03 16:53:04 -04:00
libblocksruntime
libbluetooth
libbsddialog dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
libbsdstat
libbsm
libbsnmp
libbz2
libc lib/libc/amd64/string: add memrchr() scalar, baseline implementation 2023-12-25 15:00:05 +01:00
libc++ Add missing /usr/include/c++/v1/__mdspan/mdspan.h header 2023-12-20 20:16:57 +01:00
libc++experimental Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 2023-12-08 18:34:50 +01:00
libc_nonshared
libcalendar
libcam lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libcapsicum
libcasper libcasper: document that most libcasper functions are not thread-safe 2023-12-08 09:22:39 -07:00
libcbor
libclang_rt Add missing sources to libclang_rt Makefiles, clean up unneeded ones 2023-12-20 17:08:26 +01:00
libcom_err
libcompat lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libcompiler_rt
libcrypt lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libcuse
libcxxrt
libdevctl lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libdevdctl
libdevinfo lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libdevstat lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libdl
libdpv lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libdwarf
libedit lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
libefivar lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libelf
libelftc
libevent1
libexecinfo lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libexpat
libfetch lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libfido2 libfido2: update to 1.13.0 2023-09-19 13:06:12 -04:00
libfigpar lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libgcc_eh
libgcc_s dirdeps: Update/fix Makefile.depend* for toolchain 2023-11-26 20:50:13 -05:00
libgeom lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libgpio libgpio: Fix type mismatch for gpio_pin_[gs]et 2023-11-14 18:34:21 -08:00
libgssapi
libiconv_modules lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libifconfig libifconfig: Fix bridge status member list 2023-12-21 16:50:27 +01:00
libipsec lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libipt
libiscsiutil lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libjail lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libkiconv
libkvm lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libldns
liblua dirdeps: Remove $FreeBSD$ 2023-11-26 15:47:54 -05:00
liblutok
liblzma dirdeps: Update/fix Makefile.depend* for toolchain 2023-11-26 20:50:13 -05:00
libmagic Disable byteswap.h for now. 2023-09-11 23:24:08 -07:00
libmd lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libmemstat lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libmilter
libmixer dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
libmp
libmt lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libnetbsd lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libnetgraph lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libnetmap libnetmap: remove interface name validation 2023-12-21 14:43:57 +00:00
libnv lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libomp Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 2023-12-08 18:34:50 +01:00
libopenbsd lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libopencsd
libpam lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libpathconv
libpcap dirdeps: Fix libpcap Makefile.depend.options 2023-11-17 11:34:57 -05:00
libpe
libpfctl pf: export missing state information 2023-12-21 19:21:17 +01:00
libpjdlog lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libpmc jevents: fix bootstrapping on Linux with Clang 16 2023-12-11 21:14:56 -08:00
libpmcstat lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libproc lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libprocstat lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libradius lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libregex dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
librpcsec_gss
librpcsvc lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
librss lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
librt lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
librtld_db lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libsbuf lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libsdp
libsecureboot libsecureboot: be more verbose about validation failures 2023-12-10 15:13:56 -05:00
libsm
libsmb
libsmdb
libsmutil
libsqlite3
libssp lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libssp_nonshared
libstats dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
libstdbuf
libstdthreads
libsysdecode lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libtacplus lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libtelnet lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
libthr lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libthread_db lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libucl
libufs lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libugidfw
libulog lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libunbound Unbound: Manually update version strings 2023-11-13 16:46:12 -08:00
libusb
libusbhid lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libutil lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libveriexec lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libvgl lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libvmmapi lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
libwrap
libxo dirdeps: Update Makefile.depend* files with empty contents 2023-10-29 17:01:04 -04:00
liby lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
libypclnt
libz dirdeps: Update/fix Makefile.depend* for toolchain 2023-11-26 20:50:13 -05:00
libzstd
msun lib: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
ncurses lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nss_tacplus
ofed Trim various $FreeBSD$ 2023-10-10 10:34:43 -07:00
tests
Makefile lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
Makefile.inc