freebsd-dev/sys/boot/efi/libefi/arch/ia64/ldscript.ia64
Doug Rabson faf8077790 Move the first section up one page. The firmware bogusly uses the first
page of the image to load section headers and if we let the text section
start at zero, it corrupts the section table when its loaded. With this
change, the loader gets as far as the 'ok' prompt.
2001-06-10 13:39:10 +00:00

76 lines
1.3 KiB
Plaintext

/* $FreeBSD$ */
OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little")
OUTPUT_ARCH(ia64)
ENTRY(_start_plabel)
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0;
ImageBase = .;
. += 4096;
.text :
{
*(.text)
*(.stub)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.gnu.linkonce.t*)
}
. = ALIGN(4096);
.hash : { *(.hash) }
. = ALIGN(4096);
.data :
{
*(.rodata)
*(.rodata1)
*(.set.*)
*(.ctors)
*(.data)
*(.data1)
*(.gnu.linkonce.d*)
*(.plabel)
*(.IA_64.unwind)
*(.IA_64.unwind_info)
*(.bss)
*(.dynbss)
*(COMMON)
}
. = ALIGN(4096);
__gp = ALIGN(8) + 0x200000;
.sdata :
{
*(.got.plt)
*(.got)
*(.sdata)
*(.sbss)
*(.scommon)
}
. = ALIGN(4096);
.dynamic : { *(.dynamic) }
. = ALIGN(4096);
.rela :
{
*(.rela.text)
*(.rela.gnu.linkonce.t*)
*(.rela.set.*)
*(.rela.sdata)
*(.rela.data)
*(.rela.gnu.linkonce.d*)
*(.rela.got)
*(.rela.stab)
*(.rela.ctors)
}
. = ALIGN(4096);
.reloc : { *(.reloc) }
. = ALIGN(4096);
.dynsym : { *(.dynsym) }
. = ALIGN(4096);
.dynstr : { *(.dynstr) }
.ignored :
{
*(.rela.plabel)
*(.rela.reloc)
}
}