| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are many instances, e.g. in the kernel, where
object files don't have CTF sections, but still need
to be merged into one that does have a CTF section.
This fixes cases like the following:
--------------------------------------------------------------
>>> stage 3.1: building everything
--------------------------------------------------------------
linking kernel.full
ctfmerge -t -L VERSION -g -o kernel.full ...
ERROR: ctfmerge: Input file force-dynamic-hack.pico was partially built from C sources, but no CTF data was present
Removing kernel.full
kernel.full ---
[kernel.full] Error code 1
This partially reverts commit fdd3f6f78888b02a1bfa69a0572317413dc14a45.
PR: 299013
Reported by: markj
Reviewed by: markj, emaste
Fixes: fdd3f6f78888 ("bsd.lib.mk: only ctfmerge if objfiles have a CTF section")
Differential Revision: https://reviews.freebsd.org/D60378
|
| |
|
|
|
|
|
|
|
|
| |
PR: 299013
Reported by: Trond.Endrestol@ximalas.info
Reviewed by: emaste
Fixes: 222210c6a822 ("libgcc_s: add libgcc_s_asneeded.so wrapper for gcc 16")
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D60252
|
| |
|
|
|
|
|
|
|
|
|
| |
Note there is ongoing work to add LoongArch support to the base system,
but having target support in llvm is an essential component.
This must be explicitly enabled using WITH_LLVM_TARGET_LOONGARCH.
Reviewed by: dim
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D59899
|
| |
|
|
|
|
| |
The Mips architecture has been removed from all supported branches now.
MFC after: 1 week
|
| |
|
|
|
|
|
|
| |
Prior to this change Dtrace's tests could be enabled even if
`${MK_DTRACE}` == no. Allowing this doesn't make sense so remove the
tests if `${MK_DTRACE}` is also disabled.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
This warning triggers in a few places in contributed code, and would
therefore be annoying to fix. Use -Wno-error= to at least show the
warnings so there is some incentive to submit them upstream.
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Complete the native configuration trinity: sysctl(8) for live kernel
state, sysrc(8) for rc.conf(5), and sysconf(8) for the remaining base
configuration -- loader.conf(5), sysctl.conf(5), and the make.conf(5)
family -- atop libbsdconf(3).
libbsdconf resurrects figpar as a unified reader/writer. Callbacks own
semantics; statements may span multiple lines via backslash continuation;
non-seekable input is spooled; writes are atomic (mkstemp, fsync, rename)
with mode/owner preservation. Format descriptors name each target, its
files, and quoting rules without private parsers. Multi-file targets
follow boot sourcing order; loader chases loader_conf_files as the boot
loader does.
sysconf(8) is the operator-facing tool: name / name=value on a required
target, sysrc-style list edits, make append and list-strike where they
belong, jail/altroot, and a capsicum sandbox for read-only use.
Sysctl writes validate against the running kernel first -- unknown and
read-only OIDs, CTLFLAG_TUN (pointing at the loader target), and CTLTYPE
range checks -- so a typo or overflow does not land in sysctl.conf.
Make and src treat WITH_/WITHOUT_ as presence knobs (as bsd.mkopt.mk /
src.conf(5) do) and warn on the WITH_*=no form that does not disable the
option, so a bad assignment is caught before an /usr/src build surfaces
it.
The rc target passes through to sysrc(8).
Defaults querying (-d/-D/-A) mirrors sysrc for dumps and descriptions on
targets that have a defaults file; named reads already see defaults, and
-A only widens dump scope.
Manuals are split pkg(8)-style (bsdconf/put/format; sysconf plus
per-target pages). ATF coverage exercises the frontend.
Co-authored-by: Faraz Vahedi <kfv@FreeBSD.org>
Reviewed by: fuz, kfv
Differential Revision: https://reviews.freebsd.org/D58066
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lib9p was imported to add a 9p server to bhyve (and I believe this was
the original motivation for writing it in the first place). Its
external interfaces are kind of strange (from first-hand experience
using it to implement an inetd-based 9p server) and undocumented.
Moreover, upstream has been inactive for over five years.
I suspect there are no third-party consumers. Let's make it a private
library for now, so as to make it easier to rework external interfaces.
If we get more code written against it, symbol versioning, and some
documentation, we can revisit this decision.
PR: 297499
Reviewed by: jhb, emaste
Differential Revision: https://reviews.freebsd.org/D58828
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A recent commit started to use _uid and _gid in <bsd.dirs.mk> to
mangle the user and group for newly installed directories when
MK_INSTALL_AS_USER is set. However, _gid was previously only set
when _uid was not 0, causing the group to be set to the empty
string.
Set _uid and _gid together to avoid this problem.
Fixes: 541e6e2d516b6c9d3681b24464e9ef53c1f2579a
PR: 297841
Reviewed by: emaste, imp
Reported by: Ralph Zitz <ralph@zitz.dk>
Differential Revision: https://reviews.freebsd.org/D59150
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A native route Netlink interface will replace this stack.
Requested by: glebius
This reverts commit 1ccf543b21eff6e0828142e5c1d09519247143f4.
This reverts commit 2c04cfa148ec4dd5cef7e228aaea6a05957fcb15.
This reverts commit 2d6114f6d26bf7dfa5ad94e1db9b09ee7108dc7a.
This reverts commit d15f2551b25f79ddcbe289faa95e655100b952da.
This reverts commit ceb282bbd62eed5e84df9abaede0dd183f66997a.
This reverts commit c30021fe0df9e045a17292dbe50dfc054b69871f.
This reverts commit fb1820d23a04856a6d3047b4c088cc8df8f76da1.
This reverts commit 8696cc600f44767e7988a92c8e6fb943e97d4cc7.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provide a public helper which retrieves, unpacks, and validates the
versioned VF status nvlist. Validate the required VF indices and the
shape and version of driver-specific extension namespaces while allowing
unknown optional fields.
The ioctl argument is not copied back when the command returns EFBIG.
Start with a practical buffer and grow it geometrically rather than
relying on the required length being observable.
Use the helper in ifconfig so other consumers share the same transport
and validation behavior.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logic prior to this change would incorrectly try linking when MK_CDDL != no,
instead of MK_CTF != no, which could result in the library and the tests being
broken if/when MK_CTF == no and MK_CDDL != no (an uncommon, but possible
combination with today's build knobs).
This change updates the conditional to correctly track the value of MK_CTF, which
in turn is properly toggled to no if/when MK_CDDL == no as it's a dependent build
knob.
This [niche] build bug has been present in FreeBSD since 2014.
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a workaround for the Arm Cortex-A53 erratum 843419. This has been
targeted when the build is either unoptimised for any CPU/architecture
or targets the Cortex-A53 or ARMv8.0 architecture.
PR: 296240
PR: 296395
Reported by: Hal Murray <halmurray+freebsd@sonic.net>
Reported by: Andreas Schuh <x55839@icloud.com>
Reviewed by: cognet, mmel
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D58212
|
| |
|
|
| |
Sponsored by: Netflix
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
I introduced it in commit 1b49115a40ad ("Promote llvm-cov to a
standalone option"). llvm-cov was previously enabled as part of the
CLANG_EXTRAS option. I made it a standalone, default-enabled option for
parity with the tools provided by the GCC-based toolchain.
We no longer provide an in-tree GCC toolchain. Now, just build llvm-cov
along with Clang to simplify build infrastructure.
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58155
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We have two sets of BIOS loaders: One that lives in stand/i386 and one
that lives in stand/userboot. Add knows to turn these on/off, with the
default being on. These often aren't needed when creating a minimal UEFI
system, so add knobs to turn them off. Given light-weight VMs have
created a new use cases for these loaders, there's no plans at all to
eliminate them.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D58072
|
| |
|
|
|
|
|
| |
With GNU diff and cdialog gone, this is now an empty shell.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D55425
|
| |
|
|
|
|
|
|
|
|
| |
This is the last remaining piece of GPL software in the base system.
The installer transitioned to bsddialog four years ago, and the last
remaining dialog consumer, dpv, was turned off more than two years ago.
Retire dpv, libdpv, libfigpar (used only by dpv), and dialog itself.
Reviewed by: dteske
Differential Revision: https://reviews.freebsd.org/D55424
|
| |
|
|
| |
This reverts commit 5b2bdadeb6c25c10dac9722fd66a668e14d3b384.
|
| |
|
|
| |
This reverts commit 9cc87ca23d9ccae814bea514aa4bdc791f2d6e46.
|
| |
|
|
|
|
| |
With GNU diff and cdialog gone, this is now an empty shell.
(cherry picked from commit 151dd62e005119dda24b8ff9b14aa5beaaa681ac)
|
| |
|
|
|
|
|
|
|
| |
This is the last remaining piece of GPL software in the base system.
The installer transitioned to bsddialog four years ago, and the last
remaining dialog consumer, dpv, was turned off more than two years ago.
Retire dpv, libdpv, libfigpar (used only by dpv), and dialog itself.
(cherry picked from commit 73bb4a92985d747462d866248c1e7623f7ff1a7f)
|
| |
|
|
|
|
|
|
|
| |
vgrind has been disconnected from the build for a while. Remove from
the build, and gc vgrid support in the few remaining places.
Reviewed by: jhb
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D57648
|
| |
|
|
|
|
|
|
|
| |
remove extra } from GENDIRDEPS_ENV
more debug output for gendirdeps.mk
Reviewed by: stevek
Differential Revision: https://reviews.freebsd.org/D57727
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to latest dirdeps related makefiles.
dirdeps.mk tweaks useful for universe among other corner cases.
also additional filtering for bogus paths ending in /
gendirdeps.mk allow more debugging
also additional filtering for bogus paths ending in /
install-new.mk fix bug when isPOSIX_SHELL is true
meta2deps.?? handle file names with spaces by ignoring them
Reviewed by: stevek
Differential Revision: https://reviews.freebsd.org/D57683
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For native files we can do more minimal fixes to avoid this large of a
hammer, but for third party files it may not be worth the effort to try
and patch them. NetBSD has the original _FORTIFY_SOURCE implementation
that ours is based on, for instance, but tests sourced from there can't
do an __ssp_real(foo) without being certain that `foo` actually has a
fortified definition.
This change does always define _FORTIFY_SOURCE as a result, so gate it
on CFLAGS not already containing _FORTIFY_SOURCE definitions.
This re-applies c46a0b59071614, but without re-defining _FORTIFY_SOURCE
needlessly.
PR: 294881
Reviewed by: markj, sjg (both previous version)
Differential Revision: https://reviews.freebsd.org/D57356
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1e649491b8567151270095fda3bce8faea394952 enabled KERN_TLS in
riscv/conf/GENERIC, but didn't enable OPENSSL_KTLS.
This passes all testcases in the sys/kern/ssl_sendfile suite and
fixes CI failures seen here:
https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/16606/testReport/sys.kern/ssl_sendfile/
PR: 293810
Fixes: 1e649491b8567151270095fda3bce8faea394952
MFC after: 3 days
Reviewed by: gallatin, ngie
Differential Revision: https://reviews.freebsd.org/D57316
|
| |
|
|
|
|
|
|
|
|
| |
I just tried building with system clang on one of my Linux systems which
happens to be version 19, and these warning suppressions are needed for
that version too: same errors as in the original commit.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56874
|
| |
|
|
|
|
|
|
|
|
|
|
| |
WITH_CTF enables building userland components with CTF, and not the ctf*
tools as one might expect. The tools are actually included with the
DTRACE knob. Add a comment where the dependency is handled, as this has
caused confusion.
Reported by: ivy
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56977
|
| |
|
|
|
|
|
|
|
| |
While the src build works fine with M_ListToSkip, it can break the
ports build. For now, it is safer just to do the actual variable
modifiers in place.
Reported by: se
Fixes: 01674e15dedb ("bsd.endian.mk: Optimize the handling...")
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add variables to contain lists of MACHINE_ARCH values to use
to determine little or big endian.
Only error out about not being able to determine endianess if
TARGET_ENDIANNESS is empty and not cross-compiling.
Reviewed by: sjg
Obtained from: Hewlett Packard Enterprise Development LP
Differential Revision: https://reviews.freebsd.org/D44629
|
| |
|
|
|
| |
This reverts commit c46a0b590716144d772eeba83ca88d96ee12c2f1. It broke
the build and I'm not awake yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For native files we can do more minimal fixes to avoid this large of a
hammer, but for third party files it may not be worth the effort to try
and patch them. NetBSD has the original _FORTIFY_SOURCE implementation
that ours is based on, for instance, but tests sourced from there can't
do an __ssp_real(foo) without being certain that `foo` actually has a
fortified definition.
This change does always define _FORTIFY_SOURCE as a result, so gate it
on CFLAGS not already containing _FORTIFY_SOURCE definitions.
PR: 294881
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D56733
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of driving the world package build from Makefile.inc1,
use a subdir build where each package has a subdirectory under
packages/ using the new <bsd.pkg.mk>.
Convert some metadata that was previously in the UCL files (e.g.
sets and dependencies) to Makefile variables.
Build the packages under objdir (not repodir), and use the new
stagepackages target to copy them to repodir when creating the
repository.
Determine an explicit list of packages to build in packages/Makefile
based on enabled src.conf options, and add logic to abort the build
if we attempt to build an empty package. This inverts the previous
logic in Makefile.inc1 which would simply skip empty packages.
There are a few advantages to doing it this way:
* The package build works more like the rest of the build system,
so it's more accessible to developers.
* We can customise the packages we build based on src.conf options,
e.g. skipping a package entirely, or adjusting its dependencies
based on what it actually requires.
* We have a specific list of packages that we want to build, and an
unexpectedly missing package results in a build error, instead of
silently producing a broken repository.
* It's possible to build (and in the future, install) an individual
package without having to rebuild the entire repository.
This doesn't apply to the dtb, kernel-* or src-* packages; those
have their own build systems in Makefile.inc1 and will be converted
later.
MFC after: 4 weeks (stable/15 only)
Reviewed by: jlduran, sjg, brooks
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces the following option:
* MK_PKGCONF: determines if pkgconf and bomtool should be built
The objective is to allow the creation of SBOM information while
building FreeBSD's src tree. The build system cannot rely on the
presence of bomtool (and eventually also spdxtool) in the build
environment, except for having it as part of the src tree directly.
The framework implementing the generation of SBOM files is under review
in D56474.
This will also help simplifying the build, with the introduction of
another framework relying on the availability of pkgconf.
Sponsored by: Alpha-Omega, The FreeBSD Foundation
Reviewed by: bapt, philip
Approved by: philip (mentor)
Differential Revision: https://reviews.freebsd.org/D56404
|
| |
|
|
|
|
| |
Sort the options in each of the sections alphabetically.
Sponsored by: Netflix
|
| |
|
|
|
|
|
|
| |
Add WITH{,OUT}_LOADER_USB to build the kshim usb library. Nothing
in-tree uses it, but this will make it easier to keep building. Updated
src.conf.5 with a few extra changes...
Sponsored by: Netflix
|
| |
|
|
|
|
|
|
|
|
|
| |
The draft-ietf-6man-ipv6only-flag has been obsoleted by RFC 8925.
Remove the EXPERIMENTAL compile option from the kernel and remove
DRAFT_IETF_6MAN_IPV6ONLY_FLAG from userland.
This compile option was not enabled by default.
Also regenerate src.conf.5.
Reviewed by: bz
Differential Revision: https://reviews.freebsd.org/D56228
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WITHOUT_BZIP2_SUPPORT only affects a single binary, gzip(1); it doesn't
remove bzip2 support from other bits (e.g., libarchive) and there are
no similar options for gzip, xz or zstd.
WITHOUT_BZIP2 has not done anything at all since it was first added
in 2007.
MFC after: never
Discussed on: arch@
Reviewed by: imp, des, adrian, delphij, emaste
Differential Revision: https://reviews.freebsd.org/D56148
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
| |
This fixes the build when WITHOUT_CROSS_COMPILER is set.
Reported by: fuz, vishwin
Fixes: 17494c6e6b7d ("build: Boostrap LLVM_BINUTILS for cross-tools")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56219
|
| |
|
|
|
|
|
|
|
|
|
| |
WITHOUT_BLOCKLIST, when set, should enforce WITHOUT_BLACKLIST.
This fixes the build when WITHOUT_BLOCKLIST=yes is set.
Reported by: ivy
Reviewed by: ivy
Fixes: 7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D56118
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Reviewed by: manu, bdrewery (previous version)
Differential Revision: https://reviews.freebsd.org/D55895
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0bebad8d072bb7abef1cea0d8c8d04d500913adf.
It might be that all that's needed to fix this is to add
".include <bsd.compiler.mk>" to some Makefiles. I'll look into it soon
but for now let's unbreak HEAD.
Approved by: bnovkov (mentor)
Differential Revision: https://reviews.freebsd.org/D55869
|
| |
|
|
|
|
|
|
|
|
|
| |
Commit b946bedd09d3bd1 ("Previous versions of bsd.own.mk [...]")
mentions that bsd.own.mk included bsd.compiler.mk as a temporary
workaround and was destined to be removed in FreeBSD 12. Do that now.
PR: 203540
Reviewed by: bnovkov, imp
Approved by: bnovkov (mentor)
Differential Revision: https://reviews.freebsd.org/D55867
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes recursed builds not having meta mode enabled for them which
disabled dependency and and command change tracking. We only want common
objects marked .NOMETA when recursing, not non-common objects. The
common code expects _PROGS_COMMON_SRCS does not contain the prog source
or else it will be marked .NOMETA.
Add comments explaining the intent and cases being covered.
Fixes: 4ea5e107b1 ("<bsd.progs.mk>: Allow using SRCS for common sources")
Differential Revision: https://reviews.freebsd.org/D55711
Reviewed by: vexeduxr, sjg
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GNU binutils 2.17.50 is the last GPLv2 version, and we retained support
in FreeBSD while it was part of the in-tree toolchain. The last parts
of binutils 2.17.50 were removed in commit 74e8d41e0ac8 ("Retire
BINUTILS and BINUTILS_BOOTSTRAP options") and there is no longer a need
for the build infrastructure.
We retain build-id and ifunc in LINKER_FEATURES unconditionally for now,
as they may be tested by 3rd-party Makefiles. We can however stop
testing for them in the tree.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55674
|
| |
|
|
|
|
|
| |
Reindent the features as well to be friendly to long feature names.
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D55656
|
| |
|
|
|
| |
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D55655
|