2017-02-02 02:04:07 +00:00
|
|
|
OUTPUT_FORMAT(elf64-x86-64)
|
|
|
|
OUTPUT_ARCH(i386:x86-64)
|
2017-02-03 01:14:23 +00:00
|
|
|
ENTRY(hal_entry_32)
|
2017-02-02 02:04:07 +00:00
|
|
|
|
2016-06-05 08:09:01 +00:00
|
|
|
SECTIONS
|
|
|
|
{
|
2017-02-02 02:04:07 +00:00
|
|
|
. = HAL_KERNEL_BASE_VADDR + HAL_KERNEL_BASE_PADDR;
|
2017-02-01 03:26:08 +00:00
|
|
|
|
2017-02-03 01:14:23 +00:00
|
|
|
HAL_KERNEL_START_VADDR = .;
|
2016-06-05 08:09:01 +00:00
|
|
|
|
2017-02-03 01:14:23 +00:00
|
|
|
.multiboot_header : AT(ADDR(.multiboot_header) - HAL_KERNEL_BASE_VADDR)
|
2016-06-05 08:09:01 +00:00
|
|
|
{
|
2017-02-02 02:04:07 +00:00
|
|
|
*(.multiboot_header)
|
2016-06-05 08:09:01 +00:00
|
|
|
}
|
|
|
|
|
2017-02-02 02:04:07 +00:00
|
|
|
.text ALIGN(0x1000) : AT(ADDR(.text) - HAL_KERNEL_BASE_VADDR)
|
2016-06-05 08:09:01 +00:00
|
|
|
{
|
|
|
|
*(.text)
|
|
|
|
}
|
|
|
|
|
2017-02-02 02:04:07 +00:00
|
|
|
.data ALIGN(0x1000) : AT(ADDR(.data) - HAL_KERNEL_BASE_VADDR)
|
2016-06-05 08:09:01 +00:00
|
|
|
{
|
|
|
|
*(.data)
|
2017-02-02 02:04:07 +00:00
|
|
|
*(.rodata*)
|
2016-06-05 08:09:01 +00:00
|
|
|
}
|
|
|
|
|
2017-02-02 02:04:07 +00:00
|
|
|
.bss ALIGN(0x1000) : AT(ADDR(.bss) - HAL_KERNEL_BASE_VADDR)
|
2016-06-05 08:09:01 +00:00
|
|
|
{
|
|
|
|
*(.bss)
|
2017-02-02 02:04:07 +00:00
|
|
|
*(COMMON)
|
2017-02-01 03:26:08 +00:00
|
|
|
}
|
|
|
|
|
2017-02-03 01:14:23 +00:00
|
|
|
HAL_KERNEL_END_VADDR = .;
|
|
|
|
|
|
|
|
/DISCARD/ :
|
|
|
|
{
|
|
|
|
*(.gcc_except_table)
|
|
|
|
*(.eh_frame)
|
|
|
|
*(.note)
|
|
|
|
*(.comment)
|
|
|
|
*(.rel.*)
|
|
|
|
*(.rela.*)
|
|
|
|
}
|
2016-06-05 08:09:01 +00:00
|
|
|
}
|