git: 3fd60a6b73ac - main - awk: Merge upstream 2nd Edition Awk Book
Date: Tue, 14 Nov 2023 04:51:05 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=3fd60a6b73ac01a72df89751f173970fae4cae73
commit 3fd60a6b73ac01a72df89751f173970fae4cae73
Merge: 194df014feeb 2e406c584fe4
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-11-02 16:32:01 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-11-14 04:49:34 +0000
awk: Merge upstream 2nd Edition Awk Book
Merge in the November 2nd, 2023 version of one true awk.
This brings in Unicode support, CSV support and a number of bug fixes.
Sponsored by: Netflix
Reviewed by: delphij
Differential Revision: https://reviews.freebsd.org/D42447
.gitattributes | 1 +
UPDATING | 5 +
contrib/one-true-awk/FIXES | 1373 +------------------
contrib/one-true-awk/FIXES.1e | 1429 ++++++++++++++++++++
contrib/one-true-awk/README.md | 79 +-
contrib/one-true-awk/awk.1 | 31 +-
contrib/one-true-awk/awk.h | 18 +-
contrib/one-true-awk/awkgram.y | 49 +-
contrib/one-true-awk/b.c | 322 ++++-
.../one-true-awk/bugs-fixed/getline-corruption.awk | 5 +
.../one-true-awk/bugs-fixed/getline-corruption.in | 1 +
.../one-true-awk/bugs-fixed/getline-corruption.ok | 1 +
contrib/one-true-awk/bugs-fixed/rstart-rlength.awk | 10 +
contrib/one-true-awk/bugs-fixed/rstart-rlength.ok | 4 +
.../one-true-awk/bugs-fixed/unicode-fs-rs-1.awk | 6 +
contrib/one-true-awk/bugs-fixed/unicode-fs-rs-1.in | 2 +
contrib/one-true-awk/bugs-fixed/unicode-fs-rs-1.ok | 5 +
.../one-true-awk/bugs-fixed/unicode-fs-rs-2.awk | 7 +
contrib/one-true-awk/bugs-fixed/unicode-fs-rs-2.in | 2 +
contrib/one-true-awk/bugs-fixed/unicode-fs-rs-2.ok | 4 +
.../one-true-awk/bugs-fixed/unicode-null-match.awk | 6 +
.../one-true-awk/bugs-fixed/unicode-null-match.bad | 1 +
.../one-true-awk/bugs-fixed/unicode-null-match.ok | 1 +
contrib/one-true-awk/lex.c | 56 +-
contrib/one-true-awk/lib.c | 137 +-
contrib/one-true-awk/main.c | 15 +-
contrib/one-true-awk/makefile | 1 +
contrib/one-true-awk/parse.c | 2 +-
contrib/one-true-awk/proto.h | 7 +-
contrib/one-true-awk/run.c | 647 ++++++++-
contrib/one-true-awk/testdir/T.argv | 6 +
contrib/one-true-awk/testdir/T.csv | 81 ++
contrib/one-true-awk/testdir/T.misc | 6 +
contrib/one-true-awk/testdir/T.utf | 194 +++
contrib/one-true-awk/testdir/T.utfre | 234 ++++
contrib/one-true-awk/testdir/tt.15 | 2 +-
contrib/one-true-awk/testdir/xc | 17 -
contrib/one-true-awk/tran.c | 26 +-
38 files changed, 3178 insertions(+), 1615 deletions(-)
diff --cc .gitattributes
index 11fec084166f,000000000000..ab5a1eee005d
mode 100644,000000..100644
--- a/.gitattributes
+++ b/.gitattributes
@@@ -1,7 -1,0 +1,8 @@@
+*.c diff=cpp
+*.h diff=cpp
+*.cpp diff=cpp
+*.hpp diff=cpp
+*.py diff=python
+. svn-properties=svn:keywords=tools/build/options/WITHOUT_LOADER_ZFS
+.clang-format svn-properties=svn:keywords=FreeBSD=%H
++contrib/one-true-awk/bugs-fixed/unicode-null-match.bad binary
diff --cc UPDATING
index 763f8f29a4f0,000000000000..17117a193394
mode 100644,000000..100644
--- a/UPDATING
+++ b/UPDATING
@@@ -1,2101 -1,0 +1,2106 @@@
+Updating Information for users of FreeBSD-CURRENT.
+
+This file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>.
+See end of file for further details. For commonly done items, please see the
+COMMON ITEMS: section later in the file. These instructions assume that you
+basically know what you are doing. If not, then please consult the FreeBSD
+handbook:
+
+ https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld
+
+Items affecting the ports and packages system can be found in
+/usr/ports/UPDATING. Please read that file before updating system packages
+and/or ports.
+
+NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
+ FreeBSD 15.x has many debugging features turned on, in both the kernel
+ and userland. These features attempt to detect incorrect use of
+ system primitives, and encourage loud failure through extra sanity
+ checking and fail stop semantics. They also substantially impact
+ system performance. If you want to do performance measurement,
+ benchmarking, and optimization, you'll want to turn them off. This
+ includes various WITNESS- related kernel options, INVARIANTS, malloc
+ debugging flags in userland, and various verbose features in the
+ kernel. Many developers choose to disable these features on build
+ machines to maximize performance. (To completely disable malloc
+ debugging, define WITH_MALLOC_PRODUCTION in /etc/src.conf and rebuild
+ world, or to merely disable the most expensive debugging functionality
+ at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+
++20231114:
++ One True Awk updated to the Second Edition as of 20231102 (254b979f32df)
++ Notable features include UTF-8 support and --csv to support comma
++ separated data.
++
+20231113:
+ The WITHOUT_LLD_IS_LD option has been removed. When LLD is enabled
+ it is always installed as /usr/bin/ld.
+
+20231027:
+ Forward compatibility (running the new code on old kernels) for the
+ "ino64" project have been removed. The need for it has passed long ago.
+
+20231018:
+ Commit 57ce37f9dcd0 changed the internal KAPI between the
+ nfscommon and nfscl modules. Both must be rebuilt from sources.
+
+20231010:
+ dialog(1) has been replaced in base by bsddialog(1), while most of the
+ time replacing a dialog(1) call by a bsddialog(1) call works out of the
+ box, bsddialog(1) is not considered as a drop-in replacement for
+ dialog(1).
+
+ If you do depend on dialog(1) functionality, please install cdialog
+ from ports:
+
+ pkg install cdialog
+
+20230927:
+ The EARLY_AP_STARTUP kernel option is mandatory on x86. The option
+ has been added to DEFAULTS, so it should automatically be included in
+ custom kernel configurations without any additional change.
+
+20230922:
+ A new loader tunable net.pf.default_to_drop allows pf(4)’s default
+ behaviour to be changed from pass to drop. Previously this required
+ recompiling the kernel with the option PF_DEFAULT_TO_DROP.
+
+20230914:
+ Enable splitting out pkgbase manpages into separate packages by
+ default. To disable this, set WITHOUT_MANSPLITPKG=yes in src.conf.
+
+20230911:
+ Move standard include files to the clibs-dev package and move clang
+ internal libraries and headers to clang and clang-dev. Upgrading systems
+ installed using pkgbase past this change involves extra steps to allow
+ for these file moves:
+
+ pkg upgrade -y FreeBSD-utilities
+ pkg upgrade -y FreeBSD-utilities-dev
+ pkg upgrade -y
+
+20230909:
+ Enable vnet sysctl variables to be loader tunable. SYSCTLs which
+ belongs to VNETs can be initialized during early boot or module
+ loading if they are marked with CTLFLAG_TUN and there are
+ corresponding kernel environment variables.
+
+20230901:
+ The WITH_INIT_ALL_PATTERN and WITH_INIT_ALL_ZERO build options have
+ been replaced by INIT_ALL=pattern and INIT_ALL=zero respectively.
+
+20230824:
+ FreeBSD 15.0-CURRENT.
+
+20230817:
+ Serial communication (in boot loaders, kernel, and userland) has
+ been changed to default to 115200 bps, in line with common industry
+ practice and typcial firmware serial console redirection
+ configuration.
+
+ Note that the early x86 BIOS bootloader (i.e., boot0sio) does not
+ support rates above 9600 bps and is not changed. boot0sio users may
+ set BOOT_COMCONSOLE_SPEED=9600 to use 9600 for all of the boot
+ components, or use the standard boot0 and have the boot2 stage start
+ with the serial port at 115200.
+
+20230807:
+ Following the general removal of MIPS support, the ath(4) AHB bus-
+ frontend has been removed, too, and building of the PCI support is
+ integrated with the ath(4) main module again. As a result, there's
+ no longer a need for if_ath_pci_load="YES" in /boot/loader.conf or
+ "device ath_pci" in the kernel configuration.
+
+20230803:
+ MAXCPU has been increased to 1024 in the amd64 GENERIC kernel config.
+ Out-of-tree kernel modules will need to be rebuilt.
+
+20230724:
+ CAM has been mechanically updated s/u_int(64|32|16|8)_t/uint\1_t/g
+ to move to the standard uintXX_t types from the old, traditional
+ BSD u_intXX_t types. This should be a NOP, but may cause problems
+ for out of tree changes. The SIMs were not updated since most of
+ the old u_intXX_t uses weren't due to CAM interfaces.
+
+20230713:
+ stable/14 branch created.
+
+20230629:
+ The heuristic for detecting old chromebooks with an EC bug that requires
+ atkbdc driver workarounds has changed. There should be no functional
+ change, but if your old chromebook's keyboard stops working, please
+ file a PR and assign it to imp.
+
+20230623:
+ OpenSSL has been updated to version 3.0, including changes throughout
+ the base system. It is important to rebuild third-party software
+ after upgrading.
+
+20230619:
+ To enable pf rdr rules for connections initiated from the host, pf
+ filter rules can be optionally enabled for packets delivered
+ locally. This can change the behavior of rules which match packets
+ delivered to lo0. To enable this feature:
+
+ sysctl net.pf.filter_local=1
+ service pf restart
+
+ When enabled, its best to ensure that packets delivered locally are not
+ filtered, e.g. by adding a 'skip on lo' rule.
+
+20230613:
+ Improvements to libtacplus(8) mean that tacplus.conf(5) now
+ follows POSIX shell syntax rules. This may cause TACACS+
+ authentication to fail if the shared secret contains a single
+ quote, double quote, or backslash character which isn't
+ already properly quoted or escaped.
+
+20230612:
+ Belatedly switch the default nvme block device on x86 from nvd to nda.
+ nda created nvd compatibility links by default, so this should be a
+ nop. If this causes problems for your application, set hw.nvme.use_nvd=1
+ in your loader.conf or add `options NVME_USE_NVD=1` to your kernel
+ config. To disable the nvd compatibility aliases, add
+ kern.cam.nda.nvd_compat=0 to loader.conf. The default has been nda on
+ all non-x86 platforms for some time now. If you need to fall back,
+ please email imp@freebsd.org about why.
+
+ Encrypted swap partitions need to be changed from nvd to nda if you
+ migrate, or you need to use the above to switch back to nvd.
+
+20230422:
+ Remove portsnap(8). Users are encouraged to obtain the ports tree
+ using git instead.
+
+20230420:
+ Add jobs.mk to save typing. Enables -j${JOB_MAX} and logging
+ eg.
+ make buildworld-jobs
+ runs
+ make -j${JOB_MAX} buildworld > ../buildworld.log 2>&1
+
+ where JOB_MAX is derrived from ncpus in local.sys.mk if not set in env.
+
+20230316:
+ Video related devices for some arm devices have been renamed.
+ If you have a custom kernel config and want to use hdmi output on
+ IMX6 board you need to add "device dwc_hdmi" "device imx6_hdmi" and
+ "device imx6_ipu" to it.
+ If you have a custom kernel config and want to use hdmi output on
+ TI AM335X board you need to add "device tda19988" to it.
+ If you add "device hdmi" in it you need to remove it as it doesn't
+ exist anymore.
+
+20230221:
+ Introduce new kernel options KBD_DELAY1 and KBD_DELAY2. See atkbdc(4)
+ for details.
+
+20230206:
+ sshd now defaults to having X11Forwarding disabled, following upstream.
+ Administrators who wish to enable X11Forwarding should add
+ `X11Forwarding yes` to /etc/ssh/sshd_config.
+
+20230204:
+ Since commit 75d41cb6967 Huawei 3G/4G LTE Mobile Devices do not default
+ to ECM, but NCM mode and need u3g and ucom modules loaded. See cdce(4).
+
+20230130:
+ As of commit 7c40e2d5f685, the dependency on netlink(4) has been added
+ to the linux_common(4) module. Users relying on linux_common may need
+ to complile netlink(4) module if it is not present in their kernel.
+
+20230126:
+ The WITHOUT_CXX option has been removed. C++ components in the base
+ system are now built unconditionally.
+
+20230113:
+ LinuxKPI pci.h changes may require out-of-tree drivers to be recompiled.
+ Bump _FreeBSD_version to 1400078 to be able to detect this change.
+
+20221212:
+ llvm-objump is now always installed as objdump. Previously there was
+ no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used.
+
+ Some LLVM objdump options have a different output format compared to
+ GNU objdump; readelf is available for inspecting ELF files, and GNU
+ objdump is available from the devel/binutils port or package.
+
+20221205:
+ dma(8) has replaced sendmail(8) as the default mta. For people willing
+ to reenable sendmail(8):
+
+ $ cp /usr/share/examples/sendmail/mailer.conf /etc/mail/mailer.conf
+
+ and add sendmail_enable="YES" to rc.conf.
+
+20221204:
+ hw.bus.disable_failed_devices has changed from 'false' to 'true' by
+ default. Now if newbus succeeds in probing a device, but fails to attach
+ the device, we'll disable the device. In the past, we'd keep retrying
+ the device on each new driver loaded. To get that behavior now, one
+ needs to use devctl to re-enable the device, and reprobe it (or set
+ the sysctl/tunable hw.bus.disable_failed_devices=false).
+
+ NOTE: This was reverted 20221205 due to unexpected compatibility issues
+
+20221122:
+ pf no longer accepts 'scrub fragment crop' or 'scrub fragment drop-ovl'.
+ These configurations are no longer automatically reinterpreted as
+ 'scrub fragment reassemble'.
+
+20221121:
+ The WITHOUT_CLANG_IS_CC option has been removed. When Clang is enabled
+ it is always installed as /usr/bin/cc (and c++, cpp).
+
+20221026:
+ Some programs have been moved into separate packages. It is recommended
+ for pkgbase users to do:
+
+ pkg install FreeBSD-dhclient FreeBSD-geom FreeBSD-resolvconf \
+ FreeBSD-devd FreeBSD-devmatch
+
+ after upgrading to restore all the component that were previously
+ installed.
+
+20221002:
+ OPIE has been removed from the base system. If needed, it can
+ be installed from ports (security/opie) or packages (opie).
+ Otherwise, make sure that your PAM policies do not reference
+ pam_opie or pam_opieaccess.
+
+20220610:
+ LinuxKPI pm.h changes require an update to the latest drm-kmod version
+ before re-compiling to avoid errors.
+
+20211230:
+ The macros provided for the manipulation of CPU sets (e.g. CPU_AND)
+ have been modified to take 2 source arguments instead of only 1.
+ Externally maintained sources that use these macros will have to
+ be adapted. The FreeBSD version has been bumped to 1400046 to
+ reflect this change.
+
+20211214:
+ A number of the kernel include files are able to be included by
+ themselves. A test has been added to buildworld to enforce this.
+
+20211209:
+ Remove mips as a recognized target. This starts the decommissioning of
+ mips support in FreeBSD. mips related items will be removed wholesale in
+ the coming days and weeks.
+
+ This broke the NO_CLEAN build for some people. Either do a clean build
+ or touch
+ lib/clang/include/llvm/Config/Targets.def
+ lib/clang/include/llvm/Config/AsmParsers.def
+ lib/clang/include/llvm/Config/Disassemblers.def
+ lib/clang/include/llvm/Config/AsmPrinters.def
+ before the build to force everything to rebuild that needs to.
+
+20211202:
+ Unbound support for RFC8375: The special-use domain 'home.arpa' is
+ by default blocked. To unblock it use a local-zone nodefault
+ statement in unbound.conf:
+ local-zone: "home.arpa." nodefault
+
+ Or use another type of local-zone to override with your choice.
+
+ The reason for this is discussed in Section 6.1 of RFC8375:
+ Because 'home.arpa.' is not globally scoped and cannot be secured
+ using DNSSEC based on the root domain's trust anchor, there is no way
+ to tell, using a standard DNS query, in which homenet scope an answer
+ belongs. Consequently, users may experience surprising results with
+ such names when roaming to different homenets.
+
+20211110:
+ Commit b8d60729deef changed the TCP congestion control framework so
+ that any of the included congestion control modules could be
+ the single module built into the kernel. Previously newreno
+ was automatically built in through direct reference. As of
+ this commit you are required to declare at least one congestion
+ control module (e.g. 'options CC_NEWRENO') and to also declare a
+ default using the CC_DEFAULT option (e.g. options CC_DEFAULT="newreno\").
+ The GENERIC configuration includes CC_NEWRENO and defines newreno
+ as the default. If no congestion control option is built into the
+ kernel and you are including networking, the kernel compile will
+ fail. Also if no default is declared the kernel compile will fail.
+
+20211118:
+ Mips has been removed from universe builds. It will be removed from the
+ tree shortly.
+
+20211106:
+ Commit f0c9847a6c47 changed the arguments for VOP_ALLOCATE.
+ The NFS modules must be rebuilt from sources and any out
+ of tree file systems that implement their own VOP_ALLOCATE
+ may need to be modified.
+
+20211022:
+ The synchronous PPP kernel driver sppp(4) has been removed.
+ The cp(4) and ce(4) drivers are now always compiled with netgraph(4)
+ support, formerly enabled by NETGRAPH_CRONYX option.
+
+20211020:
+ sh(1) is now the default shell for the root user. To force root to use
+ the csh shell, please run the following command as root:
+
+ # chsh -s csh
+
+20211004:
+ Ncurses distribution has been split between libtinfow and libncurses
+ with libncurses.so becoming a linker (ld) script to seamlessly link
+ to libtinfow as needed. Bump _FreeBSD_version to 1400035 to reflect
+ this change.
+
+20210923:
+ As of commit 8160a0f62be6, the dummynet module no longer depends on the
+ ipfw module. Dummynet can now be used by pf as well as ipfw. As such
+ users who relied on this dependency may need to include ipfw in the
+ list of modules to load on their systems.
+
+20210922:
+ As of commit 903873ce1560, the mixer(8) utility has got a slightly
+ new syntax. Please refer to the mixer(8) manual page for more
+ information. The old mixer utility can be installed from ports:
+ audio/freebsd-13-mixer
+
+20210911:
+ As of commit 55089ef4f8bb, the global variable nfs_maxcopyrange has
+ been deleted from the nfscommon.ko. As such, nfsd.ko must be built
+ from up to date sources to avoid an undefined reference when
+ being loaded.
+
+20210817:
+ As of commit 62ca9fc1ad56 OpenSSL no longer enables kernel TLS
+ by default. Users can enable kernel TLS via the "KTLS" SSL
+ option. This can be enabled globally by using a custom
+ OpenSSL config file via OPENSSL_CONF or via an
+ application-specific configuration option for applications
+ which permit setting SSL options via SSL_CONF_cmd(3).
+
+20210811:
+ Commit 3ad1e1c1ce20 changed the internal KAPI between the NFS
+ modules. Therefore, all need to be rebuilt from sources.
+
+20210730:
+ Commit b69019c14cd8 removes pf's DIOCGETSTATESNV ioctl.
+ As of be70c7a50d32 it is no longer used by userspace, but it does mean
+ users may not be able to enumerate pf states if they update the kernel
+ past b69019c14cd8 without first updating userspace past be70c7a50d32.
+
+20210729:
+ As of commit 01ad0c007964 if_bridge member interfaces can no longer
+ change their MTU. Changing the MTU of the bridge itself will change the
+ MTU on all member interfaces instead.
+
+20210716:
+ Commit ee29e6f31111 changed the internal KAPI between the nfscommon
+ and nfsd modules. Therefore, both need to be rebuilt from sources.
+ Bump __FreeBSD_version to 1400026 for this KAPI change.
+
+20210715:
+ The 20210707 awk update brought in a change in behavior. This has
+ been corrected as of d4d252c49976. Between these dates, if you
+ installed a new awk binary, you may not be able to build a new
+ kernel because the change in behavior affected the genoffset
+ script used to build the kernel. If you did update, the fix is
+ to update your sources past the above hash and do
+ % cd usr.bin/awk
+ % make clean all
+ % sudo -E make install
+ to enable building kernels again.
+
+20210708:
+ Commit 1e0a518d6548 changed the internal KAPI between the NFS
+ modules. They all need to be rebuilt from sources. I did not
+ bump __FreeBSD_version, since it was bumped recently.
+
+20210707:
+ awk has been updated to the latest one-true-awk version 20210215.
+ This contains a number of minor bug fixes.
+
+20210624:
+ The NFSv4 client now uses the highest minor version of NFSv4
+ supported by the NFSv4 server by default instead of minor version 0,
+ for NFSv4 mounts.
+ The "minorversion" mount option may be used to override this default.
+
+20210618:
+ Bump __FreeBSD_version to 1400024 for LinuxKPI changes.
+ Most notably netdev.h can change now as the (last) dependencies
+ (mlx4/ofed) are now using struct ifnet directly, but also for PCI
+ additions and others.
+
+20210618:
+ The directory "blacklisted" under /usr/share/certs/ has been
+ renamed to "untrusted".
+
+20210611:
+ svnlite has been removed from base. Should you need svn for any reason
+ please install the svn package or port.
+
+20210611:
+ Commit e1a907a25cfa changed the internal KAPI between the krpc
+ and nfsserver. As such, both modules must be rebuilt from
+ sources. Bump __FreeBSD_version to 1400022.
+
+20210610:
+ The an(4) driver has been removed from FreeBSD.
+
+20210608:
+ The vendor/openzfs branch was renamed to vendor/openzfs/legacy to
+ start tracking OpenZFS upstream more closely. Please see
+https://lists.freebsd.org/archives/freebsd-current/2021-June/000153.html
+ for details on how to correct any errors that might result. The
+ short version is that you need to remove the old branch locally:
+ git update-ref -d refs/remotes/freebsd/vendor/openzfs
+ (assuming your upstream origin is named 'freebsd').
+
+20210525:
+ Commits 17accc08ae15 and de102f870501 add new files to LinuxKPI
+ which break drm-kmod. In addition various other additions where
+ committed. Bump __FreeBSD_version to 1400015 to be able to
+ detect this.
+
+20210513:
+ Commit ca179c4d74f2 changed the package in which the OpenSSL
+ libraries and utilities are packaged.
+ It is recommended for pkgbase user to do:
+ pkg install -f FreeBSD-openssl
+ before pkg upgrade otherwise some dependencies might not be met
+ and pkg will stop working as libssl will not be present anymore
+ on the system.
+
+20210426:
+ Commit 875977314881 changed the internal KAPI between
+ the nfsd and nfscommon modules. As such these modules
+ need to be rebuilt from sources.
+ Without this patch in your NFSv4.1/4.2 server, enabling
+ delegations by setting vfs.nfsd.issue_delegations non-zero
+ is not recommended.
+
+20210411:
+ Commit 7763814fc9c2 changed the internal KAPI between
+ the krpc and NFS. As such, the krpc, nfscommon and
+ nfscl modules must all be rebuilt from sources.
+ Without this patch, NFSv4.1/4.2 mounts should not
+ be done with the nfscbd(8) daemon running, to avoid
+ needing a working back channel for server->client RPCs.
+
+20210330:
+ Commit 01ae8969a9ee fixed the NFSv4.1/4.2 server so that it
+ handles binding of the back channel as required by RFC5661.
+ Until this patch is in your server, avoid use of the "nconnects"
+ mount option for Linux NFSv4.1/4.2 mounts.
+
+20210225:
+ For 64-bit architectures the base system is now built with Position
+ Independent Executable (PIE) support enabled by default. It may be
+ disabled using the WITHOUT_PIE knob. A clean build is required.
+
+20210128:
+ Various LinuxKPI functionality was added which conflicts with DRM.
+ Please update your drm-kmod port to after the __FreeBSD_version 1400003
+ update.
+
+20210121:
+ stable/13 branch created.
+
+20210108:
+ PC Card attachments for all devices have been removed. In the case of
+ wi and cmx, the entire drivers were removed because they were only
+ PC Card devices. FreeBSD_version 1300134 should be used for this
+ since it was bumped so recently.
+
+20210107:
+ Transport-independent parts of HID support have been split off the USB
+ code in to separate subsystem. Kernel configs which include one of
+ ums, ukbd, uhid, atp, wsp, wmt, uaudio, ugold or ucycom drivers should
+ be updated with adding of "device hid" line.
+
+20210105:
+ ncurses installation has been modified to only keep the widechar
+ enabled version. Incremental build is broken for that change, so it
+ requires a clean build.
+
+20201223:
+ The FreeBSD project has migrated from Subversion to Git. Temporary
+ instructions can be found at
+ https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md
+ and other documents in that repo.
+
+20201216:
+ The services database has been updated to cover more of the basic
+ services expected in a modern system. The database is big enough
+ that it will cause issues in mergemaster in Releases previous to
+ 12.2 and 11.3, or in very old current systems from before r358154.
+
+20201215:
+ Obsolete in-tree GDB 6.1.1 has been removed. GDB (including kgdb)
+ may be installed from ports or packages.
+
+20201124:
+ ping6 has been merged into ping. It can now be called as "ping -6".
+ See ping(8) for details.
+
+20201108:
+ Default value of net.add_addr_allfibs has been changed to 0.
+ If you have multi-fib configuration and rely on existence of all
+ interface routes in every fib, you need to set the above sysctl to 1.
+
+20201030:
+ The internal pre-processor in the calendar(1) program has been
+ extended to support more C pre-processor commands (e.g. #ifdef, #else,
+ and #undef) and to detect unbalanced conditional statements.
+ Error messages have been extended to include the filename and line
+ number if processing stops to help fixing malformed data files.
+
+20201026:
+ All the data files for the calendar(1) program, except calendar.freebsd,
+ have been moved to the deskutils/calendar-data port, much like the
+ jewish calendar entries were moved to deskutils/hebcal years ago. After
+ make delete-old-files, you need to install it to retain full
+ functionality. calendar(1) will issue a reminder for files it can't
+ find.
+
+20200923:
+ LINT files are no longer generated. We now include the relevant NOTES
+ files. Note: This may cause conflicts with updating in some cases.
+ find sys -name LINT\* -delete
+ is suggested across this commit to remove the generated LINT files.
+
+ If you have tried to update with generated files there, the svn
+ command you want to un-auger the tree is
+ cd sys/amd64/conf
+ svn revert -R .
+ and then do the above find from the top level. Substitute 'amd64'
+ above with where the error message indicates a conflict.
+
+20200824:
+ OpenZFS support has been integrated. Do not upgrade root pools until
+ the loader is updated to support zstd. Furthermore, we caution against
+ 'zpool upgrade' for the next few weeks. The change should be transparent
+ unless you want to use new features.
+
+ Not all "NO_CLEAN" build scenarios work across these changes. Many
+ scenarios have been tested and fixed, but rebuilding kernels without
+ rebuilding world may fail.
+
+ The ZFS cache file has moved from /boot to /etc to match the OpenZFS
+ upstream default. A fallback to /boot has been added for mountroot.
+
+ Pool auto import behavior at boot has been moved from the kernel module
+ to an explicit "zpool import -a" in one of the rc scripts enabled by
+ zfs_enable=YES. This means your non-root zpools won't auto import until
+ you upgrade your /etc/rc.d files.
+
+20200824:
+ The resume code now notifies devd with the 'kernel' system
+ rather than the old 'kern' subsystem to be consistent with
+ other use. The old notification will be created as well, but
+ will be removed prior to FreeBSD 14.0.
+
+20200821:
+ r362275 changed the internal API between the kernel RPC and the
+ NFS modules. As such, all the modules must be recompiled from
+ sources.
+
+20200817:
+ r364330 modified the internal API used between the NFS modules.
+ As such, all the NFS modules must be re-compiled from sources.
+
+20200816:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 11.0.0. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20200810:
+ r364092 modified the internal ABI used between the kernel NFS
+ modules. As such, all of these modules need to be rebuilt
+ from sources, so a version bump was done.
+
+20200807:
+ Makefile.inc has been updated to work around the issue documented in
+ 20200729. It was a case where the optimization of using symbolic links
+ to point to binaries created a situation where we'd run new binaries
+ with old libraries starting midway through the installworld process.
+
+20200729:
+ r363679 has redefined some undefined behavior in regcomp(3); notably,
+ extraneous escapes of most ordinary characters will no longer be
+ accepted. An exp-run has identified all of the problems with this in
+ ports, but other non-ports software may need extra escapes removed to
+ continue to function.
+
+ Because of this change, installworld may encounter the following error
+ from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that
+ you do not halt installworld. Instead, let it run to completion (whether
+ successful or not) and run installworld once more.
+
+20200627:
+ A new implementation of bc and dc has been imported in r362681. This
+ implementation corrects non-conformant behavior of the previous bc
+ and adds GNU bc compatible options. It offers a number of extensions,
+ is much faster on large values, and has support for message catalogs
+ (a number of languages are already supported, contributions of further
+ languages welcome). The option WITHOUT_GH_BC can be used to build the
+ world with the previous versions of bc and dc.
+
+20200625:
+ r362639 changed the internal API used between the NFS kernel modules.
+ As such, they all need to be rebuilt from sources.
+
+20200613:
+ r362158 changed the arguments for VFS_CHECKEXP(). As such, any
+ out of tree file systems need to be modified and rebuilt.
+ Also, any file systems that are modules must be rebuilt.
+
+20200604:
+ read(2) of a directory fd is now rejected by default. root may
+ re-enable it for system root only on non-ZFS filesystems with the
+ security.bsd.allow_read_dir sysctl(8) MIB if
+ security.bsd.suser_enabled=1.
+
+ It may be advised to setup aliases for grep to default to `-d skip` if
+ commonly non-recursively grepping a list that includes directories and
+ the potential for the resulting stderr output is not tolerable. Example
+ aliases are now installed, commented out, in /root/.cshrc and
+ /root/.shrc.
+
+20200523:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 10.0.1. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20200512:
+ Support for obsolete compilers has been removed from the build system.
+ Clang 6 and GCC 6.4 are the minimum supported versions.
+
+20200424:
+ closefrom(2) has been moved under COMPAT12, and replaced in libc with a
+ stub that calls close_range(2). If using a custom kernel configuration,
+ you may want to ensure that the COMPAT_FREEBSD12 option is included, as
+ a slightly older -CURRENT userland and older FreeBSD userlands may not
+ be functional without closefrom(2).
+
+20200414:
+ Upstream DTS from Linux 5.6 was merged and they now have the SID
+ and THS (Secure ID controller and THermal Sensor) node present.
+ The DTB overlays have now been removed from the tree for the H3/H5 and
+ A64 SoCs and the aw_sid and aw_thermal driver have been updated to
+ deal with upstream DTS. If you are using those overlays you need to
+ remove them from loader.conf and update the DTBs on the FAT partition.
+
+20200310:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 10.0.0. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20200309:
+ The amd(8) automount daemon has been removed from the source tree.
+ As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting.
+ amd is still available in the sysutils/am-utils port.
+
+20200301:
+ Removed brooktree driver (bktr.4) from the tree.
+
+20200229:
+ The WITH_GPL_DTC option has been removed. The BSD-licenced device tree
+ compiler in usr.bin/dtc is used on all architectures which use dtc, and
+ the GPL dtc is available (if needed) from the sysutils/dtc port.
+
+20200229:
+ The WITHOUT_LLVM_LIBUNWIND option has been removed. LLVM's libunwind
+ is used by all supported CPU architectures.
+
+20200229:
+ GCC 4.2.1 has been removed from the tree. The WITH_GCC,
+ WITH_GCC_BOOTSTRAP, and WITH_GNUCXX options are no longer available.
+ Users who wish to build FreeBSD with GCC must use the external toolchain
+ ports or packages.
+
+20200220:
+ ncurses has been updated to a newer version (6.2-20200215). Given the ABI
+ has changed, users will have to rebuild all the ports that are linked to
+ ncurses.
+
+20200217:
+ The size of struct vnet and the magic cookie have changed.
+ Users need to recompile libkvm and all modules using VIMAGE
+ together with their new kernel.
+
+20200212:
+ Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB,
+ NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error. Update
+ your Makefiles and scripts to define MK_<var>=no instead as required.
+
+ One exception to this is that program or library Makefiles should
+ define MAN to empty rather than setting MK_MAN=no.
+
+20200108:
+ Clang/LLVM is now the default compiler and LLD the default
+ linker for riscv64.
+
+20200107:
+ make universe no longer uses GCC 4.2.1 on any architectures.
+ Architectures not supported by in-tree Clang/LLVM require an
+ external toolchain package.
+
+20200104:
+ GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1
+ retirement plan. Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX
+ options default to off for all supported CPU architectures. As a
+ short-term transition aid they may be enabled via WITH_* options.
+ GCC 4.2.1 is expected to be removed from the tree on 2020-03-31.
+
+20200102:
+ Support for armv5 has been disconnected and is being removed. The
+ machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid.
+ You must now use a MACHINE_ARCH of armv6 or armv7. The default
+ MACHINE_ARCH for MACHINE=arm is now armv7.
+
+20191226:
+ Clang/LLVM is now the default compiler for all powerpc architectures.
+ LLD is now the default linker for powerpc64. The change for powerpc64
+ also includes a change to the ELFv2 ABI, incompatible with the existing
+ ABI.
+
+20191226:
+ Kernel-loadable random(4) modules are no longer unloadable.
+
+20191222:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 9.0.1. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20191212:
+ r355677 has modified the internal interface used between the
+ NFS modules in the kernel. As such, they must all be upgraded
+ simultaneously. I will do a version bump for this.
+
+20191205:
+ The root certificates of the Mozilla CA Certificate Store have been
+ imported into the base system and can be managed with the certctl(8)
+ utility. If you have installed the security/ca_root_nss port or package
+ with the ETCSYMLINK option (the default), be advised that there may be
+ differences between those included in the port and those included in
+ base due to differences in nss branch used as well as general update
+ frequency. Note also that certctl(8) cannot manage certs in the
+ format used by the security/ca_root_nss port.
+
+20191120:
+ The amd(8) automount daemon has been disabled by default, and will be
+ removed in the future. As of FreeBSD 10.1 the autofs(5) is available
+ for automounting.
+
+20191107:
+ The nctgpio and wbwd drivers have been moved to the superio bus.
+ If you have one of these drivers in a kernel configuration, then
+ you should add device superio to it. If you use one of these drivers
+ as a module and you compile a custom set of modules, then you should
+ add superio to the set.
+
+20191021:
+ KPIs for network drivers to access interface addresses have changed.
+ Users need to recompile NIC driver modules together with kernel.
+
+20191021:
+ The net.link.tap.user_open sysctl no longer prevents user opening of
+ already created /dev/tapNN devices. Access is still controlled by
+ node permissions, just like tun devices. The net.link.tap.user_open
+ sysctl is now used only to allow users to perform devfs cloning of
+ tap devices, and the subsequent open may not succeed if the user is not
+ in the appropriate group. This sysctl may be deprecated/removed
+ completely in the future.
+
+20191009:
+ mips, powerpc, and sparc64 are no longer built as part of
+ universe / tinderbox unless MAKE_OBSOLETE_GCC is defined. If
+ not defined, mips, powerpc, and sparc64 builds will look for
+ the xtoolchain binaries and if installed use them for universe
+ builds. As llvm 9.0 becomes vetted for these architectures, they
+ will be removed from the list.
+
+20191009:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 9.0.0. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20191003:
+ The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from
+ GENERIC. They are available as modules and can be loaded by adding
+ to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES",
+ hptnr_load="YES", or hptrr_load="YES", respectively.
+
+20190913:
+ ntpd no longer by default locks its pages in memory, allowing them
+ to be paged out by the kernel. Use rlimit memlock to restore
+ historic BSD behaviour. For example, add "rlimit memlock 32"
+ to ntp.conf to lock up to 32 MB of ntpd address space in memory.
+
+20190823:
+ Several of ping6's options have been renamed for better consistency
+ with ping. If you use any of -ARWXaghmrtwx, you must update your
+ scripts. See ping6(8) for details.
+
+20190727:
+ The vfs.fusefs.sync_unmount and vfs.fusefs.init_backgrounded sysctls
+ and the "-o sync_unmount" and "-o init_backgrounded" mount options have
+ been removed from mount_fusefs(8). You can safely remove them from
+ your scripts, because they had no effect.
+
+ The vfs.fusefs.fix_broken_io, vfs.fusefs.sync_resize,
+ vfs.fusefs.refresh_size, vfs.fusefs.mmap_enable,
+ vfs.fusefs.reclaim_revoked, and vfs.fusefs.data_cache_invalidate
+ sysctls have been removed. If you felt the need to set any of them to
+ a non-default value, please tell asomers@FreeBSD.org why.
+
+20190713:
+ Default permissions on the /var/account/acct file (and copies of it
+ rotated by periodic daily scripts) are changed from 0644 to 0640
+ because the file contains sensitive information that should not be
+ world-readable. If the /var/account directory must be created by
+ rc.d/accounting, the mode used is now 0750. Admins who use the
+ accounting feature are encouraged to change the mode of an existing
+ /var/account directory to 0750 or 0700.
+
+20190620:
+ Entropy collection and the /dev/random device are no longer optional
+ components. The "device random" option has been removed.
+ Implementations of distilling algorithms can still be made loadable
+ with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko).
+
+20190612:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 8.0.1. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
+20190608:
+ A fix was applied to i386 kernel modules to avoid panics with
+ dpcpu or vnet. Users need to recompile i386 kernel modules
+ having pcpu or vnet sections or they will refuse to load.
+
+20190513:
+ User-wired pages now have their own counter,
+ vm.stats.vm.v_user_wire_count. The vm.max_wired sysctl was renamed
+ to vm.max_user_wired and changed from an unsigned int to an unsigned
+ long. bhyve VMs wired with the -S are now subject to the user
+ wiring limit; the vm.max_user_wired sysctl may need to be tuned to
+ avoid running into the limit.
+
+20190507:
+ The IPSEC option has been removed from GENERIC. Users requiring
+ ipsec(4) must now load the ipsec(4) kernel module.
+
+20190507:
+ The tap(4) driver has been folded into tun(4), and the module has been
+ renamed to tuntap. You should update any kld_list="if_tap" or
+ kld_list="if_tun" entries in /etc/rc.conf, if_tap_load="YES" or
+ if_tun_load="YES" entries in /boot/loader.conf to load the if_tuntap
+ module instead, and "device tap" or "device tun" entries in kernel
*** 1499 LINES SKIPPED ***