summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/Arch/aarch64/linker.ld16
1 files changed, 15 insertions, 1 deletions
diff --git a/Kernel/Arch/aarch64/linker.ld b/Kernel/Arch/aarch64/linker.ld
index 5a78882ca9..2fc3a52885 100644
--- a/Kernel/Arch/aarch64/linker.ld
+++ b/Kernel/Arch/aarch64/linker.ld
@@ -1,11 +1,13 @@
ENTRY(start)
+/* TODO: Add FLAGS to the program headers */
PHDRS
{
text PT_LOAD ;
data PT_LOAD ;
bss PT_LOAD ;
- ksyms PT_LOAD FLAGS(PF_R) ;
+ super_pages PT_LOAD ;
+ ksyms PT_LOAD ;
}
SECTIONS
@@ -20,6 +22,10 @@ SECTIONS
.rodata ALIGN(4K) : AT (ADDR(.rodata))
{
+ start_ctors = .;
+ *(.init_array)
+ end_ctors = .;
+
*(.rodata*)
} :data
@@ -33,8 +39,16 @@ SECTIONS
start_of_bss = .;
*(.bss)
end_of_bss = .;
+
+ . = ALIGN(4K);
+ *(.heap)
} :bss
+ .super_pages ALIGN(4K) (NOLOAD) : AT (ADDR(.super_pages))
+ {
+ *(.super_pages)
+ } :super_pages
+
.ksyms ALIGN(4K) : AT (ADDR(.ksyms))
{
start_of_kernel_ksyms = .;