mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-27 22:12:43 +00:00
tools/build: Support building with glibc 2.38
Ubuntu 23.10 uses glibc 2.38. This adds strlcpy and strlcmp so we need to remove them from the cross build environment. Reviewed by: jrtc27 (earlier version), arichardson Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42303
This commit is contained in:
parent
f39010b139
commit
ceefd491c7
@ -196,9 +196,15 @@ SRCS+= strtonum.c merge.c heapsort.c reallocf.c
|
||||
SRCS+= rpmatch.c
|
||||
|
||||
.if ${.MAKE.OS} == "Linux"
|
||||
# On Linux, glibc does not provide strlcpy,strlcat or strmode.
|
||||
# On Linux, glibc does not provide strmode. It only provides strlcpy
|
||||
# and strlcat from glibc 2.38.
|
||||
.PATH: ${LIBC_SRCTOP}/string
|
||||
SRCS+= strlcpy.c strlcat.c strmode.c
|
||||
SRCS+= strmode.c
|
||||
# Assume if strlcpy exists so does strlcat
|
||||
_WITH_EXPLICIT_STRLCPY!= cat ${HOST_INCLUDE_ROOT}/strings.h ${HOST_INCLUDE_ROOT}/string.h | grep -c strlcpy || true
|
||||
.if ${_WITH_EXPLICIT_STRLCPY} == 0
|
||||
SRCS+= strlcpy.c strlcat.c
|
||||
.endif
|
||||
# On Linux, glibc provides ffs* but not fls*
|
||||
SRCS+= fls.c flsl.c flsll.c
|
||||
# Compile the fgetln/fgetwln/closefrom fallback code from libbsd:
|
||||
|
@ -47,8 +47,11 @@
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
#if !defined(__GLIBC__) || \
|
||||
(defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 38) || !defined(_GNU_SOURCE)))
|
||||
size_t strlcpy(char *dst, const char *src, size_t siz);
|
||||
size_t strlcat(char *dst, const char *src, size_t siz);
|
||||
#endif
|
||||
char *strnstr(const char *str, const char *find, size_t str_len);
|
||||
void strmode(mode_t mode, char *str);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user