mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
9dbae2681e
- splat: libc2 C stdlib in 2 blocks — main 16-obj run libc2_1 (BZERO/MEMCPY/STRCMP/ PRINTF/PRNT[jtbl ok]/.../SETJMP) split from 800c, + STRCAT.o libc2_2 split from 800c2; new game-code fragments 800c3 + regenerated 800c2 - region byte-verified 17/17; PRNT.o printf-format jtbl resolves via NOLOAD .rodata - BOUNDARY GOTCHA found + fixed: SETJMP.o .text is 0x80 B (8-align pad), not the 0x78 psyq_identify reports (30 ins) -> the libc2_1/800c3 boundary was 8 B too low, overlapping SETJMP's padded tail; the relink inserted +8 padding and shifted the whole downstream image (56k diff bytes, +8 file len). Fix: boundary = last obj's readelf .text size (0x5CE18), not ins-count. Lesson recorded in docs/psyq-worklist.md - when a library block sits at a subseg start, rm the old .c so splat regenerates it - dual byte-gate PASS: 143dbb89 with and without the libc2 objects - LINKED 528 -> 590; REAL still 43; byte-identical 32.25%
6 lines
134 B
C
6 lines
134 B
C
#include "common.h"
|
|
|
|
INCLUDE_ASM("asm/nonmatchings/libc2_2", func_80061E90);
|
|
|
|
INCLUDE_ASM("asm/nonmatchings/libc2_2", STRCAT_OBJ_8C);
|