Linux compatibility layer update
Links:
Linuxulator status
Wiki page URL: https://wiki.freebsd.org/Linuxulator
Linux app status Wiki
page URL: https://wiki.freebsd.org/LinuxApps
Contact: Dmitry Chagin <dchagin@FreeBSD.org>
The goal of this project is to improve FreeBSD’s ability to execute unmodified linux(4) binaries.
As of cbbac5609115, 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
namei(9). Previously, to dynamically reroot lookups, every
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.,
linux(4)) uses one call to pwd_altroot()
during
exec-time into that ABI to specify its root directory (e.g.,
/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.
Last modified on: July 28, 2023 by Graham Perrin