toolchain: banner purge + WHY-only comment sweep (rule 8)
selfhost/, cmd/, internal/ join the tree-wide sweep: every section banner dies (91 selfhost + the cmd C-style dividers -> 0); narration and stale contracts deleted (pre-#22 bundler notes, retired single-PT_LOAD and no-archive claims, superseded ABI tables); every ref/harec/qbe cite, task cite, encoding/ELF contract, and rule-10 twin pointer kept; lost lifetime/rationale lines restored where the sweep over-cut (elf_globals ownership, kwtab linear-scan). Comment- only proven: all five wwstage tool binaries byte-identical across the sweep; test-commit, test-byteid (161+1399, 0 pinned-divergent), and test-bootstrap (fixed point + 991-995 byte-id) all exit 0. The read-through banked 66 latent-bug leads (checkpoint).
This commit is contained in:
@@ -1,8 +1,4 @@
|
||||
// selfhost/cmd/w6l/main.ww — port of cmd/w6l/main.c.
|
||||
//
|
||||
// w6l = amd64 linker. Reads relocatable ELF .o files, SysV `ar`
|
||||
// archives, and shared objects (ET_DYN). Resolves symbols, applies
|
||||
// relocations, writes a static or dynamic-linked ELF executable.
|
||||
// Port of cmd/w6l/main.c.
|
||||
//
|
||||
// w6l_ww -o out [-L<dir>...] [-l<name>...] file1.o file2.o ...
|
||||
|
||||
@@ -25,10 +21,6 @@ fn mklnk() *lnk = {
|
||||
return l;
|
||||
};
|
||||
|
||||
// `cstreq` lives in obj.ww — same bundle, single definition.
|
||||
|
||||
// `cstrlen` lives in obj.ww — same bundle, single definition.
|
||||
|
||||
// Build "<dir>/lib<name>.<ext>" into dst (NUL-terminated). Returns total
|
||||
// length excluding NUL. dst must be large enough.
|
||||
fn buildpath(dst: *u8, dir: *u8, name: *u8, ext: str) u64 = {
|
||||
@@ -274,8 +266,7 @@ export fn main(argc: i32, argv: **u8) i32 = {
|
||||
k += 1;
|
||||
};
|
||||
|
||||
// Then resolve -l flags and load each. Archives append; shared
|
||||
// objects register their exports.
|
||||
// Archives append; shared objects register their exports.
|
||||
let lf: i32 = 0;
|
||||
for (lf < nlflags) {
|
||||
let p: *u8 = resolvelib(lflags[lf], libdirs.ptr, nlibdirs);
|
||||
|
||||
Reference in New Issue
Block a user