git: 4e2616b74cb7 - main - cross-build: Workaround system-provided strchrnul on macOS 15.4+
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Apr 2025 17:10:59 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4e2616b74cb7eed921aa10fb776cdc2d5fd4e42f commit 4e2616b74cb7eed921aa10fb776cdc2d5fd4e42f Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2025-04-28 17:10:41 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2025-04-28 17:10:41 +0000 cross-build: Workaround system-provided strchrnul on macOS 15.4+ macOS added a native strchrnul in 15.4. There is not an easy way to detect it at compile time, so use a macro to rename our local inline version to avoid conflicts while also forcing its use during bootstrap. The local version can be removed once macOS versions older than 15.4 are no longer supported as build hosts. Co-authored by: jrtc27 Reported by: kib Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D49893 --- tools/build/cross-build/include/mac/string.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/build/cross-build/include/mac/string.h b/tools/build/cross-build/include/mac/string.h index d7db0d3023a4..58464f1f9834 100644 --- a/tools/build/cross-build/include/mac/string.h +++ b/tools/build/cross-build/include/mac/string.h @@ -38,9 +38,12 @@ #include_next <string.h> /* - * strchrnul is not provided by macOS and the strchrnul.c implementation - * can not be compiled on macOS so just provide it inline here + * strchrnul is provided by macOS 15.4 and later. However, there is + * no good way to detect the current host version at compile time, so + * provide an inline definition under an alternate name. */ +#define strchrnul(p, ch) __freebsd_strchrnul(p, ch) + static inline char * strchrnul(const char *p, int ch) {