feat(debug): elisp host emits a .symtab — elisp-built binaries are gdb-debuggableVerified

The elisp host (elisp/elf.lisp) emitted a minimal ELF (ehdr + phdrs, no
sections), so the elisp-built stage1 / funcl-cold-stage1 were stripped —
gdb showed "??" for every function, blocking diagnosis of the parked
segfaults (collapse alt-3, conditions tree-shake bug, LOOP finally escape).
Wired a MINIMUM debug section set into wrap-code-as-elf-with-heap:
.symtab + .strtab + .shstrtab + a 5-entry section-header table (reusing
dwarf.lisp's emit-symtab/emit-strtab/ag-dwarf-build-fn-list + elf-tiny's
emit-shdr — both loaded by the elisp host). NOT full DWARF (no .debug_*) —
just enough for gdb to name functions.

Result: stage1 now has 2147 FUNC symbols; gdb resolves names (READER-INIT
@ 0x4002c8, etc.). The PT_LOAD runtime image is unchanged (stage1 boots
identically); the fixed point (stage2==stage3) holds (156s). Symbols are
uppercase (READER-INIT) — gdb lookup is case-sensitive.

Co-Authored-By: Claude <noreply@anthropic.com>
Anthony Green2026-07-01 09:04:41 -0400 1203c37831b72785da456f573fedafd116fb2b31
Co-Authored-By: Claude <noreply@anthropic.com>