libkernaux/examples/bootloader-multiboot2-limine/linker.ld

39 lines
603 B
Plaintext

OUTPUT_ARCH("i386")
ENTRY(_start)
_kernel_offset = 0xC0000000; /* 3 GiB */
_kernel_phys_base = 4M;
_kernel_virt_base = (_kernel_phys_base + _kernel_offset);
_kernel_stack_size = _kernel_stack_end - _kernel_stack_start;
SECTIONS
{
. = _kernel_phys_base;
.text BLOCK(4K) : ALIGN(4K)
{
*(.multiboot2);
*(.text);
}
.rodata BLOCK(4K) : ALIGN(4K)
{
*(.rodata);
}
.data BLOCK(4K) : ALIGN(4K)
{
*(.data);
}
.bss BLOCK(4K) : ALIGN(4K)
{
*(COMMON);
*(.bss);
}
_kernel_size = . - _kernel_phys_base;
}