From nobody Mon Feb 9 16:28:40 2026 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 4f8qrT2w9Kz6RgDS for ; Mon, 09 Feb 2026 16:28:41 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8qrS6qf0z3PQk for ; Mon, 09 Feb 2026 16:28:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770654521; 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=iwC9YysTEUDmoobsJ4H3WRnGHl6LC5QJtWTNOu3GhIE=; b=D7U+on8RKHflq9qoH+OX4jEUJD5xmqEpi5jBtKpEXjHkHGHRF7TtLXPydbdy1gDWQZb0We ubuYHbFp4SW81JrswtUXz3rjnRg/HERtWOBH6WEUy/oLQ9AikbiIvllZ+QWAhjBPbYwYfm K5vewZbul0nO4T5dzIsRrV7+rwWoMjLzg70WphEl1PZ7zBOQKjWHAJIpE7akpExVj/egIB Zc3tcgxGsAp7lWNeFs534Oc4/hpC0/nrvpODNbKNHW36qaQ92SrfopoLzYfURPogctOaih OE1IFg5XLpoPShbPsEMRqqeK5T6Hpcsxdf1QhfnwT6OCSaV3cyvxdgpW5sGOKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770654521; a=rsa-sha256; cv=none; b=x2LwJ9iW+Hy8+Bq7oF8tRmP1cgizXLP5Md7qhZhNH2QH8IK642OBi34Rp9+LcQgPWYiMZ4 SQZNUGH5470IuS9ImHhq1LmcNwQhOStH1N3iI/BwW2C7nH9Y10+3OiFnVwQG4j0vDR5E42 pZjPdclPvR+ji3pQt4x0ULtC8NXVg8AZsSQBzIaHiiv8TgRsqM4i5k6Jg7C+dO+oAO2/MA SimIJhYOB4DgfTpnzqi9FMGIiMW8WETcq6h2b9Swm7EbvznLJnrBHUbMM725wSB3KCzLAi mzzdz0Nwe1cQaoCchumW/Znc4txJR7T0zfubt/TFFNbJg1PaoP0GD8Ka3Ih6BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770654521; 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=iwC9YysTEUDmoobsJ4H3WRnGHl6LC5QJtWTNOu3GhIE=; b=O0q7twSzRPBcP+crEeTA/7bqOSz5M6jnF98Lj/2B9PrJjKLdhqV/j5a7GuI23dZ63pAag7 Y8eGh5WiilsLTa7xX0deIDwYOs7+2ZXXpk1+dP9gIQ5HUPz6h+TrxWxCcIrrCKglNzycms OMZ+57UzyYqXPbc4YyqaewTHK26mNg1DZqrbXmkZCw4Qmh5TkOxnEI5A8x072ADQYlPZU4 rfxUhznMTHXysECHDMyfrfjupN7bZWA7B8p4uE25tvQ/o5w4aqPixu9UCa3fAKsBR+3z1i fWNrGjWMd+xPSH+Y/XYGEYGa4y36rE1aDToRu2yA57YFTf0ccBNIrlA+Sge2eQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8qrS6ChWzh2M for ; Mon, 09 Feb 2026 16:28:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1d996 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Feb 2026 16:28:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: db96d49bdebf - stable/15 - libc/aarch64: Split out the MOPS functions 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-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/15 X-Git-Reftype: branch X-Git-Commit: db96d49bdebf8d529fe18800ea5abbc0827e50d7 Auto-Submitted: auto-generated Date: Mon, 09 Feb 2026 16:28:40 +0000 Message-Id: <698a0b38.1d996.5c7c83b2@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=db96d49bdebf8d529fe18800ea5abbc0827e50d7 commit db96d49bdebf8d529fe18800ea5abbc0827e50d7 Author: Andrew Turner AuthorDate: 2026-02-03 14:01:07 +0000 Commit: Andrew Turner CommitDate: 2026-02-09 14:52:00 +0000 libc/aarch64: Split out the MOPS functions This allows static binaries to only include the functions they reference. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54775 (cherry picked from commit f0516ed4652cfb7435f8c5a16b46dc067779a1a8) --- lib/libc/aarch64/string/Makefile.inc | 14 ++++++++++++++ lib/libc/aarch64/string/memcpy.S | 2 -- lib/libc/aarch64/string/memset.S | 1 - 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/libc/aarch64/string/Makefile.inc b/lib/libc/aarch64/string/Makefile.inc index faf2f4566b30..20a844f80e17 100644 --- a/lib/libc/aarch64/string/Makefile.inc +++ b/lib/libc/aarch64/string/Makefile.inc @@ -14,6 +14,11 @@ AARCH64_STRING_FUNCS= \ strnlen \ strrchr +AARCH64_STRING_IFUNC_FILES= \ + memcpy-mops.S \ + memmove-mops.S \ + memset-mops.S + # SIMD-enhanced routines not derived from Arm's code MDSRCS+= \ memchr.S \ @@ -58,6 +63,15 @@ MDSRCS+= ${FUNC}.S CFLAGS.${FUNC}.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string .endfor +.for FILE in ${AARCH64_STRING_IFUNC_FILES} +${FILE}: ${LIBC_SRCTOP}/aarch64/string/Makefile.inc + printf '/* %sgenerated by libc/aarch64/string/Makefile.inc */\n' @ > ${.TARGET} + printf '#include "aarch64/%s"\n' ${FILE} >> ${.TARGET} +CLEANFILES+= ${FILE} +MDSRCS+= ${FILE} +CFLAGS.${FILE}+=-I${SRCTOP}/contrib/arm-optimized-routines/string +.endfor + # Several files are wrappers in the src tree for the implementation from # arm-optimized-routines CFLAGS.memchr.S+=-I${SRCTOP}/contrib/arm-optimized-routines/string diff --git a/lib/libc/aarch64/string/memcpy.S b/lib/libc/aarch64/string/memcpy.S index 06598d59bcf2..c4601d158d6b 100644 --- a/lib/libc/aarch64/string/memcpy.S +++ b/lib/libc/aarch64/string/memcpy.S @@ -1,3 +1 @@ #include "aarch64/memcpy-advsimd.S" -#include "aarch64/memcpy-mops.S" -#include "aarch64/memmove-mops.S" diff --git a/lib/libc/aarch64/string/memset.S b/lib/libc/aarch64/string/memset.S index dfe1c54273b9..acf707cdb7ec 100644 --- a/lib/libc/aarch64/string/memset.S +++ b/lib/libc/aarch64/string/memset.S @@ -1,2 +1 @@ #include "aarch64/memset.S" -#include "aarch64/memset-mops.S"