aboutsummaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* flua: Add a libjail moduleRyan Moeller2020-10-245-0/+627
| | | | | | | | | | | | | | | libjail is pretty small, so it makes for a good proof of concept demonstrating how a system library can be wrapped to create a loadable Lua module for flua. * Introduce 3lua section for man pages * Add libjail module Reviewed by: kevans, manpages Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26080 Notes: svn path=/head/; revision=367013
* warnx: fix needless staticWarner Losh2020-10-241-2/+2
| | | | | | | | | I noticed after the review that these shouldn't be static. Remove the 'static' from them, otherwise concurrent calls to warn* might see a similar but to the original. Notes: svn path=/head/; revision=366983
* warnx: Save errno across calls that might change it.Warner Losh2020-10-231-0/+8
| | | | | | | | | | | | | | | When warn() family of functions is being used after err_set_file() has been set to, for example, /dev/null, errno is being clobbered, rendering it unreliable after, for example, procstat_getpathname() when it is supposed to emit a warning. Then the errno is changed to Inappropriate ioctl for device, destroying the original value (via calls to fprintf()functions). Submitted by: Juraj Lutter Differential Revision: https://reviews.freebsd.org/D26871 Notes: svn path=/head/; revision=366982
* Only use ASAN when using the in-tree compilerBrooks Davis2020-10-231-1/+3
| | | | | | | | | | | | | | When building FreeBSD 11 on a FreeBSD 12 system with CROSS_TOOLCHAIN=llvm10 we end up trying to link against the packaged version of the sanitizer library. This resulted in a requirement for getentropy(3) which is not present in FreeBSD 11. Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26903 Notes: svn path=/head/; revision=366981
* libelf: add compression header supportEd Maste2020-10-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | GNU and Oracle libelf implementations added support for section compression, intended to reduce the size of DWARF debug info (which might be an order of magnitude larger than the code). There are two compressed ELF section formats: 1. Old GNU - sections are renmaed to start with 'z'. Section contains a magic number, uncompressed size, and compressed data. 2. Oracle and New GNU - compressed sections use the SHF_COMPRESSED flag. The compression header contains the compression type, uncompressed size, and uncompressed alignment. The second style is preferred and this change implements only that one. Submitted by: Tiger Gao <tig@FreeBSDFoundation.org> Reviewed by: markj MFC after: 2 weeks Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24566 Notes: svn path=/head/; revision=366977
* mmap(2): Document guard size for MAP_STACK and related EINVAL.Konstantin Belousov2020-10-211-1/+8
| | | | | | | | | | | Based on submission by: emaste Reviewed by: emaste, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26894 Notes: svn path=/head/; revision=366918
* Move list_cloners to libifconfigRyan Moeller2020-10-212-0/+42
| | | | | | | | | | | Move list_cloners() from ifconfig(8) to libifconfig(3) where it can be reused by other consumers. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D26858 Notes: svn path=/head/; revision=366906
* Further refinements of ptsname_r(3) interface:Xin LI2020-10-202-6/+8
| | | | | | | | | | | | | | | | | - Hide ptsname_r under __BSD_VISIBLE for now as the specification is not finalized at this time. - Keep Symbol.map sorted. - Avoid the interposing of ptsname_r(3) from an user application from breaking ptsname(3) by making the implementation a static method and call the static function from ptsname(3) instead. Reported by: kib Reviewed by: kib, jilles MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26845 Notes: svn path=/head/; revision=366866
* Enable SUBDIR_PARALLEL for lib/googletestAlex Richardson2020-10-191-2/+6
| | | | | | | | | | | This saves a few seconds in a parallel build since we can build the gtest_main and gmock subdirectories in parallel. Reviewed By: ngie Differential Revision: https://reviews.freebsd.org/D26760 Notes: svn path=/head/; revision=366851
* Major improvement to build parallelism for googletest internal testsAlex Richardson2020-10-1910-12/+12
| | | | | | | | | | | | | | | | | Currently the googletest internal tests build after the matching library. However, each of these is serialized at the top level makefile. Additionally some of the tests (e.g. the gmock-matches-test) take up to 90 seconds to build with clang -O2. Having to wait for this test to complete before continuing to the next directory seriously slows down the parllelism of a -j32 build. Before this change running `make -C lib/googletest -j32 -s` in buildenv took 202 seconds, now it's 153 due to improved parallelism. Reviewed By: emaste (no objection) Differential Revision: https://reviews.freebsd.org/D26748 Notes: svn path=/head/; revision=366850
* libbe(3): install MLINKS for all of the functions providedKyle Evans2020-10-181-0/+35
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=366821
* libbe(3): document be_snapshot()Kyle Evans2020-10-181-0/+27
| | | | | | | | | | | While toying around with lua bindings for libbe(3), I discovered that I apparently never documented this, despite having documented be_is_auto_snapshot_name that references it. MFC after: 1 week Notes: svn path=/head/; revision=366820
* libbe(3): const'ify a couple argumentsKyle Evans2020-10-184-11/+11
| | | | | | | | | | libbe will never need to mutate these as we either process them into a local buffer or we just don't touch them and write to a separate out argument. MFC after: 1 week Notes: svn path=/head/; revision=366819
* Implement ptsname_r.Xin LI2020-10-174-16/+66
| | | | | | | | | | MFC after: 2 weeks PR: 250062 Reviewed by: jilles, 0mp, Ray <i maskray me> Differential Revision: https://reviews.freebsd.org/D26647 Notes: svn path=/head/; revision=366781
* libc: typo fix (s/involes/involves)Kyle Evans2020-10-161-1/+1
| | | | | | | | Reported by: Masahiko Sawada via twitter MFC after: 3 days Notes: svn path=/head/; revision=366770
* Fix formatting of SYNOPSISMateusz Piotrowski2020-10-151-3/+2
| | | | | | | | | There was an unnecessary newline being added before Nm. MFC after: 3 days Notes: svn path=/head/; revision=366725
* [libcasper] Update cap_dns API to not trigger unused variable warnings when ↵Adrian Chadd2020-10-131-10/+64
| | | | | | | | | | | | | | | | | | | | disabled When compiling without casper these API calls result in unused variable warnings. Using #defines was lovely in the past but unfortunately it triggers warnings which can cascade into errors. Instead, just inline with some fallthrough functions and keep things happy. Tested: * gcc-6 targeting mips32, with casper disabled Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D26762 Notes: svn path=/head/; revision=366688
* libgssapi: modernize static string array useBrooks Davis2020-10-131-35/+34
| | | | | | | | | | | | | | | | | Use designated initializers to document positions in the arrays rather than requiring counting. Use nitems() rather than rolling it by hand to count elements. Also, passify a Clang 12 warning about suspcious string concatenation within an array initializer by adding parentheses. Reviewed by: emaste MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26592 Notes: svn path=/head/; revision=366671
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-10-122-5/+5
|\ | | | | | | | | | | | | | | | | | | release/11.x llvmorg-11.0.0-0-g176249bd673 (aka 11.0.0 release). MFC after: 4 weeks X-MFC-With: r364284 Notes: svn path=/head/; revision=366655
* | Enable SUBDIR_PARELLEL in lib/libclang_rtAlex Richardson2020-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | I noticed that this part of the build was taking much longer than expected. Turns out it's due to not running the subdirs in parallel. Reduces `make all` inside lib/libclang_rt time from 63s to 20s with -j32. Reviewed By: dim Differential Revision: https://reviews.freebsd.org/D26623 Notes: svn path=/head/; revision=366636
* | Fix building on Linux/macOS after r366622Alex Richardson2020-10-122-1/+13
| | | | | | | | | | | | | | | | | | | | | | We have to bootstrap arc4random.c, so guard the FenestrasX code to avoid using it on Linux/macOS. Reviewed By: cem Differential Revision: https://reviews.freebsd.org/D26738 Notes: svn path=/head/; revision=366632
* | random(4) FenestrasX: Push root seed version to arc4random(3)Conrad Meyer2020-10-103-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Push the root seed version to userspace through the VDSO page, if the RANDOM_FENESTRASX algorithm is enabled. Otherwise, there is no functional change. The mechanism can be disabled with debug.fxrng_vdso_enable=0. arc4random(3) obtains a pointer to the root seed version published by the kernel in the shared page at allocation time. Like arc4random(9), it maintains its own per-process copy of the seed version corresponding to the root seed version at the time it last rekeyed. On read requests, the process seed version is compared with the version published in the shared page; if they do not match, arc4random(3) reseeds from the kernel before providing generated output. This change does not implement the FenestrasX concept of PCPU userspace generators seeded from a per-process base generator. That change is left for future discussion/work. Reviewed by: kib (previous version) Approved by: csprng (me -- only touching FXRNG here) Differential Revision: https://reviews.freebsd.org/D22839 Notes: svn path=/head/; revision=366622
* | Fix a few mandoc issuesGordon Bergling2020-10-0923-78/+87
| | | | | | | | | | | | | | | | | | | | - skipping paragraph macro: Pp after Sh - sections out of conventional order: Sh EXAMPLES - whitespace at end of input line - normalizing date format Notes: svn path=/head/; revision=366583
* | 80211: non-functional changesBjoern A. Zeeb2020-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Sort a few VHT160 and 80+80 lines, update some comments, and remove a superfluous ','. No functional changes intended. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=366522
* | libkvm: catch up with pre-subtracated per-cpu addressesMateusz Guzik2020-10-061-0/+29
| | | | | | | | | | | | | | | | | | Only concerns amd64. Reported by: imp Notes: svn path=/head/; revision=366468
* | Add virtio-9p (aka VirtFS) filesystem sharing to bhyve.Jakub Wojciech Klama2020-10-032-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VirtFS allows sharing an arbitrary directory tree between bhyve virtual machine and the host. Current implementation has a fairly complete support for 9P2000.L protocol, except for the extended attribute support. It has been verified to work with the qemu-kvm hypervisor. Reviewed by: rgrimes, emaste, jhb, trasz Approved by: trasz (mentor) MFC after: 1 month Relnotes: yes Sponsored by: Conclusive Engineering (development), vStack.com (funding) Differential Revision: https://reviews.freebsd.org/D10335 Notes: svn path=/head/; revision=366413
* | newlocale(3): Fix a memory leak.Mark Johnston2020-10-022-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | newlocale() optionally takes a "base" locale, from which components not specified in the mask are inherited. POSIX says that newlocale() may modify "base" and return it, or free "base" and return a newly allocated locale. We were not doing either, so applications which use newlocale() to modify an existing base locale end up leaking memory on FreeBSD. This diff fixes the leak by releasing a reference to the base locale before returning. This is less efficient than modifying "base" directly, but is simpler for an initial bug fix. Also, update the man page to clarify behaviour with respect to "base". PR: 249416 MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26522 Notes: svn path=/head/; revision=366375
* | libmd: add dependency workaround for r366344Ed Maste2020-10-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r366344 fixed and reenabled the assembly optimized skein implementation, but skein_block objects were not being rebuilt in no-clean builds. This resulted in failing no-clean builds. SKEIN_USE_ASM controls which routines come from C vs assembly, and with no explicit dependency r366344's change to SKEIN_USE_ASM did not cause skein_block.{o,pico} to be rebuilt. Add a dependency on this Makefile for the skein_block objects. This dependency is broader in scope than absolutely required (that is, the skein_block objects will now be rebuilt on any change to this Makefile). There are ways this could be addressed, but it is probably not worth the additional effort or testing time to pursue them. PR: 248221 Reported by: kevans, Jeremy Faulkner Discussed with: kevans Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=366362
* | libmd: fix assembly optimized skein implementationEd Maste2020-10-011-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The assembly implementation incorrectly used logical AND instead of bitwise AND. Fix, and re-enable in libmd. Submitted by: Yang Zhong <yzhong@freebsdfoundation.org> Reviewed by: cem (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26614 Notes: svn path=/head/; revision=366344
* | auxv: partially revert r366207, cast buflen to unsigned int as neededKyle Evans2020-10-011-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning generated pre-r366207 is actually a sign comparison warning: error: comparison of integers of different signs: 'unsigned long' and 'int' if (strlcpy(buf, execpath, buflen) >= buflen) Revert parts that affected other lines and just cast this to unsigned int. The buflen < 0 -> EINVAL has been kept despite no longer serving any purposes w.r.t. sign-extension because I do believe it's the right thing to do: "The provided buffer was not the right size for the requested item." The original warning is confirmed to still be gone with an: env WARNS=6 make WITHOUT_TESTS=yes. Reviewed by: asomers, kib X-MFC-With: r366207 Differential Revision: https://reviews.freebsd.org/D26631 Notes: svn path=/head/; revision=366342
* | Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-10-012-5/+5
|\| | | | | | | | | | | | | | | | | | | release/11.x llvmorg-11.0.0-rc5-0-g60a25202a7d. MFC after: 4 weeks X-MFC-With: r364284 Notes: svn path=/head/; revision=366339
* | Eliminate duplicate `afterinstallconfigs` targetEnji Cooper2020-10-012-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define separate dependent targets which `afterinstallconfigs` relies on, in order to modify `${DESTDIR}/etc/master.passwd` and `${DESTDIR}/etc/nsswitch.conf`. Mark these targets .PHONY, since they manipulate configurations on the fly and the generation logic isn't 100% defined in terms of the source files/logic, and is variable, based on MK_foo flags. MFC after: 2 weeks Reviewed by: bapt, brd Differential Revision: https://reviews.freebsd.org/D20330 Notes: svn path=/head/; revision=366327
* | Do a sweep and remove most WARNS=6 settingsKyle Evans2020-10-019-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repeating the default WARNS here makes it slightly more difficult to experiment with default WARNS changes, e.g. if we did something absolutely bananas and introduced a WARNS=7 and wanted to try lifting the default to that. Drop most of them; there is one in the blake2 kernel module, but I suspect it should be dropped -- the default WARNS in the rest of the build doesn't currently apply to kernel modules, and I haven't put too much thought into whether it makes sense to make it so. Notes: svn path=/head/; revision=366304
* | Updates to chroot(2) docsWarner Losh2020-09-291-2/+9
| | | | | | | | | | | | | | | | 1. Note what settings give historic behavior 2. Recommend jail under security considerations. Notes: svn path=/head/; revision=366266
* | Misc compiler warning fixes in lib/libcAlan Somers2020-09-277-17/+36
| | | | | | | | | | | | | | | | | | Reviewed by: kevans, imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26534 Notes: svn path=/head/; revision=366207
* | lib/libc/tests/iconv: raise WARNS to 6Alan Somers2020-09-242-2/+1
| | | | | | | | | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=366132
* | lib/libc/tests/sys: raise WARNS to 6Alan Somers2020-09-241-6/+0
| | | | | | | | | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=366131
* | [PowerPC64LE] Pass our byte order to the sqlite3 build.Brandon Bergren2020-09-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the sqlite3 endian detection code preferring to check platform defines instead of checking endian defines, it is necessary to manually set the endianness on PowerPC64LE. Unlike other bi-endian platforms, PowerPC64LE relies entirely on the generic endianness macros like __BYTE_ORDER__ and has no platform-specific define to denote little endian. Add -DSQLITE_BYTEORDER=1234 to the CFLAGS when building libsqlite3 on powerpc64le. Fixes runtime operation of sqlite on PowerPC64LE. Sponsored by: Tag1 Consulting, Inc. Notes: svn path=/head/; revision=366056
* | [PowerPC64LE] libkvm powerpc64le support.Brandon Bergren2020-09-232-19/+61
| | | | | | | | | | | | | | | | | | | | * Add missing _kvm16toh() function. * Teach libkvm about powerpc64le. Sponsored by: Tag1 Consulting, Inc. Notes: svn path=/head/; revision=366055
* | [PowerPC64LE] Fix gdtoa configurations on LE.Brandon Bergren2020-09-232-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gdtoa wins the award for "most outdated endianness naming convention" with its IEEE_8087 vs IEEE_MC68k defines. I had a good chuckle. Update softfloat and arith.h to adjust to BE or LE automatically based on the low level preprocessor defines. Fixes printf/scanf on PowerPC64LE, although there is still a problem lurking regarding Signalling NaNs... Sponsored by: Tag1 Consulting, Inc. Notes: svn path=/head/; revision=366054
* | [PowerPC64LE] Use a shared LIBC_ARCH for powerpc64le.Brandon Bergren2020-09-233-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given that we have converted to ELFv2 for BE already, endianness is the only difference between the two ARCHs. As such, there is no need to differentiate LIBC_ARCH between the two. Combining them like this lets us avoid needing to have two copies of several bits for no good reason. Sponsored by: Tag1 Consulting, Inc. Notes: svn path=/head/; revision=366039
* | Document {O,AT}_RESOLVE_BENEATH and new O_BENEATH behavior for relative paths.Konstantin Belousov2020-09-2211-15/+113
| | | | | | | | | | | | | | | | | | | | | | | | PR: 248335 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D25886 Notes: svn path=/head/; revision=366023
* | libnetmap: fix cast from uint64_t to void*Vincenzo Maffione2020-09-222-3/+3
| | | | | | | | | | | | | | | | | | | | | | We use uintptr_t as an intermediate cast to avoid compiler warnings on 32 bit architectures. Reported by: adrian MFC after: 3 days Notes: svn path=/head/; revision=366011
* | Sparsify the vm_page_dump bitmapD Scott Phillips2020-09-219-50/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Ampere Altra systems, the sparse population of RAM within the physical address space causes the vm_page_dump bitmap to be much larger than necessary, increasing the size from ~8 Mib to > 2 Gib (and overflowing `int` for the size). Changing the page dump bitmap also changes the minidump file format, so changes are also necessary in libkvm. Reviewed by: jhb Approved by: scottl (implicit) MFC after: 1 week Sponsored by: Ampere Computing, Inc. Differential Revision: https://reviews.freebsd.org/D26131 Notes: svn path=/head/; revision=365978
* | loader: zfs should support bootonce an nextbootToomas Soome2020-09-216-59/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bootonce feature is temporary, one time boot, activated by "bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag. By default, the bootonce setting is reset on attempt to boot and the next boot will use previously active BE. By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will be set permanently active. bootonce dataset name is recorded in boot pool labels, bootenv area. in case of nextboot, the nextboot_enable boolean variable is recorded in freebsd:nvstore nvlist, also stored in boot pool label bootenv area. On boot, the loader will process /boot/nextboot.conf if nextboot_enable is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf processing on next boot. bootonce and nextboot features are usable in both UEFI and BIOS boot. To use bootonce/nextboot features, the boot loader needs to be updated on disk; if loader.efi is stored on ESP, then ESP needs to be updated and for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated (gpart or other tools). At this time, only lua loader is updated. Sponsored by: Netflix, Klara Inc. Differential Revision: https://reviews.freebsd.org/D25512 Notes: svn path=/head/; revision=365938
* | Apply an opimization for the kernels used by cexp(x) and cexpf(x) submittedStefan Eßer2020-09-202-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | by Steve Kargl: - Use sincos[f] instead of a call to cos[f] and a call to sin[f]. - While here, alphabetize declaration. Submitted by: sgk at troutmask.apl.washington.edu (Steve Kargl) Notes: svn path=/head/; revision=365922
* | Apply fix for ld80 and ld128 submitted by Steve Kargl:Stefan Eßer2020-09-202-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Micro-optimization: use sincosl(x) instead of a call to cosl(x) and a call to sinl(x). Argument reduction is done once not twice. - Use a long double constant instead of an invalid double constant. - Spell scale2 correctly He could not test ld128, so that patch is untested. Submitted by: sgk at troutmask.apl.washington.edu (Steve Kargl) Notes: svn path=/head/; revision=365921
* | Update the libufs cgget() and cgput() interfaces to have a similarKirk McKusick2020-09-197-31/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | API to the sbget() and sbput() interfaces. Specifically they take a file descriptor pointer rather than the struct uufsd *disk pointer used by the libufs cgread() and cgwrite() interfaces. Update fsck_ffs to use these revised interfaces. No functional changes intended. Sponsored by: Netflix Notes: svn path=/head/; revision=365919
* | fix integer underflow in getgrnam_r and getpwnam_rAlan Somers2020-09-192-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes nscd(8) will return a 1-byte buffer for a nonexistent entry. This triggered an integer underflow in grp_unmarshal_func, causing getgrnam_r to return ERANGE instead of 0. Fix the user's buffer size check, and add a correct check for a too-small nscd buffer. PR: 248932 Event: September 2020 Bugathon Reviewed by: markj MFC after: 2 weeks Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D26204 Notes: svn path=/head/; revision=365910
* | build: provide a default WARNS for all in-tree buildsKyle Evans2020-09-1813-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current default is provided in various Makefile.inc in some top-level directories and covers a good portion of the tree, but doesn't cover parts of the build a little deeper (e.g. libcasper). Provide a default in src.sys.mk and set WARNS to it in bsd.sys.mk if that variable is defined. This lets us relatively cleanly provide a default WARNS no matter where you're building in the src tree without breaking things outside of the tree. Crunchgen has been updated as a bootstrap tool to work on this change because it needs r365605 at a minimum to succeed. The cleanup necessary to successfully walk over this change on WITHOUT_CLEAN builds has been added. There is a supplemental project to this to list all of the warnings that are encountered when the environment has WARNS=6 NO_WERROR=yes: https://warns.kevans.dev -- this project will hopefully eventually go away in favor of CI doing a much better job than it. Reviewed by: emaste, brooks, ngie (all earlier version) Reviewed by: emaste, arichardson (depend-cleanup.sh change) Differential Revision: https://reviews.freebsd.org/D26455 Notes: svn path=/head/; revision=365887