selfhost/cmd/w6l: strip *arena cascade (γ-4)

amalloc has 0 callers post-γ-2; the *arena threaded through w6l's
mklnk/resolvelib/cstrtostr/elfglobals/dcstrtostr and the lnk.a
field are vestigial.

Drop `import mem;` from sym/main/obj/dyn/dynout, remove lnk.a
struct field, strip *arena from the five signatures, update 13
call sites. Drop a dead `let a: *arena = l.a;` in dynout. Comments
at pass.ww/obj.ww/main.ww retidied to match post-strip reality.
main.combined.ww auto-regenerated.

Verified 132/132 incl. 992_w6l_ww + 996_dyn_ww + 995_self_rebuild
byte-identity.
This commit is contained in:
2026-05-21 12:00:46 +09:00
parent 12e0b4057f
commit 6faf00223e
7 changed files with 48 additions and 158 deletions

View File

@@ -21,7 +21,7 @@ def R_X86_64_PC32: i32 = 2;
def R_X86_64_PLT32: i32 = 4;
export fn resolve(l: *lnk) i32 = {
// Initialise dynamic-linking sentinels. amalloc zeroes, so
// Initialise dynamic-linking sentinels. alloc(T{})! zeroes, so
// isdyn/dynlib start clean — but pltidx and dynsymidx
// must be -1, not 0.
let si: *lsym = l.syms;