8af8df6452
binutils 2.15. The linker now creates a .rela.dyn section for dynamic relocations, while our script created a .rela section. Likewise, we copied the .rela section to the EFI image, but not the .rela.dyn section. The fix is to rename .rela to .rela.dyn in the linker script so that all relocations end up in the same section again. This we copy into the EFI image.
74 lines
2.0 KiB
Plaintext
74 lines
2.0 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 = .;
|
|
. = SIZEOF_HEADERS;
|
|
. = ALIGN(4096);
|
|
.text : {
|
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
|
*(.gnu.warning)
|
|
*(.plt)
|
|
} =0x00300000010070000002000001000400
|
|
. = ALIGN(4096);
|
|
.data : {
|
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
|
*(.rodata1)
|
|
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
|
|
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
|
|
*(.opd)
|
|
*(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
|
|
*(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
|
|
__start_set_Xcommand_set = .;
|
|
*(set_Xcommand_set)
|
|
__stop_set_Xcommand_set = .;
|
|
*(.data .data.* .gnu.linkonce.d.*)
|
|
*(.data1)
|
|
*(.plabel)
|
|
*(.dynbss)
|
|
*(.bss .bss.* .gnu.linkonce.b.*)
|
|
*(COMMON)
|
|
}
|
|
. = ALIGN(4096);
|
|
__gp = .;
|
|
.sdata : {
|
|
*(.got.plt .got)
|
|
*(.IA_64.pltoff)
|
|
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
|
*(dynsbss)
|
|
*(.sbss .sbss.* .gnu.linkonce.sb.*)
|
|
*(.scommon)
|
|
}
|
|
. = ALIGN(4096);
|
|
.dynamic : { *(.dynamic) }
|
|
. = ALIGN(4096);
|
|
.rela.dyn : {
|
|
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
|
|
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
|
|
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
|
|
*(.rela.got)
|
|
*(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
|
|
*(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
|
|
*(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
|
|
*(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
|
|
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
|
|
*(.rela.plt)
|
|
*(.rela.IA_64.pltoff)
|
|
*(.relaset_*)
|
|
*(.rela.dyn .rela.dyn.*)
|
|
}
|
|
. = ALIGN(4096);
|
|
.reloc : { *(.reloc) }
|
|
. = ALIGN(4096);
|
|
.hash : { *(.hash) }
|
|
. = ALIGN(4096);
|
|
.dynsym : { *(.dynsym) }
|
|
. = ALIGN(4096);
|
|
.dynstr : { *(.dynstr) }
|
|
}
|