63 lines
1.0 KiB
Plaintext
63 lines
1.0 KiB
Plaintext
ENTRY(_start)
|
|
|
|
KERNEL_VMA = 0xFFFFFFFF80000000;
|
|
|
|
PHDRS
|
|
{
|
|
boot PT_LOAD FLAGS(7);
|
|
text PT_LOAD FLAGS(5);
|
|
rodata PT_LOAD FLAGS(4);
|
|
data PT_LOAD FLAGS(6);
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
. = 1M;
|
|
kernelPhysStart = .;
|
|
|
|
.boot ALIGN(8) :
|
|
{
|
|
*(.multiboot)
|
|
*(.boot.text)
|
|
. = ALIGN(4096);
|
|
*(.boot.pagetables)
|
|
} :boot
|
|
|
|
. += KERNEL_VMA;
|
|
|
|
.text ALIGN(4096) : AT(ADDR(.text) - KERNEL_VMA)
|
|
{
|
|
*(.text .text.*)
|
|
} :text
|
|
|
|
.rodata ALIGN(4096) : AT(ADDR(.rodata) - KERNEL_VMA)
|
|
{
|
|
*(.rodata .rodata.*)
|
|
} :rodata
|
|
|
|
.data ALIGN(4096) : AT(ADDR(.data) - KERNEL_VMA)
|
|
{
|
|
*(.data .data.*)
|
|
} :data
|
|
|
|
.bss ALIGN(4096) : AT(ADDR(.bss) - KERNEL_VMA)
|
|
{
|
|
bssStart = .;
|
|
*(COMMON)
|
|
*(.bss .bss.*)
|
|
bssEnd = .;
|
|
} :data
|
|
|
|
. = ALIGN(4096);
|
|
kernelEnd = .;
|
|
kernelPhysEnd = . - KERNEL_VMA;
|
|
|
|
/DISCARD/ :
|
|
{
|
|
*(.comment)
|
|
*(.eh_frame)
|
|
*(.eh_frame_hdr)
|
|
*(.note .note.*)
|
|
}
|
|
}
|