diff --git a/lib/libc/string/Makefile.inc b/lib/libc/string/Makefile.inc index 5d4a9a6e3eed..13cff22b9a32 100644 --- a/lib/libc/string/Makefile.inc +++ b/lib/libc/string/Makefile.inc @@ -1,119 +1,217 @@ .if ${MK_MACHDEP_OPTIMIZATIONS} != "no" .PATH: ${LIBC_SRCTOP}/${LIBC_ARCH}/string .endif .PATH: ${LIBC_SRCTOP}/string .PATH: ${SRCTOP}/sys/libkern CFLAGS+= -I${LIBC_SRCTOP}/locale # machine-independent string sources -MISRCS+=bcmp.c bcopy.c bzero.c explicit_bzero.c \ - ffs.c ffsl.c ffsll.c fls.c flsl.c flsll.c \ - memccpy.c memchr.c memrchr.c memcmp.c \ - memcpy.c memmem.c memmove.c mempcpy.c memset.c memset_s.c \ +MISRCS+=bcmp.c \ + bcopy.c \ + bzero.c \ + explicit_bzero.c \ + ffs.c \ + ffsl.c \ + ffsll.c \ + fls.c \ + flsl.c \ + flsll.c \ + memccpy.c \ + memchr.c \ + memrchr.c \ + memcmp.c \ + memcpy.c \ + memmem.c \ + memmove.c \ + mempcpy.c \ + memset.c \ + memset_s.c \ memset_explicit.c \ - stpcpy.c stpncpy.c strcasecmp.c \ - strcat.c strcasestr.c strchr.c strchrnul.c strcmp.c strcoll.c strcpy.c\ - strcspn.c strdup.c strerror.c strlcat.c strlcpy.c strlen.c strmode.c \ - strncat.c strncmp.c strncpy.c strndup.c strnlen.c strnstr.c \ - strpbrk.c strrchr.c strsep.c strsignal.c strspn.c strstr.c strtok.c \ - strverscmp.c strxfrm.c swab.c \ + stpcpy.c \ + stpncpy.c \ + strcasecmp.c \ + strcat.c \ + strcasestr.c \ + strchr.c \ + strchrnul.c \ + strcmp.c \ + strcoll.c \ + strcpy.c\ + strcspn.c \ + strdup.c \ + strerror.c \ + strlcat.c \ + strlcpy.c \ + strlen.c \ + strmode.c \ + strncat.c \ + strncmp.c \ + strncpy.c \ + strndup.c \ + strnlen.c \ + strnstr.c \ + strpbrk.c \ + strrchr.c \ + strsep.c \ + strsignal.c \ + strspn.c \ + strstr.c \ + strtok.c \ + strverscmp.c \ + strxfrm.c \ + swab.c \ timingsafe_bcmp.c \ timingsafe_memcmp.c \ - wcpcpy.c wcpncpy.c wcscasecmp.c wcscat.c \ - wcschr.c wcscmp.c wcscoll.c wcscpy.c wcscspn.c wcsdup.c \ - wcslcat.c wcslcpy.c wcslen.c wcsncasecmp.c wcsncat.c wcsncmp.c \ - wcsncpy.c wcsnlen.c wcspbrk.c \ - wcsrchr.c wcsspn.c wcsstr.c wcstok.c wcswidth.c wcsxfrm.c wmemchr.c \ + wcpcpy.c \ + wcpncpy.c \ + wcscasecmp.c \ + wcscat.c \ + wcschr.c \ + wcscmp.c \ + wcscoll.c \ + wcscpy.c \ + wcscspn.c \ + wcsdup.c \ + wcslcat.c \ + wcslcpy.c \ + wcslen.c \ + wcsncasecmp.c \ + wcsncat.c \ + wcsncmp.c \ + wcsncpy.c \ + wcsnlen.c \ + wcspbrk.c \ + wcsrchr.c \ + wcsspn.c \ + wcsstr.c \ + wcstok.c \ + wcswidth.c \ + wcsxfrm.c \ + wmemchr.c \ wmemcmp.c \ - wmemcpy.c wmemmove.c wmempcpy.c wmemset.c + wmemcpy.c \ + wmemmove.c \ + wmempcpy.c \ + wmemset.c SYM_MAPS+= ${LIBC_SRCTOP}/string/Symbol.map .if ${MK_ASAN} != "no" # These source files deliberately read out of bounds since they assume that # out-of-bounds memory accesses that don't cross pages are always legal. # Note: While this is fine on x86, it does break when running with CHERI. CFLAGS.strlen.c+= -fno-sanitize=address CFLAGS.strchrnul.c+= -fno-sanitize=address CFLAGS.memchr.c+= -fno-sanitize=address .endif .if ${MK_MACHDEP_OPTIMIZATIONS} != "no" # machine-dependent string sources .sinclude "${LIBC_SRCTOP}/${LIBC_ARCH}/string/Makefile.inc" .endif -MAN+= bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \ - memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 strcasecmp.3 strcat.3 \ - strchr.3 strcmp.3 strcoll.3 strcpy.3 strdup.3 strerror.3 \ - string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strsep.3 \ - strspn.3 strstr.3 strtok.3 strverscmp.3 strxfrm.3 swab.3 \ +MAN+= bcmp.3 \ + bcopy.3 \ + bstring.3 \ + bzero.3 \ + ffs.3 \ + index.3 \ + memccpy.3 \ + memchr.3 \ + memcmp.3 \ + memcpy.3 \ + memmem.3 \ + memmove.3 \ + memset.3 \ + strcasecmp.3 \ + strcat.3 \ + strchr.3 \ + strcmp.3 \ + strcoll.3 \ + strcpy.3 \ + strdup.3 \ + strerror.3 \ + string.3 \ + strlcpy.3 \ + strlen.3 \ + strmode.3 \ + strpbrk.3 \ + strsep.3 \ + strspn.3 \ + strstr.3 \ + strtok.3 \ + strverscmp.3 \ + strxfrm.3 \ + swab.3 \ timingsafe_bcmp.3 \ - wcscoll.3 wcstok.3 \ - wcswidth.3 wcsxfrm.3 wmemchr.3 + wcscoll.3 \ + wcstok.3 \ + wcswidth.3 \ + wcsxfrm.3 \ + wmemchr.3 MLINKS+=bzero.3 explicit_bzero.3 MLINKS+=ffs.3 ffsl.3 \ ffs.3 ffsll.3 \ ffs.3 fls.3 \ ffs.3 flsl.3 \ ffs.3 flsll.3 MLINKS+=index.3 rindex.3 MLINKS+=memchr.3 memrchr.3 MLINKS+=memcpy.3 mempcpy.3 MLINKS+=memset.3 memset_s.3 \ memset.3 memset_explicit.3 MLINKS+=strcasecmp.3 strncasecmp.3 \ strcasecmp.3 strcasecmp_l.3 \ strcasecmp.3 strncasecmp_l.3 MLINKS+=strcat.3 strncat.3 MLINKS+=strchr.3 strrchr.3 \ strchr.3 strchrnul.3 MLINKS+=strcmp.3 strncmp.3 MLINKS+=strcoll.3 strcoll_l.3 MLINKS+=strcpy.3 stpcpy.3 \ strcpy.3 stpncpy.3 \ strcpy.3 strncpy.3 MLINKS+=strdup.3 strndup.3 MLINKS+=strerror.3 perror.3 \ strerror.3 strerror_l.3 \ strerror.3 strerror_r.3 \ strerror.3 sys_errlist.3 \ strerror.3 sys_nerr.3 MLINKS+=strlcpy.3 strlcat.3 MLINKS+=strlen.3 strnlen.3 MLINKS+=strspn.3 strcspn.3 MLINKS+=strstr.3 strcasestr.3 \ strstr.3 strnstr.3 \ strstr.3 strcasestr_l.3 MLINKS+=strtok.3 strtok_r.3 MLINKS+=strxfrm.3 strxfrm_l.3 MLINKS+=timingsafe_bcmp.3 timingsafe_memcmp.3 MLINKS+=wmemchr.3 wcpcpy.3 \ wmemchr.3 wcpncpy.3 \ wmemchr.3 wcscasecmp.3 \ wmemchr.3 wcscat.3 \ wmemchr.3 wcschr.3 \ wmemchr.3 wcscmp.3 \ wmemchr.3 wcscpy.3 \ wmemchr.3 wcscspn.3 \ wmemchr.3 wcsdup.3 \ wmemchr.3 wcslcat.3 \ wmemchr.3 wcslcpy.3 \ wmemchr.3 wcslen.3 \ wmemchr.3 wcsncasecmp.3 \ wmemchr.3 wcsncat.3 \ wmemchr.3 wcsncmp.3 \ wmemchr.3 wcsncpy.3 \ wmemchr.3 wcsnlen.3 \ wmemchr.3 wcspbrk.3 \ wmemchr.3 wcsrchr.3 \ wmemchr.3 wcsspn.3 \ wmemchr.3 wcsstr.3 \ wmemchr.3 wmemcmp.3 \ wmemchr.3 wmemcpy.3 \ wmemchr.3 wmemmove.3 \ wmemchr.3 wmempcpy.3 \ wmemchr.3 wmemset.3