46 lines
997 B
Plaintext
46 lines
997 B
Plaintext
|
ENTRY(_start)
|
||
|
OUTPUT_FORMAT(elf64-x86-64)
|
||
|
|
||
|
mmio = 0xfffffffff8000000;
|
||
|
fb = 0xfffffffffc000000;
|
||
|
bootboot = 0xffffffffffe00000;
|
||
|
environment = 0xffffffffffe01000;
|
||
|
initstack = 4096;
|
||
|
|
||
|
KERNEL_OFFSET = 0xffffffffffe02000;
|
||
|
|
||
|
PHDRS
|
||
|
{
|
||
|
boot PT_LOAD FILEHDR PHDRS;
|
||
|
}
|
||
|
SECTIONS
|
||
|
{
|
||
|
. = 0xffffffffffe02000;
|
||
|
.text . + SIZEOF_HEADERS : AT(ADDR(.text) - KERNEL_OFFSET + SIZEOF_HEADERS) {
|
||
|
__text_start = .;
|
||
|
KEEP(*(.text.boot)) *(.text .text.* .gnu.linkonce.t*)
|
||
|
. = ALIGN(4096);
|
||
|
__text_end = .;
|
||
|
} :boot
|
||
|
|
||
|
.rodata : AT(ADDR(.rodata) - KERNEL_OFFSET) {
|
||
|
__rodata_start = .;
|
||
|
*(.rodata*)
|
||
|
. = ALIGN(4096);
|
||
|
__rodata_end = .;
|
||
|
} :boot
|
||
|
|
||
|
.data : AT(ADDR(.data) - KERNEL_OFFSET) {
|
||
|
__data_start = .;
|
||
|
*(.data*)
|
||
|
. = ALIGN(4096);
|
||
|
__data_end = .;
|
||
|
__bss_start = .;
|
||
|
*(.bss*)
|
||
|
. = ALIGN(4096);
|
||
|
__bss_end = .;
|
||
|
} :boot
|
||
|
|
||
|
/DISCARD/ : { *(.eh_frame) *(.comment) }
|
||
|
}
|