Files
BFM-decomp/phase-ends/current/logs/T6.c2.md
T

3.0 KiB

T6.c2 log (coder) — continues T6.c1 (archived progress: logs/T6.c1.progress1.md)

Tool (tools/restruct.py + corpus copy decomp-architect/corpus/tools/P10/restruct.py)

  • 5dd14c8f77: c1's uncommitted fix landed (alias-def lookup, caller-only unit, header def scope, no-op decl skip, asm-label decl skip). make kit-corpus && make tools-health EXIT=0; restruct --selftest 109/109.
  • new fix (commit "shared-header def scope uses includers' tu_aliases"): def_bins/rb for a src/shared/ header mapped includer TUs to binaries by path only; ov_SC01_005 sources also build ov_SC01_006 (same for SC02_003/SC03_015/SC03_119/SC04_019 twins) -> 58 includer files "reaches binaries outside the definitions' — left as is" -> conflicting types. Now includers' w["tu_aliases"]. selftest 109/109; kit-corpus + tools-health EXIT=0 (.run/logs/t6c2_health2.log).

Groups (driver .run/P39/t6c2/drive.sh, units1/units2.txt; logs .run/P39/t6c2/t6c2__.log; calibrated per unit after --snapshot-baseline)

DRAWN (IDENTICAL + make check rc=0 on every touched binary, committed):

  • aF801848DC 15 (s32 (void *a0) --all-defs; 15 files) e2b6ad8c09
  • func_80181E0C 1 (--tu ov_SC05_017_jr_801808D4.c) 797c70bf77
  • aF8017E3F0 ov_SC06_018 3 (void (s32 *param_1) --tu def) ad9c154327; aF8017E3F0 ov_SC03_011 1 (void (s32 param_1) --tu def) 7e55b9e83a
  • func_801851DC 1, func_8018A224 1: unaliased by hand (a84c8f1e8c): ov_SC03_002_jr_8018431C.c asm-label proto deleted, def renamed func_801851DC (TU decl s32 (void *a0) already agrees); ov_SC03_014_jr_801848E4.c same + decl (param_1) -> (void *param_1). make check ov_SC03_002 rc=0, ov_SC03_014 rc=0. One-line P39 note appended to each alias comment. LEDGERED (config/lying_exceptions.tsv, 4 rows):
  • func_8012BD14 narrow 6 + K&R-empty 1: s32 F(s32 a0) --all-defs -> COMPILE-ERROR too few arguments ov_SC04_015_jr_8017AE2C.c:4566 v0 = func_8012BD14(); (zero-arg callers using the value; c1: void F(s32) -> void value not ignored).
  • func_8012CBF4 narrow 3: same, ov_SC03_111_jr_8017EC58.c:5422 (after the def-scope fix; before it: conflicting types ov_SC01_005_jr_8012ACE0.c:1409).
  • func_80014CF8 K&R-empty 1: c1 run DIFFERS build/src/ov_MAIN_012/ov_MAIN_012_jr_801458E0.o (.run/P39/t6c1/t6c1_func_80014CF8.log).

Totals over T6 (25 groups): drawn 22 groups (c1 16 + c2 6; c2 drew 21 sites); ledgered 3 groups / 11 sites (4 tsv rows: func_8012BD14 counts as 2 kinds).

Checks

  • type_census --check-casts --residue --quiet -> uncovered 0, unbacked 0, lying=11 (ledgered 11), rc 0.
  • type_census --check-structs --quiet -> conflicting_types=0, rc 0.
  • R22 make clean && make extract-all JOBS=16 && make check-all JOBS=16 -> check-all: 218 passed, 0 failed of 218, EXIT=0 (.run/logs/t6c2_r22.log).

Gotchas

  • harness: until ! pgrep -f "make tools-health" matches its own shell (the literal is in its command line) and never exits; poll the run.sh log for EXIT= instead.
  • workflow: the driver force-adds the restruct ledger after failed units too; the next commit_task carries those rows.