we were at ~12kb machine code for the C side of the forth system at
one point. and after that, I think only drivers were added.
I did a quick test and disabled the drivers and filesystems, now we are at
72K:
obj-sparc32/openbios-plain.elf: file format elf32-sparc
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000f578 ffd00000 ffd00000 00004000 2**14
CONTENTS, ALLOC, LOAD, CODE
1 .rodata 0000179c ffd10000 ffd10000 00014000 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .data 000000b0 ffd12000 ffd12000 00016000 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .bss 0006b000 ffd13000 ffd13000 00017000 2**3
ALLOC
Text and rodata can be merged and data segment can be set up manually. The
interrupt vector table has alignment restriction of 16K which adds a lot of
NOPs now, but most of that can be saved. So I think we are pretty close to
64K.