aboutsummaryrefslogtreecommitdiff
path: root/tools/build
Commit message (Collapse)AuthorAgeFilesLines
* tools/build: Fix the error message used when a host tool is not presentMark Johnston3 days1-1/+1
| | | | MFC after: 1 week
* Remove quotes around Makefile .error/.warn/.info stringsEd Maste7 days2-2/+2
| | | | | | | | The text after .error et al is emitted verbatim. Reviewed by: sjg Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33904
* check/delete-old: Auto-generate lib32 entries for libraries.John Baldwin8 days1-452/+0
| | | | | | | | | | | | | | | | | - Add usr/lib32/libfoo.so.N for lib/libfoo.so.N. - Add usr/lib32/foo for usr/lib/foo. - Treat casper libraries special since they are installed to /usr/lib32 instead of /usr/lib32/casper and thus map usr/lib/casper/foo to usr/lib32/foo. Note that OLD_DIRS and MOVED_LIBS entries are not duplicated, only OLD_FILES and OLD_LIBS. Reviewed by: imp, emaste Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33324
* Rework documentation of OLD_*.John Baldwin8 days1-2/+2
| | | | | | | | | | | | | - Be more explicit in the difference between OLD_DIRS and OLD_FILES (the former is only in delete-old-libs whereas the latter is in delete-old). - Document that debug symbols in /usr/lib/debug/ for files in OLD_FILES and OLD_LIBS are removed as well. Reviewed by: emaste Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33847
* Remove redundant OLD_FILES entries for debug symbols.John Baldwin2022-01-111-1/+0
| | | | | | | | | Entries for foo.debug files matching an existing entry in OLD_FILES or OLD_LIBS are unnecessary as they are auto-generated. Reviewed by: imp, emaste Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33777
* net/if_pfsync.h: Add back to bad filesWarner Losh2022-01-071-0/+1
| | | | | | | | This file does not build for WITHOUT_PF sometimes. Looking at various ways to cope (it exposes other issues too), but in the mean time just add it back here to unbreak WITHOUT_PF in some scenarios. Sponsored by: Netflix
* headers: make a few more headers self-containedKristof Provost2022-01-031-4/+0
| | | | Sponsored by: Rubicon Communications, LLC ("Netgate")
* kboot: Add docs for WITH/WITHOUT LOADER_KBOOTWarner Losh2021-12-302-0/+2
| | | | | | Sponsored by: Netflix Suggestion by: emaste Differential Revision: https://reviews.freebsd.org/D33512
* depend-cleanup.sh: Handle stale libc++.so ldscripts.John Baldwin2021-12-301-0/+7
| | | | | | | libc++ was moved from /usr/lib to /lib, but the libc++.so linker script is not regenerated when the value of SHLIB changes. Reported by: cy
* test-includes: update badfiles.incKristof Provost2021-12-171-15/+0
| | | | | | | Rebuild badfiles.inc after recent fixes. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D33506
* test-includes: use the same header set for badfiles.inc as for testingKristof Provost2021-12-171-2/+2
| | | | | | | | | | | This ensures we don't end up listing files we've excluded (e.g. those starting with _). Add a slight hack to preserve the existing order (sys, then net) in badfiles.inc. Reviewed by: imp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D33505
* test-includes: Build a library instead of a binaryWarner Losh2021-12-152-11/+6
| | | | | | | | | | | | | | | We need to build the .o's, but don't need to link. Build a static library instead of a binary to accmoplish this. This removes the need to have all the libc and crt stuff built, which is required for a binary. In addition, trying to build a non-standard binary runs into trouble with undefined symbols on arm related to EABI, even when using a simplified startup with -nostdlib -e start. Turn back on testing includes, now that it works. Sponsored by: Netflix Reviewed by: brooks, markj (prior version) Differential Revision: https://reviews.freebsd.org/D33452
* cross-build: Add comment missing from 9e5b0d9eac5bJessica Clarke2021-12-151-0/+16
| | | | | | | | | Whilst the commit message documented some of the details, I had intended to include this comment in the actual header, but failed to amend the commit properly. Fixes: 9e5b0d9eac5b ("cross-build: Fix bmake bootstrap with glibc 2.34") MFC after: 1 week
* cross-build: Fix bmake bootstrap with glibc 2.34Jessica Clarke2021-12-151-0/+31
| | | | | | | | | | | | | As of glibc 2.34, our unistd.h wrapper's inclusion of stdlib.h exposes fragility in glibc's sys/wait.h and corresponding part of stdlib.h, leading to "error: use of undeclared identifier 'WNOHANG'" and similar errors when bootstrapping bmake. Work around this by wrapping sys/wait.h to force stdlib.h's inclusion first before it's implicitly included during the problematic window in sys/wait.h. MFC after: 1 week
* cross-build: Add __weak_symbol definition for libdwarf bootstrapJessica Clarke2021-12-151-0/+3
| | | | | Fixes: 3aa0bc89c6a1 ("libdwarf: Add a weak uncompress() symbol") MFC after: 1 week
* test-includes: add missing fileWarner Losh2021-12-151-0/+7
| | | | | Fixes: dd55767b86bc Sponsored by: Netflix
* Test various header files to ensure they can be included by themselves.Warner Losh2021-12-152-0/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | A number of header files in sys/* have, going back to 7th Edition Unix in 1979, reqiured other files (like sys/types.h) to compile. Likewise the 4BSD networking code has had prerequisites. However, going back to around the turn of the 21st century, other systems have made them be independently include-able (wide-spread header include protection post-dates 7th edition Unix by maybe 3 or so years judging from USENET source postings). Start down the path of making them all independently include-able by creating this test that fails buildworld when they are not. The file 'badfiles.inc' contains a list of the currently broken files that cannot be included w/o any prerequisites. As files are fixed, 'make badfiles.inc' should be re-run to remove them from the list. Note: All files that start with an underscore are considered internal and not tested. Please note: once a file is removed from badfiles.inc, it must pass on all architectures. Buildworld through at least the _includes target is needed to ensure its working (though a buildkernel should also be done on all architectures as well). Sponsored by: Netflix Reviewed by: brooks, markj Differential Revision: https://reviews.freebsd.org/D32498
* depend-cleanup.sh: Make the output message more preciseMark Johnston2021-12-071-1/+1
| | | | Sponsored by: The FreeBSD Foundation
* depend-cleanup.sh: Handle commit cbdec8db18b5Mark Johnston2021-12-071-3/+8
| | | | | | | | | | | | | | | | That commit changed libc to use the MI pdfork implementation, but with an incremental build the object file for the pdfork.S stub lingers and causes a linker error. Cleaning the depend file is not enouch, so modify clean_deps() to remove object files as well, and add a call to ensure that pdfork.*o is cleaned. The new file is _pdfork.o. Reported by: jhb Reviewed by: emaste Fixes: cbdec8db18b5 ("libc: Add pdfork to the list of interposed system calls") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33322
* cross-build: Provide _PASSWORD_EFMT1 for libcrypt on LinuxJessica Clarke2021-12-071-0/+4
| | | | | | | | Linux's pwd.h does not define _PASSWORD_EFMT1 (macOS's does), so we need to define it in order to be able to bootstrap libcrypt (crypt-des.c uses it) on non-FreeBSD, which will be done in a subsequent commit. MFC after: 1 week
* cross-build: Define crypt_data in unistd.h for libcryptJessica Clarke2021-12-071-0/+5
| | | | | | | | This is where it's defined in the base system, so is where libcrypt expects it to exist when being built, and will be needed when being bootstrapped in a subsequent commit. MFC after: 1 week
* Bootstrap libz when cross-building from non-FreeBSDJessica Clarke2021-12-061-1/+1
| | | | | | | This is needed now libdwarf depends on libz. Fixes: dbf05458e3bd ("libdwarf: Support consumption of compressed ELF sections") MFC after: 1 week
* tools: Also create ${WORLDTMP}/legacy/usr/libdata/pkgonfigJessica Clarke2021-12-061-0/+1
| | | | | | | | | | This is needed for the next commit which will make libz a bootstrap library as needed by ctfconvert. We could just not install the .pc file as it's not needed, but that requires a per-library hack every time a bootstrap library gains a .pc file, so this keeps bootstrap-tools looking as much like a normal build as possible. MFC after: 1 week
* Makefile.boot: Fix copy/paste error in LIBNV's crossbuild overrideJessica Clarke2021-12-061-1/+1
| | | | | | | Only noticed due to needing to change the surrounding lines, so presumably nothing currently needs this. MFC after: 1 week
* Makefile.boot: Make -Wno-typedef-redefinition Clang-specificJessica Clarke2021-12-061-1/+1
| | | | | | | | GCC doesn't have this warning and so also doesn't have the flag to disable it, resulting in it spewing a bunch of warnings about the command line option being unrecognised. MFC after: 1 week
* Only use OLD_LIBS with shared libraries.John Baldwin2021-12-031-17/+17
| | | | | | | Use OLD_FILES for a few symbolic links and static libraries previously included in OLD_LIBS. Add a missing shared library major number to an old libroken entry.
* OptionalObsoleteFiles.inc: Add rc.d/zfskeysHerbert J. Skuhra2021-12-031-1/+2
| | | | | | | | | | | | While here, sort the etc/rc.d entries. PR: 256483 Reviewed by: allanjude Approved by: allanjude (src) MFC after: 3 days Sponsored by: Modirum MDPay Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D33238
* Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816"Cy Schubert2021-12-023-17/+200
| | | | | | | | This reverts commit 266f97b5e9a7958e365e78288616a459b40d924a, reversing changes made to a10253cffea84c0c980a36ba6776b00ed96c3e3b. A mismerge of a merge to catch up to main resulted in files being committed which should not have been.
* wpa: Import wpa_supplicant/hostapd commit 14ab4a816Cy Schubert2021-12-023-200/+17
| | | | | | This is the November update to vendor/wpa committed upstream 2021-11-26. MFC after: 1 month
* WITH_/WITHOUT_CXX: update descriptionEd Maste2021-12-022-9/+3
| | | | | | | | | Contrary to the previous description WITHOUT_CXX does not disable /usr/bin/c++, which is just a link to Clang. We also no longer have gperf. MFC after: 1 week Sponsored by: The FreeBSD Foundation
* OptionalObsoleteFiles.inc: remove MK_CXX rule for usr/bin/c++Ed Maste2021-12-021-5/+0
| | | | | | | | In fact MK_CXX does not control whether /usr/bin/c++ is built -- it is installed as a link to Clang (which is always a C/C++ compiler), and it already exists in OptionalObsoleteFiles under MK_TOOLCHAIN. Sponsored by: The FreeBSD Foundation
* Add lib32 entries for WITHOUT_PROFILE.John Baldwin2021-12-011-0/+179
| | | | Reported by: Mark Millard
* Trim a couple of duplicate entries from WITHOUT_PROFILE.John Baldwin2021-12-011-2/+0
|
* Add various profiled libraries missing from the WITHOUT_PROFILE list.John Baldwin2021-12-011-0/+17
| | | | Reported by: Mark Millard
* OptionalObsoleteFiles: move /usr/bin/CC to MK_TOOLCHAIN sectionEd Maste2021-12-011-1/+1
| | | | | | | | | | | | /usr/bin/CC is installed by usr.bin/clang/clang/Makefile, as with /usr/bin/cc, /usr/bin/cpp, etc., and is not controlled by MK_CXX. Move it to the same section as those tools. (It may be that these should all be under MK_TOOLCHAIN == no || MK_CLANG_IS_CC == no, but that seems like unnecessary complexity.) Sponsored by: The FreeBSD Foundation
* OptionalObsoleteFiles: remove GCC remnantsEd Maste2021-11-301-2/+0
| | | | | | | | | g++ and cc1plus were GCC components that are already removed unconditionally in ObsoleteFiles.inc. Reported by: jhb (in review D33108) Fixes: 57f804675e65 ("remove GCC 4.2.1 build infrastructure") Sponsored by: The FreeBSD Foundation
* OptionalObsoleteFiles: remove ping with INET & INET6 disabledEd Maste2021-11-281-0/+5
| | | | | | Reported by: kevans Fixes: a4ef9e58bc0c ("sbin: build ping if at least one of...") Sponsored by: The FreeBSD Foundation
* MK_NAND: this option was retired some time agoWarner Losh2021-11-262-4/+0
| | | | | | Remove the now-bogus WITH_NAND and WITHOUT_NAND flags. Sponsored by: Netflix
* Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246aDimitry Andric2021-11-131-145/+212
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 MFC after: 2 weeks
* Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5Dimitry Andric2021-11-131-289/+295
| | | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before the upstream release/13.x branch was created. PR: 258209 MFC after: 2 weeks
* ssh: enable FIDO/U2F keysEd Maste2021-11-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description of FIDO/U2F support (from OpenSSH 8.2 release notes, https://www.openssh.com/txt/release-8.2): This release adds support for FIDO/U2F hardware authenticators to OpenSSH. U2F/FIDO are open standards for inexpensive two-factor authentication hardware that are widely used for website authentication. In OpenSSH FIDO devices are supported by new public key types "ecdsa-sk" and "ed25519-sk", along with corresponding certificate types. ssh-keygen(1) may be used to generate a FIDO token-backed key, after which they may be used much like any other key type supported by OpenSSH, so long as the hardware token is attached when the keys are used. FIDO tokens also generally require the user explicitly authorise operations by touching or tapping them. Generating a FIDO key requires the token be attached, and will usually require the user tap the token to confirm the operation: $ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk Generating public/private ecdsa-sk key pair. You may need to touch your security key to authorize key generation. Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub This will yield a public and private key-pair. The private key file should be useless to an attacker who does not have access to the physical token. After generation, this key may be used like any other supported key in OpenSSH and may be listed in authorized_keys, added to ssh-agent(1), etc. The only additional stipulation is that the FIDO token that the key belongs to must be attached when the key is used. To enable FIDO/U2F support, this change regenerates ssh_namespace.h, adds ssh-sk-helper, and sets ENABLE_SK_INTERNAL (unless building WITHOUT_USB). devd integration is not included in this change, and is under investigation for the base system. In the interim the security/u2f-devd port can be installed to provide appropriate devd rules. Reviewed by: delphij, kevans Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32509
* Add descriptions for WITH_ASAN and WITH_UBSANEd Maste2021-11-012-0/+8
| | | | | | Reviewed by: jrtc27 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32773
* libdialog: Bump shared library version to 10.John Baldwin2021-10-271-2/+2
| | | | | | | | | | | The upgrade to libdialog 1.3 included changes to the ABI. Bump libdpv to 3 since it links against libdialog. Reported by: Mark Millard <marklmi@yahoo.com> Reviewed by: bapt Fixes: a96ef4501919 dialog: import dialog 1.3-20210117 Differential Revision: https://reviews.freebsd.org/D32675
* Retire obsolete iscsi_initiator(4)Ed Maste2021-10-261-3/+0
| | | | | | | | | | | The new iSCSI initiator iscsi(4) was introduced with FreeBSD 10.0, and the old intiator was marked obsolete shortly thereafter (in commit d32789d95cfbf, MFC'd to stable/10 in ba54910169c4). Remove it now. Reviewed by: jhb, mav Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32673
* Add libfido2 to the buildEd Maste2021-10-221-0/+3
| | | | | | | | | | | | | | | | | | | | | From https://github.com/Yubico/libfido2: libfido2 provides library functionality and command-line tools to communicate with a FIDO device over USB, and to verify attestation and assertion signatures. libfido2 supports the FIDO U2F (CTAP 1) and FIDO 2.0 (CTAP 2) protocols. libfido2 will be used by ssh to support FIDO/U2F keys. It is currently intended only for use by ssh, and so is installed as a PRIVATELIB and is placed in the ssh pkgbase package. This is currently disabled for the 32-bit library build as libfido2 is not compatible with the COMPAT_32BIT hack in usb_ioctl.h. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32448
* OptionalObsoleteFiles: add more googletest files to removeBaptiste Daroussin2021-10-201-2/+4
|
* Fix cross-building on Linux/aarch64Kyle Evans2021-10-181-0/+3
| | | | | | | | | | Add necessary bits to detect ELF format on Linux/aarch64; note that Linux calls it aarch64 where we would typically call it arm64 (uname -m) Reviewed by: arichardson, emaste, imp Sponsored by: Ampere Computing LLC Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D32542
* Add libcbor to the buildEd Maste2021-10-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | From https://github.com/PJK/libcbor: libcbor is a C library for parsing and generating CBOR, the general- purpose schema-less binary data format. libcbor will be used by ssh to support FIDO/U2F keys. It is currently intended only for use by ssh, and so is installed as a PRIVATELIB and is placed in the ssh pkgbase package. cbor_export.h and configuration.h were generated by the upstream CMake build. We could create them with bmake rules instead (as NetBSD has done) but this is a fine start. This is currently disabled for the 32-bit library build as libfido2 is not compatible with the COMPAT_32BIT hack in usb_ioctl.h, and there is no need for libcbor without libfido2. Reviewed by: kevans MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32347
* llvm-readobj: Attach to buildsystemCameron Katri2021-10-141-0/+4
| | | | | | | Also install it as readelf when MK_LLVM_BINUTILS is set. Reviewed By: dim, arichardson Differential Revision: https://reviews.freebsd.org/D32058
* cross-build: fix some redeclaration warnings during bootstrapAlex Richardson2021-10-115-13/+6
| | | | MFC after: 3 days