summaryrefslogtreecommitdiff
path: root/kernel/linker.ld
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--kernel/linker.ld35
1 files changed, 22 insertions, 13 deletions
diff --git a/kernel/linker.ld b/kernel/linker.ld
index beb44df..541975e 100644
--- a/kernel/linker.ld
+++ b/kernel/linker.ld
@@ -1,31 +1,40 @@
ENTRY(start)
SECTIONS {
- . = 1M;
+
+ . = 0x00100000;
kernel_start = .;
+
+ .multiboot.data : {
+ *(.multiboot.data)
+ }
+
+ .multiboot.text : {
+ *(.multiboot.text)
+ }
+
+ . += 0xC0000000;
- .boot BLOCK(4K) : ALIGN(4K)
- {
- *(.multiboot)
- }
-
- .text BLOCK(4K) : ALIGN(4K)
+ .text ALIGN (4K) : AT (ADDR (.text) - 0xC0000000)
{
*(.text)
}
-
- .rodata BLOCK(4K) : ALIGN(4K)
+ .rodata ALIGN (4K) : AT (ADDR (.rodata) - 0xC0000000)
{
*(.rodata)
}
-
-
- .bss BLOCK(4K) : ALIGN(4K)
+ .data ALIGN (4K) : AT (ADDR (.data) - 0xC0000000)
{
+ *(.data)
+ }
+ .bss ALIGN (4K) : AT (ADDR (.bss) - 0xC0000000)
+ {
+ *(COMMON)
*(.bss)
+ *(.bootstrap_stack)
}
-
+
kernel_end = .;
}