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

@@ -26,7 +26,6 @@ package w6l;
import os;
import rt;
import mem;
import sym;
// ELF constants
@@ -170,7 +169,6 @@ export fn emitdynelf(l: *lnk, fd: i32, base: u64, entry: u64) i32 = {
// Placed after .dynamic so the segment is one contiguous run;
// relocate runs from here so the dyn layout's datava lands in
// patched offsets.
let a: *arena = l.a;
let n: i32 = l.dynn;
let nu: u64 = n: u64;