diff --git a/docs/fabric/FABRIC-3.md b/docs/fabric/FABRIC-3.md index fb54ce0f..e4b89a52 100644 --- a/docs/fabric/FABRIC-3.md +++ b/docs/fabric/FABRIC-3.md @@ -6459,3 +6459,33 @@ Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 G copyright line), and the capsules (`.4th`, `.f18`) and proofs (`.thy`) left for a ruling of their own. 253 files given it (3bd81097); `tools/kconfig/` keeps its own GPL-2.0, `docs/working/` and the generated `v4/system/post_cases.c` are not touched. Comments only: three ISAs build, test-32 clean. + +### 16. #92, Task 4: `MINT-ZUSE` -- the real Zuse on a second stick (2026-11-10) + +Plan `2026-10-29-stick-5`, Task 4; `STICK.md` 6a. Worked in small increments, each committed and +pushed with the plan's Progress section brought up to date (Captain Bob: "work in small increments +and memorize frequently so we can pick up where we left off"). + +- **Built:** a GPT writer of a new disk, `gpt_write_one()` (the old MBR zeroed first, the protective + MBR written last, so a torn write leaves no table); a stick offered to a waiting mint, not attached + or refused (`sk_v4_identity_offer_wait()`), and the last stick turned away kept as a spare that the + next mint offers first; `sk_v4_mint.c` -- the plug-in line, the stick's size, nothing written + until `YES`, then the GPT, the partition's first devblocks zeroed, a fresh Zuse minted and read + back, and only then the marker's real key; `MINT-ZUSE`, request 2 of the lone node's words + (`word_count` 317 -> 318, `dict_hash 0x8c92508f748f99cf` on the three); the real Zuse's stick + recognised against the marker's real key, attached at the chain's tail, her session -- one + already running moves to her; her stick arriving before the system stick is remembered and + checked once the marker is read. The installed key is the logged-in Zuse's, set at each login. +- **Tested first, seen to fail:** `mint_zuse` -- "UNKNOWN WORD: 'MINT-ZUSE'". After: `mint_zuse` on + the three ISAs (the size line, `YES`, minted, her stick recognised, the prompt, `sfdisk --verify` + clean on the new stick); `mint_zuse_refuse` (the stick's bytes unchanged, offered again); + `mint_small`; `mint_zuse_used` (the pair's Zuse stick rewritten, the new Zuse recognised -- Review + Focus 2); `mint_pull_system` (stopped, nothing written, the proxy back on replug -- Review Focus + 3); `zuse_stick_first` (her stick on the lower port at boot -- Review Focus 1). `gpt_write_one` + checked on the host first, against blank and used images. Regressions pass: `genesis`, + `two_sticks`, `hotplug`, `midpull`, `typeahead`. +- **Accepted:** 538/538 and `POST: PASSED` on the three and the stick loaded high; `dict_hash + 0x8c92508f748f99cf` on the three; test-32 0 failures. +- **Left for Task 5:** the fixed screen (with a real Zuse, the system stick alone gives no prompt), + its R, the old stick refused after a replacement, `mint_fail` (Review Focus 4), and pulling the + system stick while hers is in (her stick, the chain's tail, must go first). diff --git a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md index e14b208a..9d7c4458 100644 --- a/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md +++ b/docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md @@ -274,7 +274,7 @@ on port 2 and no other drive: a first boot every time, the proxy minted, the pro - **Pulling the real Zuse stick:** her session ends as today's line says; with Task 5, the fixed screen. -- [ ] **Step 1: Failing tests** (amd64 unless said; a blank 600 MiB sparse stick image in the session +- [x] **Step 1: Failing tests** (amd64 unless said; a blank 600 MiB sparse stick image in the session directory; `--make "DATASTICK_IMG=/data.img DATASTICK_DEP="` where two boots share one copy): - **`mint_zuse`** (three ISAs): fresh data stick, prompt; type `MINT-ZUSE`; the plug-in line; @@ -291,11 +291,11 @@ on port 2 and no other drive: a first boot every time, the proxy minted, the pro Zuse stick on port 1 and the data stick on port 2: she is logged in (`identity confirmed` once, the prompt). - **`mint_small`:** a 32 MiB stick offered: `under 64 MiB`, nothing written, the prompt. -- [ ] **Step 2:** Run each: FAIL as listed. -- [ ] **Step 3:** Implement. -- [ ] **Step 4:** They pass; regression: `genesis`, `two_sticks` (a blank data stick on port 2 is +- [x] **Step 2:** Run each: FAIL as listed. +- [x] **Step 3:** Implement. +- [x] **Step 4:** They pass; regression: `genesis`, `two_sticks` (a blank data stick on port 2 is still not used when no mint waits), `hotplug`, `midpull`, `typeahead`. -- [ ] **Step 5:** Suite; full acceptance (`word_count=318`, the new `dict_hash`, equal on three); +- [x] **Step 5:** Suite; full acceptance (`word_count=318`, the new `dict_hash`, equal on three); commit `feat(kernel): MINT-ZUSE -- the real Zuse minted onto a second stick, read back before the marker names her` with the logs. @@ -358,8 +358,10 @@ Tasks 1-3 accepted and merged (#159, master 594d2f93); #155 merged with them. - [x] 4.5 `sk_v4_mint.c`: the flow -- plug-in line, size line, `YES`, GPT, zeroed, minted, read back, marker. Builds on three ISAs; not yet called. The gate gained a **spare**: the last stick turned away as not this system's (or handed back by a refused mint) is offered first by the next mint (for `mint_zuse_refuse`: "a second `MINT-ZUSE` is offered again"); and accessors `sk_v4_identity_stick_in/offered_present/release_offered/marker/set_marker`. - [x] 4.6 `MINT-ZUSE` in `sk_v4_words[]` (request 2): word_count 317 -> 318. `mint_zuse` PASSES on amd64 (logs/20261108-181556): the size line, YES, "real Zuse minted", the prompt, 7 ok, the new stick one clean identity partition. (Her session is still the proxy's: recognising the real Zuse stick is 4.7.) - [x] 4.7 the real Zuse stick recognised and attached after the system stick; her session (`sk_v4_real_zuse_arrived()`: identity partition, no Artemis, checked against the marker's real key; attached at the chain's tail; a session already running moves to her; arriving before the system stick, remembered in `g_pending_real` and checked once the marker is read; the installed key now set at every login). Builds on three ISAs; `mint_zuse` checks "identity confirmed" after the minted line: PASS on amd64 (logs/20261110-043807). Not yet handled: pulling the system stick while hers is in (her stick is the chain's tail, so it must go first -- Task 5's `system_pull_real`). -- [~] 4.8 `mint_zuse` passes on amd64 (4.7); the other sessions written (`mint_zuse_refuse`, `mint_small`, `mint_zuse_used`, `mint_pull_system`, `zuse_stick_first`; the data stick's QEMU device now `id=datadev`, so it can be pulled) -- all five PASS on amd64 (logs/20261110-0441* .. 0449*). Left for 4.8: `mint_zuse` on aarch64 and riscv64; the regressions (`genesis`, `two_sticks`, `hotplug`, `midpull`, `typeahead`). Then the other tests: `mint_zuse_refuse`, `mint_pull_system`, `zuse_stick_first`, `mint_small`, the pair's stick offered -- [ ] 4.9 regressions, full acceptance on three ISAs (new dict_hash, equal), FABRIC entry, commit +- [x] 4.8 `mint_zuse` passes on amd64 (4.7); the other sessions written (`mint_zuse_refuse`, `mint_small`, `mint_zuse_used`, `mint_pull_system`, `zuse_stick_first`; the data stick's QEMU device now `id=datadev`, so it can be pulled) -- all five PASS on amd64 (logs/20261110-0441* .. 0449*). Left for 4.8: `mint_zuse` on aarch64 and riscv64; the regressions (`genesis`, `two_sticks`, `hotplug`, `midpull`, `typeahead`). Then the other tests: `mint_zuse_refuse`, `mint_pull_system`, `zuse_stick_first`, `mint_small`, the pair's stick offered +- [x] 4.9 regressions, full acceptance on three ISAs: 538/538, word_count=318, dict_hash 0x8c92508f748f99cf on the three, the stick high, test-32 0 failures; FABRIC-3 XLVIII.16. **Task 4 accepted.** + +**Next: Task 5** -- the fixed screen, R, the old stick refused, `mint_fail`, the system stick pulled while hers is in. Working notes: the boot's own words are `sk_v4_words[]` in `kernel/src/v4/sk_v4.c`, served by `sk_v4_serve(node, request)` with request = index + 1 (`BYE` is 1). Sticks are added in the harness diff --git a/logs/20261110-051726/verdicts/accept-aarch64.txt b/logs/20261110-051726/verdicts/accept-aarch64.txt new file mode 100644 index 00000000..81fd51cd --- /dev/null +++ b/logs/20261110-051726/verdicts/accept-aarch64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 012e3c03; accept aarch64 +LOG: logs/20261110-051318/aarch64/qemu-aarch64-20261110-051318.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: genesis minted onto attached thumbdrive (a fresh data stick) +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261110-051726/verdicts/accept-amd64.txt b/logs/20261110-051726/verdicts/accept-amd64.txt new file mode 100644 index 00000000..1732c1ef --- /dev/null +++ b/logs/20261110-051726/verdicts/accept-amd64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 012e3c03; accept amd64 +LOG: logs/20261110-051147/amd64/qemu-amd64-20261110-051147.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: genesis minted onto attached thumbdrive (a fresh data stick) +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261110-051726/verdicts/accept-riscv64.txt b/logs/20261110-051726/verdicts/accept-riscv64.txt new file mode 100644 index 00000000..a1bc2d4a --- /dev/null +++ b/logs/20261110-051726/verdicts/accept-riscv64.txt @@ -0,0 +1,8 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 012e3c03; accept riscv64 +LOG: logs/20261110-051609/riscv64/qemu-riscv64-20261110-051609.log +PASS: POST: PASSED +PASS: Boot disk: not a StarshipOS stick (an ISO or ESP boot) +PASS: Zuse: genesis minted onto attached thumbdrive (a fresh data stick) +PASS: [zuse@Hera] ok> +PASS: 7 ok, and a prompt +RESULT: PASS diff --git a/logs/20261110-051726/verdicts/accept-stick-high.txt b/logs/20261110-051726/verdicts/accept-stick-high.txt new file mode 100644 index 00000000..2524e9ed --- /dev/null +++ b/logs/20261110-051726/verdicts/accept-stick-high.txt @@ -0,0 +1,11 @@ +=== nightly: org.starship:kernelImage:4.0.0-alpha.3-SNAPSHOT from 012e3c03; accept stick-high +LOG: logs/20261110-051726/amd64/qemu-amd64-20261110-051726.log +PASS: POST: PASSED +PASS: Boot disk: a StarshipOS stick +PASS: Zuse: genesis minted onto attached thumbdrive +PASS: [zuse@Hera] ok> +PASS: no identity confirmed on a first boot +PASS: 7 ok +PASS: no fault +RESULT: PASS +=== nightly: dict_hash on the three: 0x8c92508f748f99cf diff --git a/logs/20261110-051726/verdicts/summary.txt b/logs/20261110-051726/verdicts/summary.txt new file mode 100644 index 00000000..bd54fc7c --- /dev/null +++ b/logs/20261110-051726/verdicts/summary.txt @@ -0,0 +1,11 @@ +RESULT: PASS mint_zuse-aarch64 LOG: logs/20261110-045354/aarch64/qemu-aarch64-20261110-045354.log +RESULT: PASS mint_zuse-riscv64 LOG: logs/20261110-045744/riscv64/qemu-riscv64-20261110-045744.log +RESULT: PASS genesis LOG: logs/20261110-045950/amd64/qemu-amd64-20261110-045950.log LOG: logs/20261110-050112/amd64/qemu-amd64-20261110-050112.log +RESULT: PASS two_sticks LOG: logs/20261110-050308/amd64/qemu-amd64-20261110-050308.log +RESULT: PASS hotplug LOG: logs/20261110-050504/amd64/qemu-amd64-20261110-050504.log +RESULT: PASS midpull LOG: logs/20261110-050750/amd64/qemu-amd64-20261110-050750.log +RESULT: PASS typeahead LOG: logs/20261110-050946/amd64/qemu-amd64-20261110-050946.log +accept amd64: exit 0 RESULT: PASS LOG: logs/20261110-051147/amd64/qemu-amd64-20261110-051147.log +accept aarch64: exit 0 RESULT: PASS LOG: logs/20261110-051318/aarch64/qemu-aarch64-20261110-051318.log +accept riscv64: exit 0 RESULT: PASS LOG: logs/20261110-051609/riscv64/qemu-riscv64-20261110-051609.log +accept stick-high: exit 0 RESULT: PASS LOG: logs/20261110-051726/amd64/qemu-amd64-20261110-051726.log === nightly: dict_hash on the three: 0x8c92508f748f99cf diff --git a/logs/20261110-051726/verdicts/test-32.txt b/logs/20261110-051726/verdicts/test-32.txt new file mode 100644 index 00000000..0d153422 --- /dev/null +++ b/logs/20261110-051726/verdicts/test-32.txt @@ -0,0 +1,276 @@ + [V4_CELL_BITS=32 run-32-test_asm.c] +v4 asm tests: V4_CELL_BITS=32 + 32 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_cells.c] +v4 single-cell word tests: V4_CELL_BITS=32 + code: 99 of 1024 words + NIP headroom: data 7 below canary, return 7 below its return address + SWAP headroom: data 6 below canary, return 6 below its return address + ROT headroom: data 5 below canary, return 4 below its return address + -ROT headroom: data 5 below canary, return 5 below its return address + ?DUP headroom: data 7 below canary, return 8 below its return address + +! headroom: data 7 below canary, return 8 below its return address + -! headroom: data 7 below canary, return 8 below its return address + 2@ headroom: data 7 below canary, return 8 below its return address + 2! headroom: data 6 below canary, return 6 below its return address + - headroom: data 6 below canary, return 8 below its return address + MIN headroom: data 3 below canary, return 6 below its return address + MAX headroom: data 3 below canary, return 6 below its return address + OR headroom: data 6 below canary, return 8 below its return address + 0> headroom: data 8 below canary, return 8 below its return address + <> headroom: data 7 below canary, return 8 below its return address + < headroom: data 5 below canary, return 7 below its return address + > headroom: data 5 below canary, return 6 below its return address + <= headroom: data 5 below canary, return 6 below its return address + >= headroom: data 5 below canary, return 6 below its return address + U< headroom: data 5 below canary, return 7 below its return address + WITHIN headroom: data 3 below canary, return 5 below its return address + 21420 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_console.c] +v4 console tests: V4_CELL_BITS=32, capture 4096 characters + 312 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_exec.c] +v4 exec tests: V4_CELL_BITS=32 + 3099 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_fabric.c] +v4 fabric tests: V4_CELL_BITS=32, 8 ports to a node + 334 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_foundation.c] +v4 foundation tests: V4_CELL_BITS=32 + code: 958 of 1024 words + Q.+ random cases that overflow Q48.16: 2682 of 20000 + Q.> as written (SWAP D<): 11702 wrong of 20169 + (UQ/) cases run: 8687 + UM* headroom: data 5 below canary, return 6 below its return address + UM/MOD headroom: data 5 below canary, return 6 below its return address + ABS headroom: data 7 below canary, return 7 below its return address + U> headroom: data 5 below canary, return 5 below its return address + D+ headroom: data 5 below canary, return 5 below its return address + DNEGATE headroom: data 6 below canary, return 7 below its return address + DABS headroom: data 6 below canary, return 6 below its return address + M+ headroom: data 5 below canary, return 4 below its return address + M- headroom: data 4 below canary, return 5 below its return address + M* headroom: data 5 below canary, return 4 below its return address + M/MOD headroom: data 4 below canary, return 3 below its return address + MOD headroom: data 4 below canary, return 2 below its return address + */MOD headroom: data 4 below canary, return 2 below its return address + */ headroom: data 4 below canary, return 2 below its return address + D0< headroom: data 7 below canary, return 7 below its return address + D2* headroom: data 6 below canary, return 7 below its return address + D2/ headroom: data 7 below canary, return 7 below its return address + 2ROT headroom: data 2 below canary, return 1 below its return address + D- headroom: data 4 below canary, return 4 below its return address + D0= headroom: data 6 below canary, return 7 below its return address + D= headroom: data 4 below canary, return 3 below its return address + < headroom: data 5 below canary, return 7 below its return address + = headroom: data 7 below canary, return 7 below its return address + D< headroom: data 3 below canary, return 3 below its return address + (D<) headroom: data 2 below canary, return 5 below its return address + 2SWAP headroom: data 4 below canary, return 4 below its return address + 2OVER headroom: data 2 below canary, return 3 below its return address + DMAX headroom: data 2 below canary, return 4 below its return address + DMIN headroom: data 2 below canary, return 4 below its return address + Q.> (2SWAP D<) headroom: data 3 below canary, return 2 below its return address + Q.* headroom: data 2 below canary, return 3 below its return address + (UQ/) headroom: data 3 below canary, return 4 below its return address + Q./ headroom: data 2 below canary, return 3 below its return address + Q.EXP headroom: data 2 below canary, return 2 below its return address + Q.SQRT headroom: data 2 below canary, return 2 below its return address + Q.LOG headroom: data 2 below canary, return 2 below its return address + (Q.REDUCE) headroom: data 4 below canary, return 5 below its return address + Q.SIN headroom: data 2 below canary, return 2 below its return address + Q.COS headroom: data 2 below canary, return 2 below its return address + LSHIFT headroom: data 6 below canary, return 5 below its return address + RSHIFT headroom: data 6 below canary, return 5 below its return address + C@ headroom: data 7 below canary, return 7 below its return address + C! headroom: data 6 below canary, return 7 below its return address + SM/REM headroom: data 4 below canary, return 3 below its return address + /MOD headroom: data 4 below canary, return 2 below its return address + / headroom: data 4 below canary, return 2 below its return address + * headroom: data 5 below canary, return 5 below its return address + 1023754 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_guard.c] +v4 guard tests: V4_CELL_BITS=32, data bound 1, return bound 1 + 60 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_heat.c] +v4 heat tests: V4_CELL_BITS=32 + 8272 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_blocks.c] +v4 block request tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 46 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_codegen.c] +v4 host code generator tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1584 words + 856 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_compile.c] +v4 host compiler tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 4245 words + a line may have 27 values on the stack while the interpreter reads its next word + a word run from the interpreter has 29 return entries to itself + defining and running a word leaves 25 data cells under it untouched + 1088 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_depth.c] +v4 mesh depth tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + a text that prints 20..32 values: works to 28, then a stack error and nothing else; calls: works to 23 deep; 19 worked, 14 clean errors, 0 failures + SEND 20..32 values: works to 26, then a stack error and nothing else; calls: works to 26 deep; 20 worked, 13 clean errors, 0 failures + SEND with no way 20..32 values: works to 26, then a stack error and nothing else; calls: works to 27 deep; 21 worked, 12 clean errors, 0 failures + AWAIT answered 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + AWAIT ended by a GONE 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + passing on while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + AWAIT broken by a line from the console 20..32 values: works to 26, then a stack error and nothing else; calls: works to 24 deep; 18 worked, 15 clean errors, 0 failures + a refusal while its text waits for room 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + GONE 20..32 values: works to 27, then a stack error and nothing else; calls: works to 26 deep; 21 worked, 12 clean errors, 0 failures + a spent message refused while its text waits 20..32 values: works to 26, then a stack error and nothing else; calls: works to 17 deep; 11 worked, 22 clean errors, 0 failures + 330 runs: 168 worked, 162 ended in a stack error and nothing else, 0 did neither + 397 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_dict.c] +v4 host dictionary tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1486 words + 300 entries in 1918 cells + FIND headroom: data 28 below canary, return 28 below its return address + (') headroom: data 28 below canary, return 28 below its return address + MAKE headroom: data 28 below canary, return 28 below its return address + , headroom: data 28 below canary, return 31 below its return address + ALLOT headroom: data 28 below canary, return 30 below its return address + 708 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_input.c] +v4 host input tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + code: 1078 words + WORD headroom: data 28 below canary, return 29 below its return address + NUMBER headroom: data 24 below canary, return 25 below its return address + EXPECT headroom: data 28 below canary, return 30 below its return address + ENCLOSE headroom: data 25 below canary, return 28 below its return address + 6569 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_mesh.c] +v4 mesh tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + the flood: 266 sends tried: 2 refused at once, 120 let go on the way, 144 done; 1 of the two texts that set a node sending let go; (LOST) 121, (REFUSED) 123 + between texts the nucleus used at most 3 cells of the data stack and 4 entries of the return stack + a node removed or a wire cut: 19950 times in all + 244 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_host_node.c] +v4 host node tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + 45 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_quit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_quit.c + [V4_CELL_BITS=32 run-32-test_host_quit.c] +v4 host prompt tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + capsule: 6876 words + from the prompt, words may call each other 31 deep + 28 values may wait on the stack while the next line is typed and interpreted + defining and running a word from the prompt leaves 25 data cells under it untouched + .S prints a stack of up to 26 values; it needs 6 cells free + WORDS: 314 names, longest line 75 columns + 1330 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_asm.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_asm.c + [V4_CELL_BITS=32 run-32-test_host_rom_asm.c] +test_host_rom_asm: 466 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_in.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_in.c + [V4_CELL_BITS=32 run-32-test_host_rom_in.c] +test_host_rom_in: 26 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_math.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_math.c + [V4_CELL_BITS=32 run-32-test_host_rom_math.c] +v4 ROM math tests: V4_CELL_BITS=32 + the host ROM: 2372 words; the mesh ROM: 277 words + 156 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_nucleus.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_nucleus.c + [V4_CELL_BITS=32 run-32-test_host_rom_nucleus.c] + the ROM assembled the system: 59135636 instructions, 15451336 instruction words, 0.97 s (32-bit cells) +test_host_rom_nucleus: 6 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_num.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_num.c + [V4_CELL_BITS=32 run-32-test_host_rom_num.c] +test_host_rom_num: 31 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_pack.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_pack.c + [V4_CELL_BITS=32 run-32-test_host_rom_pack.c] +test_host_rom_pack: 7 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_range.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_range.c + [V4_CELL_BITS=32 run-32-test_host_rom_range.c] +test_host_rom_range: 19 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_rom_sym.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_rom_sym.c + [V4_CELL_BITS=32 run-32-test_host_rom_sym.c] +test_host_rom_sym: 81 checks, 0 failures +cc -std=c99 -Wall -Wextra -Wpedantic -Werror -O2 -g -I/home/user/LithosAnanake/v4/include -isystem /home/user/LithosAnanake/v3/include -isystem /home/user/LithosAnanake/kernel/include -DV4_CELL_BITS=32 -DV4_NODE_WORDS=16384 -DV4_DATA_RING=30 -DV4_RET_RING=31 -DV4_ROM_WORDS=4096 -DV4_CAPSULE_DIR='"/home/user/LithosAnanake/v4/capsule"' -DV4_SYS_DIR='"/home/user/LithosAnanake/capsules/v4/sys"' -DV4_ROM_LINKED -DV4_ROM_SYM='"/home/user/LithosAnanake/v4/build/rom-32.sym"' -DV4_MESH_ROM_SYM='"/home/user/LithosAnanake/v4/build/mesh-rom-32.sym"' /home/user/LithosAnanake/v4/tests/test_host_unit.c /home/user/LithosAnanake/v4/src/asm.c /home/user/LithosAnanake/v4/src/capsule.c /home/user/LithosAnanake/v4/src/exec.c /home/user/LithosAnanake/v4/src/fabric.c /home/user/LithosAnanake/v4/src/guard.c /home/user/LithosAnanake/v4/src/heat.c /home/user/LithosAnanake/v4/src/image.c /home/user/LithosAnanake/v4/src/iword.c /home/user/LithosAnanake/v4/src/manage.c /home/user/LithosAnanake/v4/src/message.c /home/user/LithosAnanake/v4/src/node.c /home/user/LithosAnanake/v4/src/stack.c /home/user/LithosAnanake/v4/src/testcode.c /home/user/LithosAnanake/v4/src/text.c /home/user/LithosAnanake/v4/src/umul.c /home/user/LithosAnanake/v4/src/wire.c /home/user/LithosAnanake/v4/system/blocks.c /home/user/LithosAnanake/v4/system/post.c /home/user/LithosAnanake/v4/system/post_cases.c /home/user/LithosAnanake/v4/build/v3blocks.o /home/user/LithosAnanake/v4/build/rom-32.c /home/user/LithosAnanake/v4/build/mesh-rom-32.c -o /home/user/LithosAnanake/v4/build/32-test_host_unit.c + [V4_CELL_BITS=32 run-32-test_host_unit.c] +v4 unit tests: V4_CELL_BITS=32, V4_NODE_WORDS=16384 + not run at this width: the capsules are the 64-bit products' + [V4_CELL_BITS=32 run-32-test_iword.c] +v4 iword tests: V4_CELL_BITS=32 + 1763 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_loops.c] +v4 loop tests: V4_CELL_BITS=32 + code: 298 of 1024 words + loops run against C: 3008 (1696 more would run past 63 times and were left out) + DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. +LOOP headroom: data 5 below canary, return 6 below its return address + ?DO .. LOOP headroom: data 5 below canary, return 6 below its return address + DO .. LEAVE .. LOOP headroom: data 5 below canary, return 6 below its return address + nested DO, I and J headroom: data 5 below canary, return 4 below its return address + 3104 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_manage.c] +v4 manage tests: V4_CELL_BITS=32 + 52 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_node.c] +v4 node tests: V4_CELL_BITS=32, 1024 words + node: 1024 words + 52 head + 52 tail boundary (10.2% overhead) + 1068 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_numout.c] +v4 number-output tests: V4_CELL_BITS=32 + code: 382 of 1024 words + SPACES headroom: data 6 below canary, return 7 below its return address + . headroom: data 3 below canary, return 2 below its return address + .R headroom: data 3 below canary, return 2 below its return address + U. headroom: data 3 below canary, return 3 below its return address + U.R headroom: data 3 below canary, return 3 below its return address + D. headroom: data 3 below canary, return 2 below its return address + D.R headroom: data 3 below canary, return 2 below its return address + 25242 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_pictured.c] +v4 pictured-output tests: V4_CELL_BITS=32 + <# #S #> headroom: data 3 below canary, return 3 below its return address + signed picture headroom: data 3 below canary, return 2 below its return address + 4716 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_port.c] +v4 port tests: V4_CELL_BITS=32 + 25 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_printing.c] +v4 printing tests (? Q.PRINT DUMP BASE HLD): V4_CELL_BITS=32 + code: 506 of 1024 words + DECIMAL headroom: data 7 below canary, return 8 below its return address + ? headroom: data 3 below canary, return 2 below its return address + Q.PRINT headroom: data 3 below canary, return 3 below its return address + DUMP headroom: data 3 below canary, return 4 below its return address + 13439 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_stack.c] +v4 stack tests: V4_CELL_BITS=32, data depth 10, return depth 9 + exhaustive: 2046 sequences of length <= 10 + differential: 200000 ops + 730137 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_strings.c] +v4 string tests: V4_CELL_BITS=32 + code: 234 of 1024 words + COUNT headroom: data 6 below canary, return 6 below its return address + CMOVE headroom: data 4 below canary, return 5 below its return address + CMOVE> headroom: data 3 below canary, return 5 below its return address + MOVE headroom: data 5 below canary, return 6 below its return address + FILL headroom: data 4 below canary, return 5 below its return address + BLANK headroom: data 4 below canary, return 5 below its return address + -TRAILING headroom: data 5 below canary, return 6 below its return address + COMPARE headroom: data 3 below canary, return 5 below its return address + SEARCH headroom: data 2 below canary, return 5 below its return address + SCAN headroom: data 4 below canary, return 5 below its return address + SKIP headroom: data 4 below canary, return 5 below its return address + 16729 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_terminal.c] +v4 terminal-output tests: V4_CELL_BITS=32 + KEY headroom: data 8 below canary + EMIT headroom: data 7 below canary, return 8 below its return address + CR headroom: data 7 below canary, return 8 below its return address + TYPE headroom: data 5 below canary, return 6 below its return address + 1212 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_text.c] +v4 text assembler tests: V4_CELL_BITS=32 + 231 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_umul.c] +v4 umul tests: V4_CELL_BITS=32 + 2009 checks, 0 failures + [V4_CELL_BITS=32 run-32-test_wire.c] +v4 wire tests: V4_CELL_BITS=32, 1024 cells to a queue + 112 checks, 0 failures