1 /* $NetBSD: ldscript,v 1.2 2018/12/24 18:21:50 christos Exp $ */ 2 /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */ 3 OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") 4 OUTPUT_ARCH(i386:x86-64) 5 ENTRY(_start) 6 7 PHDRS 8 { 9 text PT_LOAD; 10 headers PT_PHDR FILEHDR PHDRS; 11 } 12 13 SECTIONS 14 { 15 . = 0; 16 ImageBase = .; 17 .hash : { *(.hash) } /* this MUST come first! */ 18 . = ALIGN(4096); 19 .eh_frame : 20 { 21 *(.eh_frame) 22 } 23 . = ALIGN(4096); 24 .text : 25 { 26 *(.text) 27 *(.text.*) 28 *(.gnu.linkonce.t.*) 29 } :text 30 . = ALIGN(4096); 31 .reloc : 32 { 33 *(.reloc) 34 } 35 . = ALIGN(4096); 36 .data : 37 { 38 *(.rodata*) 39 *(.got.plt) 40 *(.got) 41 *(.data*) 42 *(.sdata) 43 /* the EFI loader doesn't seem to like a .bss section, so we stick 44 it all into .data: */ 45 *(.sbss) 46 *(.scommon) 47 *(.dynbss) 48 *(.bss) 49 *(COMMON) 50 *(.rel.local) 51 } 52 . = ALIGN(4096); 53 .dynamic : { *(.dynamic) } 54 . = ALIGN(4096); 55 .rela : 56 { 57 *(.rela.data*) 58 *(.rela.got) 59 *(.rela.stab) 60 } 61 . = ALIGN(4096); 62 .dynsym : { *(.dynsym) } 63 . = ALIGN(4096); 64 .dynstr : { *(.dynstr) } 65 . = ALIGN(4096); 66 .ignored.reloc : 67 { 68 *(.rela.reloc) 69 *(.eh_frame) 70 *(.note.GNU-stack) 71 } 72 .comment 0 : { *(.comment) } 73 } 74