test: banner purge + WHY-only comment sweep (rule 8)
Every section banner dies (103 -> 0) across test/lang, the observer suites, the C carriers, and the five comment-heavy corpus fixtures; banner provenance (#N cites, carrier numbers, repair-cluster labels) folded into headers or adjacent WHY comments. Narration deleted; row provenance, ref cites, divergence pins, and layout contracts kept (fwd-ref decl-order guards and bootstrap-gate corpus rationale restored where the sweep over-cut). Comment-only proven: all 3742 wwbuild workdir .s byte-identical before/after; test-commit and test-byteid (161 lang + 1399 data, 0 pinned-divergent) green.
This commit is contained in:
@@ -1,18 +1,13 @@
|
||||
/*
|
||||
* 995_self_rebuild — the wwstage rebuilds itself.
|
||||
*
|
||||
* Drives ww_ww (the ww-side driver, which shells to w6c_ww/w6a_ww/w6l_ww)
|
||||
* over each wwstage tool's source and diffs the result byte-for-byte
|
||||
* against the cstage-built binary in $BIN. A green run means the
|
||||
* toolchain can recompile itself without touching cc, modulo the
|
||||
* cold-start binary — which is the v1.0 lock from PLAN.md.
|
||||
* A green run means the toolchain can recompile itself without
|
||||
* touching cc, modulo the cold-start binary — which is the v1.0 lock
|
||||
* from PLAN.md.
|
||||
*
|
||||
* This is stricter than `make bootstrap`: that loop only proves the
|
||||
* wwdump cgen self-stabilises; this proves every wwstage tool round-
|
||||
* trips through the wwstage pipeline.
|
||||
*
|
||||
* The five tool builds run concurrently: fork() per tool, parent
|
||||
* collects each pid with waitpid() and then byte-compares. Wall drops
|
||||
* The five tool builds run concurrently (fork() per tool): wall drops
|
||||
* from sum(builds) to max(builds).
|
||||
*/
|
||||
#include <stdio.h>
|
||||
@@ -84,8 +79,8 @@ struct buildjob {
|
||||
pid_t pid;
|
||||
};
|
||||
|
||||
/* Fork a child that runs the `ww_ww build` for this tool. The child
|
||||
* inherits no concurrent siblings — system() spawns a fresh /bin/sh -c.
|
||||
/* The child inherits no concurrent siblings — system() spawns a fresh
|
||||
* /bin/sh -c.
|
||||
* stderr lands in <workdir>/build.err so concurrent builds don't merge
|
||||
* their diagnostics. `-o <workdir>/main` (T3) makes the driver write its
|
||||
* intermediates (main.{s,o} and the sepwork tree) beside the output in <workdir>
|
||||
@@ -137,8 +132,6 @@ spawn_build(const char *bin, const char *cwd, struct buildjob *j)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Reap one job, byte-diff rebuilt vs canonical, replay captured stderr
|
||||
* on build failure, rm workdir. Returns 0 on byte-match, -1 otherwise. */
|
||||
static int
|
||||
collect_build(const char *bin, struct buildjob *j)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user