From nobody Fri Mar 20 22:40:55 2026 X-Original-To: dev-commits-src-all@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 4fcyGG5Kv8z6WBMw for ; Fri, 20 Mar 2026 22:41:10 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fcyGG0Z11z457c for ; Fri, 20 Mar 2026 22:41:10 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-439d8dc4ae4so2007627f8f.2 for ; Fri, 20 Mar 2026 15:41:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774046468; x=1774651268; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g5eToJTI4aPgloeFPww4kNHLik58ZqRFLm7sOBwDoAE=; b=Q76xuVCePVTJOPMScLlmTRte+IyMwr114hbUWXR8MoPMnWXdtzOf8pMCm3CcqKhd2X IkgjITSlRAG7BgvTV9IEXvzjR+8xfbacG6EA0JCQli4R5+R7WO+/CQP86Bq8RvjxQpJs qgcd45EZSSwhbX/CfTcC1fVKV03Gu2g7sFaka2hS6XuKif5tLHuYxRrXTKTPRZI5QxFr MjtFixjT30REcMBuPmXZSKa1/iITV+bPPRKBnf9r/KzS0mo9nqBEABQPLPQMliD9uooh Ep0OKM4yc/eLkS8jvsN3KzOVWR+Qr8S5mJRVKqS6KMRV4hWmggH5FSMkcq/nLmD2d0sh MOEQ== X-Forwarded-Encrypted: i=1; AJvYcCX8GAxVt/ZRHUBm3eUFsNE2y4ZJyUw3zwnOICjUeKtYD2bu7uhrmWqPjHS28QE9iHTApLCQqrbzuB9Z4q9D793KIpaK@freebsd.org X-Gm-Message-State: AOJu0Yzn2WN0afzzTAVMjp23O16En5LJqY3Z6HExbdPFAQSDVEqPnW+n 8JOeyik9/fJio/Xlwcr93XpqPiI9OOxyQU8Lv7ruexk41p5cicdQS9GZb3bcBgJ1cCA= X-Gm-Gg: ATEYQzwwoxQzqm9g863RR1aD1hIbcdoS6SU4XJSH6tepq9507NkumbpWvkxkupa0lQN KiDYmw7gfJeGTjBVKa9PAoSyTHgDmL14h3V34stOXFVDSinV87HgZcIBvjgdQW/kqaBuu5R1cey r5QRqTrkWJ8ZgBhUm4PPj4+DMNWvQ05rLhq6Xv5lJttzsCtK/oUe88wqYZ3YlEQ2fsOIx4lBhAw YPdtQ/7kE/sko3OEv9lU0en/mvSgraKKxi7HDNv/J/zoDEXYssTT76nQ76fas/Gk6KpxP40og+T Dndqu+R5xhYl4DqhUGBaBBXXP0cDve4b4UpoFDq9IeH2HoDlXajs6f9VELYYUzKFUq2OuSXmIOn ztpv6cHya1Q46Q0Akaz8X0dFpb+uDq2MbrEVBhrL1M+iTFqaHKMhjUowVWnSPaJ/B7qYhsyF3en ubTJcwXcsMbSCc4H4Kee6AN6iRTiPH/kAG4UjM43YkSzzn8NXsJTF7JMuARLl+BmzX X-Received: by 2002:a05:6000:26c3:b0:43b:4d25:95ac with SMTP id ffacd0b85a97d-43b64232825mr7977488f8f.1.1774046467978; Fri, 20 Mar 2026 15:41:07 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64711f58sm10463002f8f.29.2026.03.20.15.41.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Mar 2026 15:41:07 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: git: 17494c6e6b7d - main - build: Boostrap LLVM_BINUTILS for cross-tools From: Jessica Clarke In-Reply-To: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> Date: Fri, 20 Mar 2026 22:40:55 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <0B51178B-5EFB-44A7-96DA-BAA2F8F92AC6@freebsd.org> References: <69bd4e24.3bb70.7228f0e9@gitrepo.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.3864.400.21) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4fcyGG0Z11z457c X-Spamd-Bar: ---- On 20 Mar 2026, at 13:39, Ed Maste wrote: >=20 > The branch main has been updated by emaste: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D17494c6e6b7d5e2be34d2469566a59bb= d9dceb8a >=20 > commit 17494c6e6b7d5e2be34d2469566a59bbd9dceb8a > Author: Ed Maste > AuthorDate: 2026-03-18 15:09:53 +0000 > Commit: Ed Maste > CommitDate: 2026-03-20 13:38:40 +0000 >=20 > build: Boostrap LLVM_BINUTILS for cross-tools Ed, Is there a way we can skip the bootstrap like for Clang/LLD if the system has an up-to-date toolchain? Jessica > Reported by: vexeduxr, jrtc27 > Reviewed by: imp > Sponsored by: The FreeBSD Foundation > Pull request: https://github.com/freebsd/freebsd-src/pull/2084 > Differential Revision: https://reviews.freebsd.org/D55923 > --- > Makefile.inc1 | 19 = +++++++++++++++++-- > share/man/man5/src.conf.5 | 13 +++++++++++++ > share/mk/src.opts.mk | 1 + > tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP | 12 ++++++++++++ > 4 files changed, 43 insertions(+), 2 deletions(-) >=20 > diff --git a/Makefile.inc1 b/Makefile.inc1 > index c4696abae8cd..16cd9b695109 100644 > --- a/Makefile.inc1 > +++ b/Makefile.inc1 > @@ -239,6 +239,12 @@ X${BINUTIL}?=3D ${${BINUTIL}} > MK_LLD_BOOTSTRAP=3D no > .endif >=20 > +# If full paths to all standard bintuils are given, don't build LLVM = binutils. > +.if ${XAR:M/*} && ${XNM:M/*} && ${XOBJCOPY:M/*} && ${XRANLIB:M/*} && = \ > + ${XSIZE:M/*} && ${XSTRINGS:M/*} && ${XSTRIPBIN:M/*} > +MK_LLVM_BINUTILS_BOOTSTRAP=3D no > +.endif > + > # We also want the X_LINKER* variables if we are using an external = toolchain. > _WANT_TOOLCHAIN_CROSS_VARS=3D t > .include "share/mk/bsd.linker.mk" > @@ -2701,7 +2707,8 @@ _gensnmptree=3D usr.sbin/bsnmpd/gensnmptree > # llvm-tblgen is also needed for various llvm binutils (e.g. objcopy). > .if ${MK_CLANG_BOOTSTRAP} !=3D "no" || ${MK_CLANG} !=3D "no" || \ > ${MK_LLD_BOOTSTRAP} !=3D "no" || ${MK_LLD} !=3D "no" || \ > - ${MK_LLDB} !=3D "no" || ${MK_LLVM_BINUTILS} !=3D "no" > + ${MK_LLDB} !=3D "no" || \ > + ${MK_LLVM_BINUTILS_BOOTSTRAP} !=3D "no" || ${MK_LLVM_BINUTILS} !=3D= "no" > _clang_tblgen=3D \ > lib/clang/libllvmminimal \ > usr.bin/clang/llvm-min-tblgen \ > @@ -3061,9 +3068,16 @@ _clang=3D usr.bin/clang/clang > .if ${MK_LLD_BOOTSTRAP} !=3D "no" > _lld=3D usr.bin/clang/lld > .endif > -.if ${MK_CLANG_BOOTSTRAP} !=3D "no" || ${MK_LLD_BOOTSTRAP} !=3D "no" > +.if ${MK_CLANG_BOOTSTRAP} !=3D "no" || ${MK_LLD_BOOTSTRAP} !=3D "no" = || \ > + ${MK_LLVM_BINUTILS_BOOTSTRAP} !=3D "no" > _clang_libs=3D lib/clang > .endif > +.if ${MK_LLVM_BINUTILS_BOOTSTRAP}} !=3D "no" > +_llvm_binutils=3D usr.bin/clang/llvm-ar \ > + usr.bin/clang/llvm-nm \ > + usr.bin/clang/llvm-objcopy \ > + usr.bin/clang/llvm-size > +.endif > .if ${MK_USB} !=3D "no" > _usb_tools=3D stand/usb/tools > .endif > @@ -3079,6 +3093,7 @@ cross-tools: .MAKE .PHONY > ${_clang_libs} \ > ${_clang} \ > ${_lld} \ > + ${_llvm_binutils} \ > ${_elftctools} \ > ${_dtrace_tools} \ > ${_btxld} \ > diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 > index c6b470b54919..ad503a132a2c 100644 > --- a/share/man/man5/src.conf.5 > +++ b/share/man/man5/src.conf.5 > @@ -989,6 +989,19 @@ and > .Xr objdump 1 . > .Xr strings 1 > is always provided by ELF Tool Chain. > +.It Va WITHOUT_LLVM_BINUTILS_BOOTSTRAP > +Do not build LLVM binary utilities during the bootstrap phase of > +the build. > +To be able to build the system alternate binary utilities must be = provided via > +.Ev XAR , > +.Ev XNM , > +.Ev XOBJCOPY , > +.Ev XRANLIB , > +.Ev XSIZE , > +.Ev XSTRINGS , > +and > +.Ev XSTRIPBIN . > + > .It Va WITHOUT_LLVM_COV > Do not build the > .Xr llvm-cov 1 > diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk > index 5a5bdd16298e..1cadc8450de3 100644 > --- a/share/mk/src.opts.mk > +++ b/share/mk/src.opts.mk > @@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS =3D \ > LLD_BOOTSTRAP \ > LLVM_ASSERTIONS \ > LLVM_BINUTILS \ > + LLVM_BINUTILS_BOOTSTRAP \ > LLVM_COV \ > LOADER_BIOS_TEXTONLY \ > LOADER_GELI \ > diff --git a/tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP = b/tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP > new file mode 100644 > index 000000000000..141679d4f6a9 > --- /dev/null > +++ b/tools/build/options/WITHOUT_LLVM_BINUTILS_BOOTSTRAP > @@ -0,0 +1,12 @@ > +Do not build LLVM binary utilities during the bootstrap phase of > +the build. > +To be able to build the system alternate binary utilities must be = provided via > +.Ev XAR , > +.Ev XNM , > +.Ev XOBJCOPY , > +.Ev XRANLIB , > +.Ev XSIZE , > +.Ev XSTRINGS , > +and > +.Ev XSTRIPBIN . > + >=20