Skip to content

Commit

Permalink
Edits from @pauamma
Browse files Browse the repository at this point in the history
  • Loading branch information
brooksdavis committed Apr 15, 2024
1 parent 3262e99 commit 372cb58
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions website/content/en/status/report-2024-01-2024-03/libsys.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Contact: Brooks Davis <brooks@FreeBSD.org>

The libsys project removes direct system calls from `libc.so` and
`libpthread.so` (aka `libthr.so`) to a seperate `libsys.so`.
`libpthread.so` (aka `libthr.so`) to a separate `libsys.so`.
This will:

* Isolate language runtimes from the details of system call implementations.
Expand All @@ -12,7 +12,7 @@ This will:

This work was initially inspired by a compartmentalization prototype in CheriBSD in 2016.
Ali Mashtizadeh and Tal Garfinkel picked that work up and attempted to upstream it link:https://reviews.freebsd.org/D14609[D14609].
Unfortunatly we couldn't figure out how to review and land the massive reorganization required through a phabricator review so it languished.
Unfortunately we couldn't figure out how to review and land the massive reorganization required through a phabricator review so it languished.
Last year the CHERI project once again found a need for system call seperation in a new library-based compartmentalization framework in CheriBSD so I rebuilt the patch from scratch, committing dozens of libc cleanups along the way.
I landed the first batch of changes on February 5th.
Since then I've made a number of refinements to the way we link libsys as well as which symbols are provided in which library.
Expand All @@ -24,14 +24,14 @@ Thanks also to everyone how reported bugs and helped debug issues.
==== Known issues (as of the end of the reporting period)

* The `libsys` ABI is not yet considered stable (it's safe to assume `__sys_foo()` will be supported so language runtimes can use it now).
* Programs using address sanitizer must be linked with `-lsys` (resolved in base at publication time.)
* Programs using the address sanitizer must be linked with `-lsys` (resolved in base at publication time).

==== TODO

* Add a `libsys.h`. (See link:https://reviews.freebsd.org/D44387[D44387] and other reviews in the stack.)
* Update man:intro[2] for `libsys`.
* Finalized ABI. I'm likely to reduce the set of `_` (underscore) prefixed symbols we expose.
* MFC the existance of `libsys`? It's not clear this is practical, but it might be possible to MFC something useful for language runtimes.
* Finalize the ABI. I'm likely to reduce the set of `_` (underscore) prefixed symbols we expose.
* MFC the existence of `libsys`? It's not clear this is practical, but it might be possible to MFC something useful for language runtimes.

==== Help wanted

Expand Down

0 comments on commit 372cb58

Please sign in to comment.