=== Linux compatibility layer update Links: + link:https://wiki.freebsd.org/Linuxulator[Linuxulator status Wiki page] URL: link:https://wiki.freebsd.org/Linuxulator[] + link:https://wiki.freebsd.org/LinuxApps[Linux app status Wiki page] URL: link:https://wiki.freebsd.org/LinuxApps[] Contact: Dmitry Chagin The goal of this project is to improve FreeBSD's ability to execute unmodified man:linux[4] binaries. As of gitref:cbbac5609115[repository=src], preserving an fpu xsave state across signal delivery on amd64 is implemented. That makes it possible to run modern golang with preemptive scheduler on. The new facility to specify an alternate ABI root path was added to man:namei[9]. Previously, to dynamically reroot lookups, every man:linux[4] syscall where path names translation is needed required a bit of ugly code and used `kern_alternate_path()` which does not properly resolve symlinks with leading `/` in the target. For now a non-native ABI (i.e., man:linux[4]) uses one call to `pwd_altroot()` during exec-time into that ABI to specify its root directory (e.g., [.filename]#/compat/ubuntu#) and forget about path names translation. That makes possible chroot into the Ubuntu compat without having to fix such symlinks by hand. In total, over 10 bugs were fixed; glibc-2.37 tests suite reports less than 70 failed tests.