git: c8d4a2ca1a - main - Linux emulation q2 2023 report

From: Dmitry Chagin <dchagin_at_FreeBSD.org>
Date: Fri, 16 Jun 2023 14:26:46 UTC
The branch main has been updated by dchagin:

URL: https://cgit.FreeBSD.org/doc/commit/?id=c8d4a2ca1a814ddfeb88b016161d2574b713cbda

commit c8d4a2ca1a814ddfeb88b016161d2574b713cbda
Author:     Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2023-06-16 14:23:54 +0000
Commit:     Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2023-06-16 14:23:54 +0000

    Linux emulation q2 2023 report
    
    Reviewed by:            carlavilla, salvadore
    Differential Revision:  https://reviews.freebsd.org/D40560
---
 .../en/status/report-2023-04-2023-06/linuxulator.adoc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/website/content/en/status/report-2023-04-2023-06/linuxulator.adoc b/website/content/en/status/report-2023-04-2023-06/linuxulator.adoc
new file mode 100644
index 0000000000..9606680c33
--- /dev/null
+++ b/website/content/en/status/report-2023-04-2023-06/linuxulator.adoc
@@ -0,0 +1,19 @@
+=== 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 <dchagin@FreeBSD.org>
+
+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 of an fpu xsave state across signal delivery on amd64 is implemented.
+That is made possible to run modern golang with preemptive scheduler on.
+
+The new facility to specify an alternate ABI root path was added to the 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 resolved 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 it's root directory (e.g., [.filename]#/compat/ubuntu#) and forget about path names translation.
+That is made possible to 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.