mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 05:56:00 -04:00
69dee1d429
T50 func_80135260 family: the §53 carve path banked 4/137 (all SC07), 133 gate-fail, tree clean after every revert. The 3,744-site conform_decls between runs changed NOTHING for this family (99 attempts observed mid-run, 0 banks) — it is byte-neutral and axis-complete so not harmful, but my inference that this family shared func_80177DA8's blocker was WRONG: same SC07-only signature, different cause. THE REAL BLOCKER, LOCATED: staged siblings are correctly remapped (family_remap works). The draft requires 4-byte POINTER decls for the contested data symbols — the canonical extern u8 + (*(u16**)&sym) form makes gcc CSE &sym into two callee-saved regs, costing a 7th saved register and 3 extra instructions (the identical +3 measured on the exemplar). And every sibling host TU carries the same FILE-SCOPE blocker the exemplar did: verified on ov_SC01_000, whose host TU declares the contested symbols at file scope (lines 3053-3056) alongside 18 block-scope occurrences. A file-scope decl constrains every later function in that TU — the T48 finding. So the fix is the T48 lever replicated x137: scope those decls into their consumers per sibling TU. Byte-neutral on the exemplar (proven in two steps). That is a TOOL, and it is worth ~18,000 ins. Also: gather_externs' warning naming func_80135D20 is a COMMENT-SCANNING FALSE POSITIVE (the symbol appears only in header prose and is defined in another split file). Fires on all 137, masks real causes. Same class as the Phase-19 garbled-hint bug. CHECKPOINT REVISED (supersedes the earlier SESSION-23 block): 975 functions banked, reconciled against the metric (fn-count 319,549 -> 320,524) with the per-task recount agreeing exactly. Fleet 85.5% instr / 76.1% distinct / 90.62% fn-count. R22 140/140 run 11x, dedup 1886/0, 0 NON_MATCHING. Ranked START-HERE (decl-scoping tool first), the four strategic changes, my five recorded errors — whose common thread is inference from partial output instead of measuring — and the carried defects.