docs(freebsd): mark Step 4 (syscall leaf) done
Record 4a/4b/4c as complete in the FreeBSD backend design doc: the file/process leaves, the Tier-2 libc leaves + getrandom/mremap stub, and the threads + %fs TLS setup are all landed and verified (four fixpoints, full suite, cp.test.linker FreeBSD fixtures). End-to-end execution under emulation remains Step 8.
This commit is contained in:
parent
0a9b79dd30
commit
464cc113b6
|
|
@ -391,6 +391,20 @@ links the `_start` fixture with the FreeBSD target and asserts the static
|
||||||
|
|
||||||
=== Step 4 — FreeBSD syscall leaf (the libc-replacement work)
|
=== Step 4 — FreeBSD syscall leaf (the libc-replacement work)
|
||||||
|
|
||||||
|
NOTE: Done (4a/4b/4c). 4a: the file/process leaves grew in
|
||||||
|
`runtime.syscall.freebsd` with the FreeBSD ino64 syscall numbers and the
|
||||||
|
carry-flag -> -errno translation. 4b: `getrandom` + an `mremap`-failure stub
|
||||||
|
(the allocator already falls back to alloc-copy-free), and
|
||||||
|
`runtime.libc2.freebsd` (atexit/exit/abort/date-math/mkstemp/system) — with
|
||||||
|
`memcpy/memset/memcmp/strlen` and the x86-64 `jmp_buf` reused unchanged as
|
||||||
|
target-invariant. 4c: `thr_new`/`_umtx_op`/`thr_exit`/`sysarch` leaves, the
|
||||||
|
FreeBSD `%fs`-base TLS setup in `runtime.start.static.freebsd`, and the new
|
||||||
|
`runtime.thread.static.freebsd` (pthread_* on thr_new + _umtx_op). All units
|
||||||
|
are standalone (nothing in the Linux build graph uses them), so the Linux
|
||||||
|
self-host is untouched; verified via the four fixpoints, the full suite, and the
|
||||||
|
`cp.test.linker` FreeBSD fixtures. End-to-end execution under emulation is
|
||||||
|
Step 8.
|
||||||
|
|
||||||
* Provide a FreeBSD syscall trampoline as inline-assembly Pascal stubs (the RTL
|
* Provide a FreeBSD syscall trampoline as inline-assembly Pascal stubs (the RTL
|
||||||
is now pure Pascal with `asm … end` bodies — there are no `.s` files; this
|
is now pure Pascal with `asm … end` bodies — there are no `.s` files; this
|
||||||
mirrors the Linux direct-syscall leaf `runtime.syscall.linux.pas` already
|
mirrors the Linux direct-syscall leaf `runtime.syscall.linux.pas` already
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue