2016-08-14 19:45:47 +02:00
|
|
|
ENTRY(kstart)
|
2016-08-18 15:56:47 +02:00
|
|
|
OUTPUT_FORMAT(elf64-x86-64)
|
|
|
|
|
2016-08-19 03:44:31 +02:00
|
|
|
KERNEL_OFFSET = 0x100000;
|
2016-08-14 02:21:46 +02:00
|
|
|
|
|
|
|
SECTIONS {
|
2016-08-19 03:44:31 +02:00
|
|
|
. = KERNEL_OFFSET;
|
2016-08-18 15:56:47 +02:00
|
|
|
|
|
|
|
. += 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 = .;
|
|
|
|
}
|
|
|
|
|
2016-08-18 15:56:47 +02:00
|
|
|
.rodata : AT(ADDR(.rodata) - KERNEL_OFFSET) {
|
2016-08-14 02:21:46 +02:00
|
|
|
__rodata_start = .;
|
|
|
|
*(.rodata*)
|
|
|
|
. = ALIGN(4096);
|
|
|
|
__rodata_end = .;
|
|
|
|
}
|
|
|
|
|
2016-08-18 15:56:47 +02:00
|
|
|
.data : AT(ADDR(.data) - KERNEL_OFFSET) {
|
2016-08-14 02:21:46 +02:00
|
|
|
__data_start = .;
|
|
|
|
*(.data*)
|
|
|
|
. = ALIGN(4096);
|
|
|
|
__data_end = .;
|
|
|
|
}
|
|
|
|
|
2016-08-18 15:56:47 +02:00
|
|
|
.bss : AT(ADDR(.bss) - KERNEL_OFFSET) {
|
2016-08-14 02:21:46 +02:00
|
|
|
__bss_start = .;
|
|
|
|
*(.bss*)
|
|
|
|
. = ALIGN(4096);
|
|
|
|
__bss_end = .;
|
|
|
|
}
|
|
|
|
|
|
|
|
/DISCARD/ : {
|
2016-08-18 15:56:47 +02:00
|
|
|
*(.comment*)
|
|
|
|
*(.eh_frame*)
|
|
|
|
*(.note*)
|
|
|
|
*(.rel.eh_frame*)
|
2016-08-14 02:21:46 +02:00
|
|
|
}
|
|
|
|
}
|