83 lines
1.5 KiB
Plaintext
83 lines
1.5 KiB
Plaintext
ENTRY(_start)
|
|
|
|
KERNEL_LMA = 1M;
|
|
KERNEL_VMA = 0xFFFFFFFF80000000;
|
|
|
|
SECTIONS {
|
|
. = KERNEL_LMA;
|
|
|
|
.boot.text ALIGN(4K) : {
|
|
*(.boot.text)
|
|
*(.boot.rodata)
|
|
}
|
|
|
|
.boot.bss ALIGN(4K) : {
|
|
*(.boot.bss)
|
|
}
|
|
|
|
. += KERNEL_VMA;
|
|
|
|
__start = .;
|
|
__pstart = . - KERNEL_VMA;
|
|
|
|
.text ALIGN(4K) : AT(ADDR(.text) - KERNEL_VMA)
|
|
{
|
|
*(.text)
|
|
}
|
|
|
|
.data ALIGN(4K) : AT(ADDR(.data) - KERNEL_VMA)
|
|
{
|
|
_data = .;
|
|
*(.data)
|
|
}
|
|
|
|
.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)
|
|
}
|
|
|
|
__end = .;
|
|
__pend = . - KERNEL_VMA;
|
|
|
|
/DISCARD/ :
|
|
{
|
|
*(.comment)
|
|
}
|
|
}
|