faf8077790
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.
76 lines
1.3 KiB
Plaintext
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)
|
|
}
|
|
}
|
|
|