summaryrefslogtreecommitdiff
path: root/Kernel/linker.ld
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/linker.ld')
-rw-r--r--Kernel/linker.ld16
1 files changed, 10 insertions, 6 deletions
diff --git a/Kernel/linker.ld b/Kernel/linker.ld
index 12b0756823..f00d9c2487 100644
--- a/Kernel/linker.ld
+++ b/Kernel/linker.ld
@@ -2,20 +2,21 @@ ENTRY(start)
SECTIONS
{
- . = 0x100000;
+ . = 0xc0100000;
- .text BLOCK(4K) : ALIGN(4K)
+ start_of_kernel_image = .;
+
+ .text ALIGN(4K) : AT (ADDR(.text) - 0xc0000000)
{
Arch/i386/Boot/boot.ao
*(.multiboot)
- *(.page_tables)
start_of_kernel_text = .;
*(.text)
*(.text.startup)
end_of_kernel_text = .;
}
- .rodata BLOCK(4K) : ALIGN(4K)
+ .rodata ALIGN(4K) : AT (ADDR(.rodata) - 0xc0000000)
{
start_ctors = .;
*(.ctors)
@@ -24,18 +25,21 @@ SECTIONS
*(.rodata)
}
- .data BLOCK(4K) : ALIGN(4K)
+ .data ALIGN(4K) : AT (ADDR(.data) - 0xc0000000)
{
start_of_kernel_data = .;
*(.data)
end_of_kernel_data = .;
}
- .bss BLOCK(4K) : ALIGN(4K)
+ .bss ALIGN(4K) : AT (ADDR(.bss) - 0xc0000000)
{
start_of_kernel_bss = .;
+ *(page_tables)
*(COMMON)
*(.bss)
end_of_kernel_bss = .;
}
+
+ end_of_kernel_image = .;
}