bond/mk/linker.ld.in

46 lines
821 B
Plaintext

#define ASM_FILE
#include "kernel/hal/mem.h"
OUTPUT_FORMAT(elf64-x86-64)
OUTPUT_ARCH(i386:x86-64)
ENTRY(hal_entry_32)
SECTIONS
{
. = KERNEL_IMAGE_VADDR;
.multiboot_header ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.multiboot_header) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
{
*(.multiboot_header)
}
.text ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.text) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
{
*(.text)
}
.data ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.data) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
{
*(.data)
*(.rodata*)
}
.bss ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.bss) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
{
*(.bss)
*(COMMON)
}
KERNEL_IMAGE_END_VADDR = .;
/DISCARD/ :
{
*(.gcc_except_table)
*(.eh_frame)
*(.note)
*(.comment)
*(.rel.*)
*(.rela.*)
}
}