From nobody Mon Feb 19 16:45:07 2024 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TdpLD2XXfz5C9QB; Mon, 19 Feb 2024 16:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TdpLD12MYz4bJY; Mon, 19 Feb 2024 16:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQ5QxqGRdXTBfvDtJHKePHt1fhZ8kX6MwdAil5gP6t8=; b=J4iYiUY1qDUTs5aIYX+R41AW8Mz3dtaqutMt70L0fsc+mE3/StUvVrc0RcNmLoOGiTTjnz lVFe9SnzNzjZwCQaHBrnCUnE3iGYlkRzIIYWwa6SOMvNj8Eq6haVqNB1JJAZ57qfQve+tt 6Bt4HeASDhWr4iQs5jdbTjXNN4M4uJovm62I6PnkEkHASkHaTHCkBGuT33vks16+FQPP4a ZtI1zPEFJoCM5PJg1hWJQrJvL5/TCpAtGBAS5hHohd2avRZ3MFRnOK5urrE82cbUwOUrQF OIyqRtQDSesP5uQEVIZLZFNTW2VTERYorTsB+odIfkKzNndAFaks6H9ApP+PBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQ5QxqGRdXTBfvDtJHKePHt1fhZ8kX6MwdAil5gP6t8=; b=SeNomvOByDca+n0AffeRnw731xtFmOJyKkZqMXKqxsHosdtKgrMeLviIb856NlerM3KKAY to9TzGTEoo9TZ7MpucLrtK6/2V3j2GcRP0Oi+xodjfY9e95ycVTJ+QGIQuiuoEdZY4hnnV mAFd7K4+9j4pwLCazYqtLky4Tkfq2jnC9Q/3gdoaFk5ODzvQdsREm89shtIB897riPye5A Mc54djWJUwu4S7tUx/qkVVM51BoNn0fHFLmr8aeom26O4dNXP7JMRtY6vwZPv5qrpBUFGj 2Ke9wClDbOawQkOjdzPcyKDDbJ8WA3ZumPX6RbsN7xEzq0/bx/dMjEeinyJ75A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361108; a=rsa-sha256; cv=none; b=vCMWP/q8gCllaglxO6Sy2WuN3sk1gRD3ovPWY1FOQzst1FuXv7o0ks7x4Ot7bKV4csJ2nZ ToFuSOgyj5MBvBzyTY2JqRh+0d9dR8mCkFYgs4OL4WfvXOSU1bWmJT/Ltz6K3E3oOE/Xzv ha7wvBIcln70x9hPxm1WoOeowmUhBaBPjaxTXkVe4n1emYPRJtYT713oah9AprrV8Q7a2L qNML3W0wOXWVBgj4K7JbwJkGJLujtY4ByUUEpOaCgiPvFG+nYhv4OzDtcBY249zcnlT8Qm whMBapV/x6gVt1D5qlNbJfN2CT69XQMAutQD7liLhgp/ZMTWrIGOQz9+wg2EJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TdpLD08F0zjVZ; Mon, 19 Feb 2024 16:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41JGj7rl095452; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj7ah095449; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:07 GMT Message-Id: <202402191645.41JGj7ah095449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 55e2bfab4485 - stable/14 - tools/build: Support building with glibc 2.38 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 55e2bfab448589d29cbd09bd97643a46a9735064 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=55e2bfab448589d29cbd09bd97643a46a9735064 commit 55e2bfab448589d29cbd09bd97643a46a9735064 Author: Andrew Turner AuthorDate: 2023-10-20 15:45:06 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:00 +0000 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 (cherry picked from commit ceefd491c7f0490515fadca2f3740cb24e3f449e) --- tools/build/Makefile | 10 ++++++++-- tools/build/cross-build/include/linux/string.h | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/build/Makefile b/tools/build/Makefile index 92f7d396825c..aff664f2a68b 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -194,9 +194,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: diff --git a/tools/build/cross-build/include/linux/string.h b/tools/build/cross-build/include/linux/string.h index 87347df1e9bf..8fac9e0fe083 100644 --- a/tools/build/cross-build/include/linux/string.h +++ b/tools/build/cross-build/include/linux/string.h @@ -47,8 +47,11 @@ #include __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);