SECTIONS { . = 0x00000; /* TODO: Make sure WDOSX.DX is placed first, before .text */ textstart = .; .text ALIGN(16) : { *(.text*) } textend = .; /* We will need to manually map this. */ /* At runtime we can figure this out from mapped code segment. */ datastart = .; .rodata : { *(.rodata*) } .data : { *(.data*) } dataend = .; /* TODO: We need to manually map this, as loader is incapable of doing so with flat binary. */ bssstart = .; .bss : { *(.bss*) *(COMMON) } bssend = .; /* Will be discarded with objcopy. */ .shstrtab : { *(.shstrtab*) } /* Discard bloat and unnecessary ELF sections */ /DISCARD/ : { *(*) } }