diff options
Diffstat (limited to 'linker.ld')
| -rw-r--r-- | linker.ld | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/linker.ld b/linker.ld new file mode 100644 index 0000000..65d8abd --- /dev/null +++ b/linker.ld @@ -0,0 +1,45 @@ +ENTRY(_start) +OUTPUT_FORMAT("binary") + +SECTIONS { + /DISCARD/ : { + *(.comment) + *(.data) + } + + . = 0x7c00; + + .mbr 0x7c00 : AT(0x0) { + *(.mbr) + } + + .mbr_data 0x7d00 : AT(0x100) { + *(.mbr_data) + } + + . = 0x7c00 + 0x1FE; + .mbr_magic : AT(0x1FE) { + BYTE(0x55) + BYTE(0xAA) + } + + .stage1 0x7e00 : AT(0x200) { + *(.stage1) + *(.stage1_ro) + *(.rodata*) + *(.stage1.text) + *(.stage1.data) + } + + pad 0x91ff : AT(0x1600) { /* 11th block */ + BYTE(0) + } + + _stack_start = .; + + .stack 0x99ff : AT(0x1cff) { /* 15th block */ + BYTE(0) + } + + _stack_end = .; +} |
