2022-01-21 03:43:18 +00:00
|
|
|
|
|
|
|
|
OUTPUT_FORMAT("elf64-x86-64","elf64-x86-64","elf64-x86-64")
|
|
|
|
|
OUTPUT_ARCH(i386:x86-64)
|
|
|
|
|
ENTRY(_start)
|
2022-02-21 14:59:57 +00:00
|
|
|
|
2022-01-21 03:43:18 +00:00
|
|
|
SECTIONS
|
|
|
|
|
{
|
2022-04-09 13:11:07 +00:00
|
|
|
KERNEL_VMA = 0xffff800000000000;
|
|
|
|
|
//KERNEL_VMA = 0;
|
2022-02-21 06:39:48 +00:00
|
|
|
. = 0;
|
2022-02-21 14:59:57 +00:00
|
|
|
. = 0x100000;
|
|
|
|
|
|
2022-04-09 13:11:07 +00:00
|
|
|
.boot.text :
|
|
|
|
|
{
|
|
|
|
|
KEEP(*(.multiboot_header))
|
|
|
|
|
head.o(.bootstrap)
|
|
|
|
|
head.o(.bootstrap.code64)
|
|
|
|
|
head.o(.bootstrap.data)
|
|
|
|
|
. = ALIGN(4096);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
. += KERNEL_VMA;
|
2022-04-25 11:24:22 +00:00
|
|
|
. = ALIGN(32768);
|
2022-04-10 13:30:16 +00:00
|
|
|
text_start_pa = .;
|
|
|
|
|
.text (text_start_pa): AT(text_start_pa - KERNEL_VMA)
|
2022-01-21 03:43:18 +00:00
|
|
|
{
|
|
|
|
|
_text = .;
|
2022-04-09 13:11:07 +00:00
|
|
|
|
2022-01-21 03:43:18 +00:00
|
|
|
*(.text)
|
2022-04-25 11:24:22 +00:00
|
|
|
|
2022-01-21 03:43:18 +00:00
|
|
|
_etext = .;
|
|
|
|
|
}
|
2022-04-25 11:24:22 +00:00
|
|
|
. = ALIGN(32768);
|
2022-04-10 13:30:16 +00:00
|
|
|
data_start_pa = .;
|
|
|
|
|
.data (data_start_pa): AT(data_start_pa - KERNEL_VMA)
|
2022-01-21 03:43:18 +00:00
|
|
|
{
|
|
|
|
|
_data = .;
|
|
|
|
|
*(.data)
|
2022-04-25 11:24:22 +00:00
|
|
|
|
2022-01-21 03:43:18 +00:00
|
|
|
_edata = .;
|
|
|
|
|
}
|
2022-04-25 11:28:25 +00:00
|
|
|
|
2022-04-25 11:24:22 +00:00
|
|
|
. = ALIGN(32768);
|
2022-04-25 11:28:25 +00:00
|
|
|
|
2022-04-10 13:30:16 +00:00
|
|
|
rodata_start_pa = .;
|
|
|
|
|
.rodata (rodata_start_pa): AT(rodata_start_pa - KERNEL_VMA)
|
2022-02-10 05:45:38 +00:00
|
|
|
{
|
|
|
|
|
_rodata = .;
|
|
|
|
|
*(.rodata)
|
|
|
|
|
_erodata = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
. = ALIGN(32768);
|
2022-04-10 13:30:16 +00:00
|
|
|
|
|
|
|
|
init_proc_union_start_pa = .;
|
|
|
|
|
.data.init_proc_union (init_proc_union_start_pa): AT(init_proc_union_start_pa - KERNEL_VMA)
|
2022-04-09 13:11:07 +00:00
|
|
|
{ *(.data.init_proc_union) }
|
2022-04-10 13:30:16 +00:00
|
|
|
|
2022-04-25 11:24:22 +00:00
|
|
|
. = ALIGN(32768);
|
2022-04-10 13:30:16 +00:00
|
|
|
bss_start_pa = .;
|
|
|
|
|
.bss (bss_start_pa): AT(bss_start_pa - KERNEL_VMA)
|
2022-01-21 03:43:18 +00:00
|
|
|
{
|
|
|
|
|
_bss = .;
|
|
|
|
|
*(.bss)
|
|
|
|
|
_ebss = .;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_end = .;
|
2022-04-15 06:15:32 +00:00
|
|
|
|
|
|
|
|
/DISCARD/ : {
|
|
|
|
|
*(.eh_frame)
|
|
|
|
|
|
|
|
|
|
}
|
2022-04-09 13:11:07 +00:00
|
|
|
}
|