summaryrefslogtreecommitdiff
path: root/linker.ld
diff options
context:
space:
mode:
author0x221E <0x221E@0xinfinity.dev>2026-06-11 20:10:31 +0200
committer0x221E <0x221E@0xinfinity.dev>2026-06-11 20:11:56 +0200
commit6d559b7e50dbab428d324b4ddaed9db7a8ced887 (patch)
treec2e807a19d2d0b6054e13a6d3ece16750796198d /linker.ld
downloadtmpbootloader-master.tar.gz
initial commitHEADmaster
Diffstat (limited to 'linker.ld')
-rw-r--r--linker.ld45
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 = .;
+}