kernel-zig/src/arch/x86/linker.ld
2019-05-11 14:52:00 +02:00

81 lines
1 KiB
Text

ENTRY(_start)
/* OUTPUT_FORMAT(elf32-i386) */
SECTIONS {
/* VGA, cannot use section for this */
VGA_PTR = 0xb8000;
. = 0xb8000;
. += 80 * 25 * 2;
. = 0x100000;
/* ensure that the multiboot header is at the beginning */
.multiboot :
{
/* KEEP otherwise it gets garbage collected by linker */
KEEP(*(.multiboot))
. = ALIGN(4K);
}
.text :
{
*(.text .text.*)
. = ALIGN(4K);
}
.rodata :
{
*(.rodata .rodata.*)
. = ALIGN(4K);
}
.data :
{
*(.data.rel.ro.local*) *(.data.rel.ro .data.rel.ro.*) *(.data.*)
. = ALIGN(4K);
}
/* NOT A GOOD IDEA TO GROUP debug_* SYMBOLS ! */
/* .debug : */
/* { */
/* /1* KEEP(*(.debug_*)) *1/ */
/* *(.debug_*) */
/* . = ALIGN(4K); */
/* } */
.gdt :
{
*(.gdt)
. = ALIGN(4K);
}
.got :
{
*(.got)
. = ALIGN(4K);
}
.got.plt :
{
*(.got.plt)
. = ALIGN(4K);
}
.bss :
{
*(.bss .bss.*)
. = ALIGN(4K);
}
/* .stab : */
/* { */
/* KEEP(*(.stab)) */
/* . = ALIGN(4K); */
/* } */
/* .stabstr : */
/* { */
/* KEEP(*(.stabstr)) */
/* . = ALIGN(4K); */
/* } */
}