Blame


1 a1cd4b7f 2024-10-03 benni ENTRY(_start)
2 a1cd4b7f 2024-10-03 benni OUTPUT_ARCH(i386:i386)
3 a1cd4b7f 2024-10-03 benni OUTPUT_FORMAT(elf32-i386) /* pretend that we are a i386 */
4 a1cd4b7f 2024-10-03 benni
5 a1cd4b7f 2024-10-03 benni MEMORY {
6 a1cd4b7f 2024-10-03 benni BOOTSECT : ORIGIN = 0x7C00, LENGTH = 512
7 a1cd4b7f 2024-10-03 benni ROM : ORIGIN = 0x7E00, LENGTH = 4096
8 a1cd4b7f 2024-10-03 benni RAM : ORIGIN = 0, LENGTH = 4096
9 a1cd4b7f 2024-10-03 benni }
10 a1cd4b7f 2024-10-03 benni
11 a1cd4b7f 2024-10-03 benni SECTIONS {
12 a1cd4b7f 2024-10-03 benni .boot : {
13 a1cd4b7f 2024-10-03 benni *(.boot)
14 a1cd4b7f 2024-10-03 benni } > BOOTSECT
15 a1cd4b7f 2024-10-03 benni
16 a1cd4b7f 2024-10-03 benni .kernel : {
17 a1cd4b7f 2024-10-03 benni *(.text)
18 a1cd4b7f 2024-10-03 benni *(.rodata)
19 a1cd4b7f 2024-10-03 benni *(.data)
20 a1cd4b7f 2024-10-03 benni *(.bss)
21 a1cd4b7f 2024-10-03 benni } > RAM AT> ROM
22 a1cd4b7f 2024-10-03 benni /* this will cause the kernel to be directly after the loader on floppy,
23 a1cd4b7f 2024-10-03 benni * while starting at 0x1000:0 in memory.*/
24 a1cd4b7f 2024-10-03 benni
25 a1cd4b7f 2024-10-03 benni /DISCARD/ : {
26 a1cd4b7f 2024-10-03 benni *(.dynamic)
27 a1cd4b7f 2024-10-03 benni *(.gnu.hash)
28 a1cd4b7f 2024-10-03 benni *(.dynsym)
29 a1cd4b7f 2024-10-03 benni *(.dynstr)
30 a1cd4b7f 2024-10-03 benni *(.hash)
31 a1cd4b7f 2024-10-03 benni *(.comment)
32 a1cd4b7f 2024-10-03 benni }
33 a1cd4b7f 2024-10-03 benni }
34 a1cd4b7f 2024-10-03 benni