mirror of
https://github.com/apache/nuttx.git
synced 2026-08-21 13:38:28 +00:00
libc_data_t is 8 bytes wide, so a buffer which is 4-byte but not 8-byte aligned falls back to the byte at a time loop. Add a 32-bit middle path so such buffers still handle four bytes per iteration. * Add DETECTNULL32/DETECTCHAR32, UNALIGNED4/UNALIGNED4_X, LITTLEBLOCKSIZE4/BIGBLOCKSIZE4 and TOO_SMALL4 to libs/libc/libc.h. * Take the new path in memccpy, memcmp, memcpy, memset, stpcpy, stpncpy, strcmp, strcpy, strncmp and strncpy when both pointers are 4-byte aligned but the 8-byte path can't be used. Assisted-by: Claude:claude-opus-5 Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| Kconfig | ||
| lib_bsdmemccpy.c | ||
| lib_bsdmemchr.c | ||
| lib_bsdmemcmp.c | ||
| lib_bsdmemcpy.c | ||
| lib_bsdmemrchr.c | ||
| lib_bsdmemset.c | ||
| lib_bsdstpcpy.c | ||
| lib_bsdstpncpy.c | ||
| lib_bsdstrcat.c | ||
| lib_bsdstrchr.c | ||
| lib_bsdstrchrnul.c | ||
| lib_bsdstrcmp.c | ||
| lib_bsdstrcpy.c | ||
| lib_bsdstrlen.c | ||
| lib_bsdstrncmp.c | ||
| lib_bsdstrncpy.c | ||
| lib_bsdstrrchr.c | ||
| lib_explicit_bzero.c | ||
| lib_ffs.c | ||
| lib_ffsl.c | ||
| lib_ffsll.c | ||
| lib_fls.c | ||
| lib_flsl.c | ||
| lib_flsll.c | ||
| lib_index.c | ||
| lib_isbasedigit.c | ||
| lib_memccpy.c | ||
| lib_memchr.c | ||
| lib_memcmp.c | ||
| lib_memcpy.c | ||
| lib_memmem.c | ||
| lib_memmove.c | ||
| lib_mempcpy.c | ||
| lib_memrchr.c | ||
| lib_memset.c | ||
| lib_popcount.c | ||
| lib_popcountl.c | ||
| lib_popcountll.c | ||
| lib_rawmemchr.c | ||
| lib_rindex.c | ||
| lib_skipspace.c | ||
| lib_stpcpy.c | ||
| lib_stpncpy.c | ||
| lib_strcasecmp.c | ||
| lib_strcasestr.c | ||
| lib_strcat.c | ||
| lib_strchr.c | ||
| lib_strchrnul.c | ||
| lib_strcmp.c | ||
| lib_strcoll.c | ||
| lib_strcpy.c | ||
| lib_strcspn.c | ||
| lib_strdup.c | ||
| lib_strerror.c | ||
| lib_strerrorr.c | ||
| lib_strlcat.c | ||
| lib_strlcpy.c | ||
| lib_strlen.c | ||
| lib_strncasecmp.c | ||
| lib_strncat.c | ||
| lib_strncmp.c | ||
| lib_strncpy.c | ||
| lib_strndup.c | ||
| lib_strnlen.c | ||
| lib_strpbrk.c | ||
| lib_strrchr.c | ||
| lib_strsep.c | ||
| lib_strsignal.c | ||
| lib_strspn.c | ||
| lib_strstr.c | ||
| lib_strtok.c | ||
| lib_strtokr.c | ||
| lib_strverscmp.c | ||
| lib_strxfrm.c | ||
| lib_timingsafe_bcmp.c | ||
| lib_vikmemcpy.c | ||
| Make.defs | ||