redox/bootloader/x86/kernel.ld

63 lines
1.1 KiB
Plaintext
Raw Normal View History

2016-08-14 19:45:47 +02:00
ENTRY(kstart)
OUTPUT_FORMAT(elf64-x86-64)
KERNEL_OFFSET = 0x100000;
2016-08-14 02:21:46 +02:00
SECTIONS {
. = KERNEL_OFFSET;
. += SIZEOF_HEADERS;
. = ALIGN(4096);
.text : AT(ADDR(.text) - KERNEL_OFFSET) {
2016-08-14 02:21:46 +02:00
__text_start = .;
*(.text*)
. = ALIGN(4096);
__text_end = .;
}
.rodata : AT(ADDR(.rodata) - KERNEL_OFFSET) {
2016-08-14 02:21:46 +02:00
__rodata_start = .;
*(.rodata*)
. = ALIGN(4096);
__rodata_end = .;
}
.data : AT(ADDR(.data) - KERNEL_OFFSET) {
2016-08-14 02:21:46 +02:00
__data_start = .;
*(.data*)
. = ALIGN(4096);
__data_end = .;
}
.tdata : AT(ADDR(.tdata) - KERNEL_OFFSET) {
__tdata_start = .;
*(.tdata*)
. = ALIGN(4096);
__tdata_end = .;
__tbss_start = .;
*(.tbss*)
. += 8;
. = ALIGN(4096);
2016-08-20 16:39:03 +02:00
__tbss_end = .;
}
.bss : AT(ADDR(.bss) - KERNEL_OFFSET) {
2016-08-14 02:21:46 +02:00
__bss_start = .;
*(.bss*)
. = ALIGN(4096);
__bss_end = .;
}
__end = .;
2016-08-14 02:21:46 +02:00
/DISCARD/ : {
*(.comment*)
*(.debug*)
*(.eh_frame*)
*(.gcc_except_table*)
*(.note*)
*(.rel.eh_frame*)
2016-08-14 02:21:46 +02:00
}
}