Commit graph

6156 commits

Author SHA1 Message Date
Minsoo Choo
0f937f171a tools: remove powerpcspe
As reported on the freebsd-announce mailing list[1] FreeBSD is
continuing to retire 32-bit support.  Remove powerpcspe from boot test
tools.

[1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	698d3c98d8f5814f705908d5bc6d930e3d4c4eda
2026-01-09 11:28:33 -05:00
Warner Losh
92f251f36b cam: Dtrace scripts to help diagnose weird things
These are sample dtrace scripts that likely need to be modified for
whatever problem you are chasing. Unfortuneately, you have to read the
driver extensively to understand them or how to use them. But studying
the completion routine of mpr/mps will help understand many of the error
and recovery paths.

Sponsored by:		Netflix
2026-01-08 23:11:10 -07:00
Warner Losh
cd1aa5f991 tools/cam: Start to add the testing tools for CAM
Create a directory for testing tools arond CAM. These are snippets of
what will eventually be camio. At the moment, it was written using fbt
traces. This is OK, but fragile, so they need to be re-written with the
cam provider. cam_all_but_scsi.d is the first step. It shows how to do
this with the new cam dtrace provider.

Sponsored by:		Netflix
Reviewed by:		adrian
Differential Revision:	https://reviews.freebsd.org/D54472
2026-01-07 23:20:34 -07:00
George V. Neville-Neil
e2bedc7d69 Extend the script to collect gprof data
While we're at it, switch to simple waiting from communicate() calls.
2026-01-08 04:14:52 +00:00
George V. Neville-Neil
77153a491e Split counting from sampling.
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
2026-01-06 08:55:42 +00:00
George V. Neville-Neil
e018fedef0 Correct the data collection arguments. Add proper tempdirs. 2026-01-06 08:18:22 +00:00
Mark Johnston
1c8dafe618 git-arc: Try to improve documentation
When I originally wrote git-arc, the usage string was the documentation.
Later, a man page was added, largely copied from the usage string.  Over
time they have diverged slightly.

It is silly to have two copies of the same information, so let's make
the man page the source of truth.

While here, document some options for git-arc-patch and rewrite a few
sentences here and there in a way that I hope is clearer.

Reviewed by:	ziaee, ngie, adrian
Differential Revision:	https://reviews.freebsd.org/D54405
2026-01-05 14:17:21 +00:00
Mark Johnston
684c762485 git-arc: Try to make patching more useful
Add a raw mode, which fetches the patch file and applies it manually
rather than using arc patch.  This is handy because arc patch will
always try to fetch your remotes if it can't find the base commit in
your repo (even if you ask it not to make a commit).  This is basically
unusable in some of my workspaces where I have 20+ remotes configured,
some of which may be unreachable.

Add a stack mode, which causes git-arc to recursively apply parent
revisions, going up the patch stack.  Thus, to apply a full patch stack,
just apply the final patch with -s.

Reviewed by:	ngie
Differential Revision:	https://reviews.freebsd.org/D54403
2026-01-05 14:17:11 +00:00
George V. Neville-Neil
4a1b69ade6 Start adding an exercise mode for programs under test.
In exercise mode we collect data for every available counter on a
program and keep all of that in a directory in /tmp.
2026-01-05 12:30:22 +00:00
George V. Neville-Neil
eb1c0d74cb Convert fully to Python 3. Remove licence text, only keep
SPDX.

Update to use argparse rather than OptionParser (now deprecated).
2026-01-05 11:40:12 +00:00
Dag-Erling Smørgrav
aa611fa7e8 depend-cleanup.sh: Reduce repetition
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
MFC after:	1 week
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D54329
2025-12-31 19:51:14 +01:00
Dag-Erling Smørgrav
1d52d5c537 depend-cleanup: Force a clean build when options change
Similar to the build epoch check, cache a list of source options in the
object tree, and force a clean build if the cached list does not match
the current list, after filtering out options which are known not to
affect the build (e.g. CLEAN, TESTS, WARNS).

This also adds a DEPEND_CLEANUP option (which defaults to yes unless
the CLEAN option is set) which can be used to skip depend-cleanup for
faster incremental builds.

MFC after:	1 week
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D52011
2025-12-31 19:51:13 +01:00
Dimitry Andric
8e95158393 Fix typo in tools/build/options/WITH_REPRODUCIBLE_PATHS
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
Fixes:		faeaa25f56
2025-12-29 22:34:22 +01:00
Ayrton Munoz
b6672803a1 cross-build: Avoid adding <sys/cdefs.h> to SYSINCS
Summary:
The sys/cdefs.h in src is incompatible with glibc's sys/cdefs.h so
cross-building broke when the former was added to SYSINCS in 1c9ff80f06. This
commit adds a guard around that to only do that when building on FreeBSD. This
should fix github CI.

Test Plan:
Ran buildkernel using tools/build/make.py on linux in github CI and
locally on FreeBSD to double check nothing broke.

Reviewed by:    dim
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54385
2025-12-29 03:04:45 +01:00
Konstantin Belousov
3ef25acf36 Add a script to auto-generate mapping from exterr category to source file
Reviewed by:	emaste, mkusick
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54380
2025-12-29 03:16:25 +02:00
Warner Losh
faeaa25f56 kernel: MK_REPRODUCIBLE_PATHS for full paths vs /usr/src
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
There are many environments that you do not want the paths to be
canonicalized. For example, if I always build a product from a specific
path in a jail that's dependent on the product version, I don't want
that to be sanitized to /usr/src because when I have profiling tools run
against multiple kernels, I can't do A/B testing and results processing
if everything points to /usr/src (sadly, the profiling tools cannot
remap back to the original like gdb can). Since we need both active at
the same time, symbloic link fallbacks don't work.

We do want the rest of the build to be reproducible, however. We'll get
the same binaries if we rebuild later since we always rebuild with the
same path.

Turn them both on for maximum reproduction for environments where that
cannot be guaranteed.

Sponsored by:		Netflix
Input from:		emaste, ivy
Differential Revision:	https://reviews.freebsd.org/D52959
2025-12-28 01:16:39 -07:00
Dimitry Andric
086bedb11a tools.build: also add sys/_visible.h to SYSINCS
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
This is needed since sys/cdefs.h includes sys/_visible.h.

Reported by:	kib
Fixes:		1c9ff80f06
MFC after:	3 days
2025-12-27 00:11:17 +01:00
Dimitry Andric
1c9ff80f06 tools.build: add sys/cdefs.h to SYSINCS, since lots of other headers use it
This is needed to let the legacy stage compile against newer versions of
sys/font.h, which transitively includes sys/cdefs.h, and requires the
new __nonstring macro from it.

Fixes:		e2c93ed09f
MFC after:	3 days
2025-12-26 16:26:13 +01:00
Dimitry Andric
160077a4d7 OptionalObsoleteFiles.inc: fix up WITH_LLVM_LINK_STATIC_LIBRARIES cases
In commit cf1eaaf41c I added the WITH_LLVM_LINK_STATIC_LIBRARIES
src.conf(5) build knob, which also affects OptionalObsoleteFiles.inc.

However, the checks were incorrect: when WITH_LLVM_LINK_STATIC_LIBRARIES
is active, the OLD_LIBS libprivatellvm.so.19, libprivateclang.so.19 and
libprivatelldb.so.19 should always be cleaned up.

Fixes:		cf1eaaf41c
MFC after:	1 week
2025-12-24 16:52:48 +01:00
Dimitry Andric
8d5a11cd01 src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
In commit 2e47f35be5 libllvm, libclang and liblldb were converted into
private shared libraries. This allowed clang, lld, lldb, and other llvm
tools to be linked against these shared libraries, which makes them
smaller and avoids duplication.

However, this also comes at the cost of some performance, since the
dynamic libraries are quite large, and contain lots of long symbols
(mangled C++ identifiers).

Add a WITH_LLVM_LINK_STATIC_LIBRARIES build knob that can be used to go
back to the previous behavior: libllvm, libclang and liblldb are built
as internal static libraries, i.e. only available during buildworld, and
fully linked into the various executables such as clang, lld, etc.

PR:		287447
Reviewed by:	emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D50956
2025-12-23 22:01:40 +01:00
Alex Richardson
802c6d5d61 cdefs.h: Introduce __nonstring attribute
This attribute can be used to annotate char arrays that are not supposed to
be terminated with a NUL char and is needed to silence clang's new
-Wunterminated-string-initialization warning. The name matches linuxkpi.

Reviewed by:	emaste, jhb
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D52565
2025-12-16 12:21:45 -08:00
Ed Maste
2619d439fa makeman.lua: Update for src.conf in the src tree
Copy the text change from the shell makeman to makeman.lua.

Fixes: dd8c666d8b ("src.sys.mk: Support src.conf in SRCTOP")
Sponsored by:	The FreeBSD Foundation
2025-12-16 11:08:52 -05:00
Brooks Davis
c112ad7560 options: describe WITH_IPFILTER_IPFS
Add a description for WITH_IPFILTER_IPFS.

Fixes:		0ff0c19e7f ("ipfilter: Disable ipfs(8) by default")
2025-12-15 13:50:56 +00:00
Peter Holm
9d2981f20d stress2: Fix looping at exit and fix the cleanup 2025-12-12 10:19:23 +01:00
Peter Holm
f88300a7b5 stress2: Added a regression test
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
2025-12-09 11:34:44 +01:00
John Baldwin
f63a8c0a09 bsdinstall: Mount /dev and /packages after using the shell to partition disks
Normally after partitions are created by the installer, the 'mount'
script is used to mount the target disk partitions under /mnt.  The
tail end of this script also mounts a couple of additional filesystems
under /mnt so that chrooted programs can work such as devfs and
/packages.

When the "Shell" option is used to permit the user to manually mount
the destination filesystem, the "mount" script is not used as the user
is instructed to mount the target filesystems and construct
/mnt/etc/fstab, etc.  However, this means that the user is responsible
for mounting devfs (which is not included in /etc/fstab) and /packages
as well.  The help message for the "Shell" option doesn't mention
these requirements, so users may not know to do so.  This can lead to
confusing errors as chrooted commands can fail to find needed /dev
entries.  For example, running fwget to fetch wireless firmware fails
because /dev/pci doesn't exist.

To make this less painful for users using this option, split out the
bottom half of the 'mount' script that mounts these non-fstab-related
filesystems into a separate 'mount_aux' script.  Invoke 'mount_aux'
after using "Shell" to create the filesystem to ensure that these
filesystems are always present.

PR:		290901
Reported by:	Peter <freebsd@peterk.org>
Tested by:	Peter <freebsd@peterk.org>
Differential Revision:	https://reviews.freebsd.org/D53770
2025-12-08 16:33:30 -05:00
Jose Luis Duran
2cfd9fe87b
locale: make install Unicode 17.0.0/CLDR 48
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
Unicode 17.0 adds 4803 characters, for a total of 159,801 characters.
The new additions include 4 new scripts:

- Sidetic
- Tolong Siki
- Beria Erfe
- Tai Yo

https://www.unicode.org/versions/Unicode17.0.0/
2025-12-08 18:44:21 +00:00
Cy Schubert
0ff0c19e7f ipfilter: Disable ipfs(8) by default
At the moment ipfs(8) is a tool that can be easily abused. Though the
concept is sound the implementation needs some work.

ipfs(8) should be considered experimental at the moment.

This commit also makes ipfs support in the kernel optional.

Reviewed by:		emaste, glebius
MFC after:		1 week
Differential revision:	https://reviews.freebsd.org/D53787
2025-12-08 08:15:18 -08:00
Jessica Clarke
97a24b350c prepare-commit-msg: Add missing tabs to Fixes: and Event:
Although these line up when prefixed with "# ", once the comment prefix
is deleted they no longer do. Add an extra tab to each to compensate,
just like "Obtained from:".
2025-12-08 13:26:00 +00:00
Jose Luis Duran
d20da5c973
locale: Update Unicode to CLDR 48
Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53983
2025-12-06 12:20:20 +00:00
Jose Luis Duran
13ae4904ad
locale: Update to UCD 17.0.0
Starting with Unicode 17.0.0, the zipped versions of the data files are
only published in https://www.unicode.org/Public/<version>/ucd/

https://www.unicode.org/Public/zipped/ReadMe.txt

Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53982
2025-12-06 12:20:19 +00:00
Jose Luis Duran
934364da7f
locale: tools: Make finalize idempotent
The finalize script renames source files with 3 components in their name
into names with two components with an @modifier, in the process.

Running the script for a second time without cleaning will strip the
@modifier from the files, producing invalid Makefiles and unusable
locales.

Prevent this by adding a guard at the beginning of the script.

Also, use a sub-shell for directory changes to avoid working directory
issues.

Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53981
2025-12-06 12:20:19 +00:00
Jose Luis Duran
95f37aa3e5
cldr2def.pl: Fix make install
Follow up on 86c71e97d1 ("pkgbase: locales: Also tag the files dir"),
and adapt cldr2def.pl script in order to fix make install.

Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53961
2025-12-06 12:20:18 +00:00
Jose Luis Duran
30aa5507f3
locale: make build to bump widths.txt
Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53916
2025-12-06 12:20:16 +00:00
Jose Luis Duran
faf33e0501
cldr2def.pl: Add international currency parameters
Add the missing international monetary parameters present in the lconv
struct.

See also https://unicode-org.atlassian.net/browse/CLDR-237.

Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53915
2025-12-06 12:20:16 +00:00
Jose Luis Duran
09701dc19c
cldr2def.pl: Cleanup white space
No functional change intended.

Reviewed by:	bapt
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D53914
2025-12-06 12:20:15 +00:00
Joseph Mingrone
97939604f4
git-arc: Add patch -b option
With the new patch -b option, switch to a new branch before applying
changes from Differential revisions.

While here, do some minor clean-up:
- Fix a check to determine whether `arc patch` ran successfully.
- Always ensure at least one argument is supplied to `git arc patch`.

Sponsored by:	The FreeBSD Foundation

Reviewed by:	imp, markj
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D54024
2025-12-04 15:45:05 -04:00
Minsoo Choo
37c650b4ee tools: remove WITH_LIBSOFT option
This is only used for armv6, which as been removed since FreeBSD 15.

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1903
2025-11-28 21:56:34 -07:00
Joseph Mingrone
6049f1bc21
git-arc: Fix failure to call arc() function
As of b3e53f9fff, git-arc attempted to call the internal shell
function, arc(), using env(1).  However, because env(1) does not call
shell functions, it actually attempted to run the arc utility.  This led
to errors:

    % git arc create -r xxx HEAD
    env: arc: No such file or directory
    git-arc: could not create Phabricator diff

This change removes the unnecessary use of env(1), so the arc() function
is correctly called.

Reviewed by:	markj
Fixes:		b3e53f9fff ("git-arc: Don't require devel/arcanist")
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D53972
2025-11-27 20:53:56 -04:00
Dag-Erling Smørgrav
257da67d28 git-arc: Fix existence check
Fixes:		b3e53f9fff ("git-arc: Don't require devel/arcanist")
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D53942
2025-11-27 20:49:08 +01:00
Dag-Erling Smørgrav
b3e53f9fff git-arc: Don't require devel/arcanist
Instead of invoking just “arc”, which requires devel/arcanist, which
conflicts with archivers/arc, invoke the underlying script installed by
devel/arcanist-lib.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D53942
2025-11-27 19:07:15 +01:00
Peter Holm
aa2468493e stress2: syzkaller87 fixed by ebc17879f0 2025-11-22 10:20:05 +01:00
Peter Holm
c75ce77a26 stress2: Added a regression test 2025-11-22 10:19:28 +01:00
Peter Holm
d941fde350 stress2: Update the exclude list 2025-11-21 09:50:30 +01:00
Peter Holm
c149db04ae stress2: No not rely on unset variables when using 'set -u' 2025-11-21 09:49:47 +01:00
Peter Holm
51e0c42874 stress2: Added more robust test termination 2025-11-21 09:48:02 +01:00
Warner Losh
ce1342883e efi: Move edk2 compat defines to sys/efi-edk2.h
Create efi-freebsd.h, which is safe to include from the FreeBSD context
(all of userland, except the small bits we share with edk2 and the
kernel). This defines anything that we need. At the moment, it just
includes NULL definitions.

Create efi-edk2.h, which is approximately ProcessorBind.h from edk2 that
we can include in FreeBSD compontents that are re-using edk2 components
(bits of the boot laoder, and libefi*). Update the efi_gid definitions
to match edk2 better. Add this file to badfiles.inc, since we can't
write it in a way that's compatible. This is copied from the old
efi-osdep.h.

This has to be done in one commit that's bigger than I like since we
can't easily move things piecemeal around they are so inter-related.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D53651
2025-11-16 11:29:02 -07:00
Warner Losh
474d4707e6 depend-cleanup.sh: Add commented example and remove one more entry
Although the epoch is 20250805, the push for that wasn't until 20250814,
so we can remove the 20250813 entry for tcopy, per jrtc27. Also, include
an example of changing a shell script to a binary, since that's
deceptively tricky, though the code looks simple, per emaste.

There should be no functional changes here.

Sponsored by:		Netflix
2025-11-16 10:31:34 -07:00
Warner Losh
07e6bfeae5 depend-cleanup.sh: Remove everything before the last build epoch.
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
We were deleting the .a files for llvm when it was build in bootstrap,
but this caused us to rebuild all the bootstrap things since the
bootstrap compiler changed, making the build time 25 minutes instead of
77 seconds on one of my systems. Items before the last rebuild from
scratch epoch are no longer relevant because you have to rebuild
entirely, so the incremental conditions that lead up to them being
needed are no longer true.

Sponsored by:		Netflix
Reviewed by:		jrtc27, emaste
Differential Revision:	https://reviews.freebsd.org/D53693
2025-11-15 21:10:07 -07:00
Dag-Erling Smørgrav
f3cf4c0af5 Use install instead of cp to copy bootstrap tools
We need to preserve modification times on bootstrap tools, but `cp -p`
also tries to preserve flags, which fails if OBJROOT is on NFS.  A -N
option was added to cp for this purpose, but trying to use that would
break cross-building on hosts that don't have that option.  The best
remaining option is `install -p`, which we already assume is present.

PR:		275030
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D53751
2025-11-15 04:18:35 +01:00