summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* ctf: Import ctf.h from OpenBSDMark Johnston2022-04-181-0/+1
| | | | | | | | | | | | | | | | | | | Use it instead of the existing ctf.h from OpenSolaris. This makes it easier to use CTF in the core kernel, and to extend the CTF format to support wider type IDs. The imported ctf.h is modified to depend only on _types.h, and also to provide macros which use the "parent" bit of a type ID to refer to types in a parent CTF container. No functional change intended. Approved by: re (gjb) Reviewed by: Domagoj Stolfa, emaste Sponsored by: The FreeBSD Foundation (cherry picked from commit 2d5d2a986ce1a93b8567dbdf3f80bc2b545d6998) (cherry picked from commit 3681c4f065f1028ff84b654cfbfb238f2723b78c)
* usbtest: Fix issue when multiple devices are sharing same USB vendor and ↵Hans Petter Selasky2022-03-175-81/+92
| | | | | | | | | | | | | | product ID. When there are multiple devices sharing the same USB vendor and product ID, the wrong device may be selected. Fix this by also matching the bus and device address, ugen<X>.<Y> . Sponsored by: NVIDIA Networking Approved by: re (gjb) (cherry picked from commit 16346e1401b8b369e251bc70781349fb9b813cef) (cherry picked from commit 90afe1886f5250dc32134b5851adf6cffa4a46d4)
* Install unwind.h into /usr/includeJohn Baldwin2022-02-201-3/+0
| | | | | | | | | | | | | | Install headers from LLVM's libunwind in place of the headers from libcxxrt and allow C applications to use the library. As part of this, remove include/unwind.h and switch libthr over to using the installed unwind.h. Reviewed by: dim, emaste MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D34065 (cherry picked from commit c00d345665366a89aaba7244d6f078dc756f4c53)
* ssh: update to OpenSSH v8.8p1Ed Maste2022-02-102-2/+2
| | | | | | | | | | | | | | | | OpenSSH v8.8p1 was motivated primarily by a security update and deprecation of RSA/SHA1 signatures. It also has a few minor bug fixes. The security update was already applied to FreeBSD as an independent change, and the RSA/SHA1 deprecation is excluded from this commit but will immediately follow. MFC after: 1 month Relnotes: Yes Sponsored by: The FreeBSD Foundation (cherry picked from commit e9e8876a4d6afc1ad5315faaa191b25121a813d7) (cherry picked from commit 2ffb13149c8e46cb7d7e891b237255615906dc60)
* ssh: enable FIDO/U2F keysEd Maste2022-02-101-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 (cherry picked from commit e9a994639b2af232f994ba2ad23ca45a17718d2b)
* Add libfido2 to the buildEd Maste2022-02-091-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 (cherry picked from commit 7b1e19ad78c6a3f84f81cb1a16a39500f0337062) (cherry picked from commit 93942379cced89ad4ac653f262ac8277a8550853)
* Add libcbor to the buildEd Maste2022-02-091-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 (cherry picked from commit 2e85df652caef859c532b7e1e8a178c75f1a4a92)
* Belatedly track private lib renaming for OptionalObsoleteFiles.incEd Maste2022-02-091-48/+48
| | | | | | | | | Reviewed by: kevans Fixes: 5551c573554e ("Rework PRIVATELIB") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32384 (cherry picked from commit 032448cd2c52161aa03fd4ee5bf243d78d61b53e)
* OptionalObsoleteFiles.inc: remove MK_CXX rule for usr/bin/c++Ed Maste2022-02-091-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 (cherry picked from commit c3f345ae3c0fac0684f83cff72ae23da18468777)
* OptionalObsoleteFiles: move /usr/bin/CC to MK_TOOLCHAIN sectionEd Maste2022-02-091-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 (cherry picked from commit f7ea22e2115329b7a4f2c6620e59e644f509a4ca)
* OptionalObsoleteFiles: remove GCC remnantsEd Maste2022-02-091-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 (cherry picked from commit 1b9344add475179e4ee6b13f25def6f44799a929)
* Remove unused GNUCXX option descriptionsEd Maste2022-02-092-6/+0
| | | | | | | | | Missed from 57f804675e65 Reported by: arhchardson in D27974 Sponsored by: The FreeBSD Foundation (cherry picked from commit 69557375226a4ab26eadd47007c1230ce5ce9077)
* Drop 'Set to' from most src.conf(5) knobsEd Maste2022-02-08246-247/+247
| | | | | | | | | | | The description is clearly what effect the knob has when set, so the additional text was unnecessary. Reviewed by: jhb, se Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29583 (cherry picked from commit 9d178c925fb9acd88d2e5c5145d639b30b398c12)
* schedgraph.py: port to Python 3Andriy Gapon2022-02-081-20/+22
| | | | | | The change does not preserve compatibility with Python 2.7. (cherry picked from commit 7e8ed296e120a57211d377102fa27dd9411d0fbd)
* tools/build: Fix the error message used when a host tool is not presentMark Johnston2022-02-021-1/+1
| | | | (cherry picked from commit ddf312e8d7562baf031da95059c5e8857f180e05)
* cross-build: Add comment missing from 9e5b0d9eac5bJessica Clarke2022-01-241-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 (cherry picked from commit aee99ab4fe38bdc1dd1be88755d99ff4ee78ec09)
* cross-build: Fix bmake bootstrap with glibc 2.34Jessica Clarke2022-01-241-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 (cherry picked from commit 9e5b0d9eac5b240dc0ee280870291fd11d499046)
* cross-build: Add __weak_symbol definition for libdwarf bootstrapJessica Clarke2022-01-241-0/+3
| | | | | | | Fixes: 3aa0bc89c6a1 ("libdwarf: Add a weak uncompress() symbol") MFC after: 1 week (cherry picked from commit d752d10e53839ad0654c9c564c6ef6c6e462c96d)
* cross-build: Provide _PASSWORD_EFMT1 for libcrypt on LinuxJessica Clarke2022-01-241-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 (cherry picked from commit e0cb1fe7dd34e9786320befa623b181d29d6bdf9)
* cross-build: Define crypt_data in unistd.h for libcryptJessica Clarke2022-01-241-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 (cherry picked from commit 8ceba27a5d51e2fcc0ea547d5051bd859d15233c)
* Bootstrap libz when cross-building from non-FreeBSDJessica Clarke2022-01-241-1/+1
| | | | | | | | | This is needed now libdwarf depends on libz. Fixes: dbf05458e3bd ("libdwarf: Support consumption of compressed ELF sections") MFC after: 1 week (cherry picked from commit 8d5d329553b345c0887405db741750b0f728d902)
* tools: Also create ${WORLDTMP}/legacy/usr/libdata/pkgonfigJessica Clarke2022-01-241-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 (cherry picked from commit 7ba31d58f00197b491828c981228faf6ae99a6c2)
* Makefile.boot: Fix copy/paste error in LIBNV's crossbuild overrideJessica Clarke2022-01-241-1/+1
| | | | | | | | | Only noticed due to needing to change the surrounding lines, so presumably nothing currently needs this. MFC after: 1 week (cherry picked from commit 5022d54e061a91b8ccc6a621ceb94ba9e56209c4)
* Makefile.boot: Make -Wno-typedef-redefinition Clang-specificJessica Clarke2022-01-241-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 (cherry picked from commit 05066fad68f03f0f7cf602924dd35ee327bf2b2d)
* depend-cleanup.sh: Make the output message more preciseMark Johnston2021-12-131-1/+1
| | | | | | Sponsored by: The FreeBSD Foundation (cherry picked from commit 73db11a4d1e1940b6be65e72bb02bb0d4a701b95)
* depend-cleanup.sh: Handle commit cbdec8db18b5Mark Johnston2021-12-131-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 (cherry picked from commit 187fe192ce0ab1fc9787840ddb4f721a72de5942)
* sbin: build ping if at least one of INET & INET6 is enabledEd Maste2021-12-131-0/+5
| | | | | | | | | | | | | | | | | | | It does not build (and serves no purpose) if neither is true (i.e., building WITHOUT_INET and WITHOUT_INET6). Also add an explicit error in ping to make this case clear. PR: 260082 Sponsored by: The FreeBSD Foundation (cherry picked from commit a4ef9e58bc0c07110a54ba0fa88eb118c5377e6f) OptionalObsoleteFiles: remove ping with INET & INET6 disabled Reported by: kevans Fixes: a4ef9e58bc0c ("sbin: build ping if at least one of...") Sponsored by: The FreeBSD Foundation (cherry picked from commit 0179739a0096c62cb3c9665d68246046255ab849)
* CI: add arm64 support to ci-qemu-test.shEd Maste2021-12-121-9/+23
| | | | | | | | | Reviewed by: imp (earlier) MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30907 (cherry picked from commit bba96bb143bb803968036543b76e062445cc9834)
* WITH_/WITHOUT_CXX: update descriptionEd Maste2021-12-092-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 (cherry picked from commit 145a574fa1a9fa6732a7917778ed3185e990d1dd)
* llvm-readobj: Attach to buildsystemCameron Katri2021-12-061-0/+4
| | | | | | | | | Also install it as readelf when MK_LLVM_BINUTILS is set. Reviewed By: dim, arichardson Differential Revision: https://reviews.freebsd.org/D32058 (cherry picked from commit 1b85b68da0b2de80e0e3aefb1ade226bcf3951cb)
* Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246aDimitry Andric2021-12-061-145/+212
| | | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a. PR: 258209 (cherry picked from commit 6e75b2fbf9a03e6876e0a3c089e0b3ad71876125)
* Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5Dimitry Andric2021-12-061-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 (cherry picked from commit fe6060f10f634930ff71b7c50291ddc610da2475)
* nanobsd/rescue: Catch up to 20210907 OpenSSH importWarner Losh2021-12-062-9/+9
| | | | | | Sponsored by: Netflix (cherry picked from commit 872d50a5d8fca234823385c0a134cd0da0f4477a)
* nanobsd: remove psuedo-terminals from ttysWarner Losh2021-12-062-1026/+0
| | | | | | | | Yowsa! Another review mentioned this in passing... Only 10 years late. Sponsored by: Netflix (cherry picked from commit 137692469769bb10625fb7dd29f867f93f05b641)
* NanoBSD/rescue: Update to 20200214 OpenSSH configuration filesJose Luis Duran2021-12-062-32/+39
| | | | | | No functional change intended. (cherry picked from commit 9f6c794ee2ed91f65b570176d3eb729777817bc4)
* OptionalObsoleteFiles.inc: Add rc.d/zfskeysHerbert J. Skuhra2021-12-061-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 (cherry picked from commit a58135eb092748caf383bc82306af522ff311d9d)
* Update OptionalObsoleteFiles.inc after 021385aba562Alex Richardson2021-12-051-18/+18
| | | | | | | | | | | | | I forgot to update this file so make delete-old would incorrectly remove the newly-installed LLVM binutils. While touching the file also update for 8e1c989abbd1 since ObsoleteFiles.inc now inludes the tablegen binaries. Reported by: Herbert J. Skuhra <herbert@gojira.at> Reviewed By: emaste, imp Differential Revision: https://reviews.freebsd.org/D32022 (cherry picked from commit 88c027338f182e2af56d0dbabd4a94fbca6f091a)
* Add WITH_LLVM_BINUTILS to install LLVM binutils instead of ElftoolchainAlex Richardson2021-12-051-0/+2
| | | | | | | | | | | | | | | | | | | | | When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones. Having the LLVM binutils instead of the elftoolchain ones allows us to use features such as LTO that depend on binutils that understand LLVM IR. Another benefit will be an improved user-experience when compiling with AddressSanitizer, since ASAN does not symbolize backtraces correctly if addr2line is elftoolchain addr2line instead of llvm-symbolizer. See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html for more details. This is currently off by default but will be turned on by default at some point in the near future. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D31060 (cherry picked from commit 021385aba56279febcfdcc64d23673a0106ae45d)
* CI: use amd64 EDK II firmware included with QEMUEd Maste2021-12-031-2/+1
| | | | | | | | | | | | QEMU (now) includes a prebuilt EDK II firmare in edk2-x86_64-code.fd. Use that instead of requring a standalone uefi-edk2-qemu-x86_64 package. Reviewed by: imp MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30915 (cherry picked from commit 7d9794b34bcd465a380f05b02ccfea469dd0a48e)
* crypto: Support Chacha20-Poly1305 with a nonce size of 8 bytes.John Baldwin2021-10-211-2/+2
| | | | | | | | | | | | | | | | This is useful for WireGuard which uses a nonce of 8 bytes rather than the 12 bytes used for IPsec and TLS. Note that this also fixes a (should be) harmless bug in ossl(4) where the counter was incorrectly treated as a 64-bit counter instead of a 32-bit counter in terms of wrapping when using a 12 byte nonce. However, this required a single message (TLS record) longer than 64 * (2^32 - 1) bytes (about 256 GB) to trigger. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32122 (cherry picked from commit 42dcd39528c6188a259951e28bbad309234324e4)
* cryptocheck: Support multiple IV sizes for AES-CCM.John Baldwin2021-10-211-80/+156
| | | | | | | | | | | | By default, the "normal" IV size (12) is used, but it can be overriden via -I. If -I is not specified and -z is specified, issue requests for all possible IV sizes. Reviewed by: markj Sponsored by: Chelsio Communications, The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32110 (cherry picked from commit bcb0fd6accc095295765b08b02f5f3b07ea62536)
* cryptocheck: Expand the set of sizes tested by -z.John Baldwin2021-10-211-3/+9
| | | | | | | | | | | | Test individual sizes up to the max encryption block length as well as a few sizes that include 1 full block and a partial block before doubling the size. Reviewed by: cem, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29518 (cherry picked from commit c86de1dab8e65bc9d11501ca51f2e152276cb94e)
* cryptocheck: Free generated IV after each GMAC test.John Baldwin2021-10-211-0/+1
| | | | | | | | Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28753 (cherry picked from commit 442a293611461834778d1b7cd2ac170fb3427dcf)
* cryptocheck: Add support for the Poly1305 digest.John Baldwin2021-10-211-5/+85
| | | | | | | Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28758 (cherry picked from commit 68c03734484f679bf2f15fc81359128e331db364)
* cryptocheck: Add Chacha20-Poly1305 AEAD coverage.John Baldwin2021-10-211-19/+27
| | | | | | | | | | | | | - Make openssl_gcm_encrypt generic to AEAD ciphers (aside from CCM) and use it for Chacha20-Poly1305. - Use generic AEAD control constants instead of GCM/CCM specific names. Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27838 (cherry picked from commit 1bd9fc96d4e4a26bb0060698c07b6f13d19cd819)
* nemtap: lb app: Validate ihl field when hashing packetVincenzo Maffione2021-10-091-1/+3
| | | | | | MFC after: 1 week (cherry picked from commit f7cef43aa9a357582a703c75dafa4a44c1b2f28c)
* tools/test/upsdl: fix compiler warningsAlan Somers2021-10-071-5/+6
| | | | | | Sponsored by: Axcient (cherry picked from commit 5dc5f849be9047309d32c4df8e7ee617c27ec43f)
* test/ptrace/scescx.c: fix printing of braces for syscalls without argsKonstantin Belousov2021-09-191-2/+3
| | | | (cherry picked from commit 9a8eb5db55964c2fc7aca0db5939d8300badc9ab)
* nanobsd: adopt dhcpd to latest conventionsWarner Losh2021-09-121-3/+3
| | | | | | | | | Adopt the dhcpd build to use nanobsd-build top level directory that other nanobsd builds are using. Sponsored by: Netflix (cherry picked from commit 9ed1e98abfe470a958a55b4fc6d6391ca8e4478d)
* tools/build/cross-build: Fix building libllvmminimal on LinuxJessica Clarke2021-09-073-0/+133
| | | | | | | | | | | | There is a __used member in glibc's posix_spawn_file_actions_t in spawn.h, so we must temporarily undefine __used when including it, otherwise Support/Unix/Program.inc fails to build. This is based on similar handling for __unused in other headers. Fixes: 31ba4ce8898f ("Allow bootstrapping llvm-tblgen on macOS and Linux") MFC after: 1 week (cherry picked from commit 8a1895a3fa6f634e9f459b6b62321a61c7941bdc)