Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/website/content/en/status/report-2021-07-2021-09/linuxulator.adoc
18096 views
=== Linux compatibility layer update

Contact: Dmitry Chagin, <[email protected]> +
Contact: Edward Tomasz Napierala, <[email protected]>

The goal of this project is to improve FreeBSD's ability to execute unmodified Linux binaries.
The current support status of specific Linux applications is being tracked on the link:https://wiki.freebsd.org/LinuxApps[Linux app status Wiki page].

The `vdso(7)` implementation was reworked.
The `futex(2)` support was overhauled to make use of FreeBSD's native `umtx` mechanism.
It now supports priority-inheritance futexes, in addition to fixing several bugs.

The `rt_sigsuspend(2)` and `sigaltstack(2)` syscalls are now supported on ARM64.

The `faccessat2(2)`, `clone3(2)` system calls are now implemented.
The `CLONE_CLEAR_RESETHAND` option is now supported.

The `prctl(2)` syscall now supports `PR_SET_NO_NEW_PRIVS`.

The `ptrace(2)` syscall now supports `PTRACE_GET_SYSCALL_INFO`, which is a prerequisite to support newer `strace(1)` versions.

There is ongoing work to make Linuxulator on arm64 on par with the amd64 one; right now it's good enough for development work.

Sponsor: EPSRC (Edward's work)