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