Just as we skip the cleanup for i386 due to still having a custom
syscall.S, we also need to do the same for lib32 on amd64, so filter it
out of ALL_libcompats here.
Fixes: a650ec0e55 ("lib{c,sys}: fix incremental builds")
Although there is no longer a syscall.S in the source tree, the
generated file is still called syscall.S, so the syscall\.S regex still
matches the .depend file. Previously it looked like:
syscall.o \
/path/to/src/lib/libc/MACHINE/sys/syscall.S \
...
or
syscall.o \
/path/to/src/lib/libsys/MACHINE/syscall.S \
...
Now it looks like:
syscall.o: syscall.S \
...
Thus, match on the file having a directory specified, to distinguish it from
the generated case where it's adjacent in the OBJDIR. Note the .* is needed due
to the use of egrep -w.
Fixes: 3a4b04e82d ("depend-cleanup.sh: Simplify handling for stale syscall.S")
A source file with the same name is still used to build an abd_os.o, it
just comes from a different directory. Thus we need to include part of
the path in the regex too. Technically zfs/abd_os\.c would suffice given
it's now in sys/contrib/openzfs/lib/libzpool/abd_os.c, but this seems
clearer and less likely to have future false-positives.
Fixes: fd3d3240b0 ("depend-cleanup.sh: Add a rule to work around abd_os.c dependency changes")
grep -q -v means "are there any lines that don't match", not "are there
no lines that match", and since the file has lines other than ones with
nvme_util.o when up-to-date this triggers on every build.
Fixes: 26a09db3ad ("Fix incremental build with WITH_NVME newly enabled")
MFC after: 1 week
The in-tree ZFS test suite is somewhat outdated and I see a number of
failures there. I tend to think that we want to integrate the OpenZFS
test suite somehow, replacing the legacy one, though it's also possible
to run that as a separate test suite.
In any case, if one wants to run the OpenZFS test suite separately, it's
useful to be able to disable installation of the legacy ZFS test suite,
so let's provide a src.conf option to do that.
Reviewed by: asomers
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46476
Since commit 246364454f ("etcupdate: Use new buildetc and installetc
targets when available"), beinstall has been much slower for the
etcupdate step, as it's been doing a kernel-toolchain (admittedly
without LLVM itself being built). Given beinstall requires an object
tree to already have been built and just installs it, we can pass -B to
beinstall to reuse that tree rather than build kernel-toolchain in
another one.
Reported by: olivier
Tested by: olivier
MFC after: 1 week
For modules we expect to be there, we need to --globals them in to avoid
linter errors. Maybe we should switch to a different model for these
to clean up our linter exceptions... 'meh'.
Reported by: David Cross <david_crossfamilyweb_com>
Make it possible to disable pxeboot. This loader will fail to build when
it's too large. When /boot/loader needs to be larger like that, this
options will disable a component whose build will fail. It is an explicit
option rather than implicit when things are too large to force the user to
make the explicit tradeoffs rather than wonder why they have a stale pxeboot
or other odd failure mode.
MFC After: 3 days
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D46212
/boot/loader is right up aginst the 500k limit we have to make sure
everything works in a wide variety of environments. However, adding
WITH_BEARSSL can push it over the edge since we are so close to the
limit with it enabled. One may also need to increase LOADERSIZE when
enabling it. It's often safe to go much higher, especially when you
don't plan on using pxeldr. Document this trade off here.
MFC After: 3 days
Sponsored by: Netflix
Reviewed by: sjg, markj
Differential Revision: https://reviews.freebsd.org/D46211
> These tests increase the build time (albeit by a small amount), so
> they should be removed once enough time has passed and it is extremely
> unlikely anyone would try a NO_CLEAN build against an object tree from
> before the related change.
The comment suggests a year is a reasonable period but we'll be somewhat
more conservative for now, in part so that we retain different examples
of special cases.
Reviewed by: brooks, imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46178
As discussed on the freebsd-arch mailing list[1]. For historical
reasons FreeBSD's buildworld and buildkernel targets started by cleaning
the object tree, for traditional (non-metamode) builds.
Cleaning is not necessary when dependencies are properly tracked, and we
have a somewhat kludgey script[2] to handle some known cases where deps
were mishandled by traditional builds. Be consistent with the vast
majority of open source build systems by default, and do not clean at
the beginning of buildworld or buildkernel.
Users may set WITH_CLEAN in src.conf(5) to restore the previous
behaviour, or run `make cleanworld` and/or `make cleankernel` before
starting a build.
[1] https://lists.freebsd.org/archives/freebsd-arch/2024-July/000727.html
[2] tools/build/depend-cleanup.sh
Reviewed by: jhb, imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46172
If the object directory prefix does not exist, make.py previously exited
with a message indicating that the chosen prefix does not exit.
Reviewed by: emaste
Pull request: https://github.com/freebsd/freebsd-src/pull/1348
As of 9e6544dd6e contigfree(9) is no longer
needed and should not be used anymore. We leave a wrapper for 3rd party
code in at least 15.x but remove (almost) all other cases from the tree.
This leaves one use of contigfree(9) untouched; that was the original
trigger for 9e6544dd6e and is handled in D45813 (to be committed
seperately later).
Sponsored by: The FreeBSD Foundation
Reviewed by: markj, kib
Tested by: pho (10h stress test run)
Differential Revision: https://reviews.freebsd.org/D46099
The logic in the makefile ensures this is only present on Linux, so no
ifdef is needed. I overlooked comments to the effect in the original
pull request somehow.
Fixes: 0e03402139
Suggested by: arichards, jrtc27
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D45374
Move the cdefs.h inclusion to the Linux specific file. Either place will
work, but it makes more sense to do it in the Linux specific file since
it's a Linux specific workaround.
Fixes: 4300e05361
Suggested by: arichards, jrtc27
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D45373
You can run the script before or after `make installworld'
You may also check your local ports with:
env STALE_SYMLINK_BUILDWORLD_DIRS=/usr/local ./stale-symlink-buildworld.sh
PR: 276235
In preparation for removing armv6 remove it from nanobsd.
Reviewed by: imp, emaste
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45635
Remove support for pre-armv6 from nanobsd. It was removed from FreeBSD
in 2020.
Reviewed by: imp, emaste
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45560
Before FreeBSD 15 I plan to switch to LLVM_BINUTILS by default. Add the
src.conf description now, for the benefit of downstream branches and
testing/CI.
PR: 258872 [exp-run]
Sponsored by: The FreeBSD Foundation
A common convention suggests a 50 column commit subject line (the first
line of the commit message). Add a 50 column marker to the commit
message template
Reviewed by: lwhsu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45538
Abort the current test but keep running additional tests if OpenSSL
reports an error during a test. This matches the behavior for other
tests such as an error from OCF.
Reviewed by: markj
Sponsored by: AFRL, DARPA
Differential Revision: https://reviews.freebsd.org/D45279