Files
mango/arch/x86_64/layout.ld

96 lines
1.7 KiB
Plaintext
Raw Normal View History

ENTRY(_start)
KERNEL_LMA = 1M;
KERNEL_VMA = 0xFFFFFFFF80000000;
SECTIONS {
2023-02-05 10:50:13 +00:00
. = KERNEL_LMA;
2023-02-05 10:50:13 +00:00
.boot.text ALIGN(4K) : {
*(.boot.text)
*(.boot.rodata)
}
2023-02-05 10:50:13 +00:00
.boot.bss ALIGN(4K) : {
*(.boot.bss)
}
. += KERNEL_VMA;
2023-02-05 10:50:13 +00:00
__start = .;
__pstart = . - KERNEL_VMA;
.text ALIGN(4K) : AT(ADDR(.text) - KERNEL_VMA)
{
*(.text)
}
.data ALIGN(4K) : AT(ADDR(.data) - KERNEL_VMA)
{
_data = .;
*(.data)
}
.rodata ALIGN(4K) : AT(ADDR(.rodata) - KERNEL_VMA)
{
_rodata = .;
*(.rodata*)
}
.data.percpu ALIGN(4K) : AT(ADDR(.data.percpu) - KERNEL_VMA)
{
__percpu_start = .;
*(.data.percpu)
__percpu_end = .;
}
.initcall ALIGN(4K) : AT(ADDR(.initcall) - KERNEL_VMA) {
__initcall0_start = .;
*(.initcall0.init)
__initcall1_start = .;
*(.initcall1.init)
__initcall2_start = .;
*(.initcall2.init)
__initcall3_start = .;
*(.initcall3.init)
__initcall4_start = .;
*(.initcall4.init)
__initcall5_start = .;
*(.initcall5.init)
__initcall6_start = .;
*(.initcall6.init)
__initcall7_start = .;
*(.initcall7.init)
__initcall8_start = .;
*(.initcall8.init)
__initcall_end = .;
}
.eh_frame ALIGN(4K) : AT(ADDR(.eh_frame) - KERNEL_VMA)
{
_ehframe = .;
*(.eh_frame)
}
.bss ALIGN(4K) : AT(ADDR(.bss) - KERNEL_VMA)
{
_bss = .;
*(.bss)
*/
/*
* You usually need to include generated COMMON symbols
* under kernel BSS section or use gcc's -fno-common
*/
*(COMMON)
}
2023-02-05 10:50:13 +00:00
__end = .;
__pend = . - KERNEL_VMA;
/DISCARD/ :
{
*(.comment)
}
}