1 1.1.4.2 bouyer /* $NetBSD: ld.script,v 1.1.4.2 2008/01/02 21:50:06 bouyer Exp $ */ 2 1.1.4.2 bouyer 3 1.1.4.2 bouyer OUTPUT_ARCH(powerpc) 4 1.1.4.2 bouyer SEARCH_DIR(.); SEARCH_DIR(libc); 5 1.1.4.2 bouyer SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); 6 1.1.4.2 bouyer /* Do we need any of these for elf? 7 1.1.4.2 bouyer __DYNAMIC = 0; */ 8 1.1.4.2 bouyer SECTIONS 9 1.1.4.2 bouyer { 10 1.1.4.2 bouyer /* Read-only sections, merged into text segment: */ 11 1.1.4.2 bouyer . = + SIZEOF_HEADERS; 12 1.1.4.2 bouyer .interp : { *(.interp) } 13 1.1.4.2 bouyer .hash : { *(.hash) } 14 1.1.4.2 bouyer .dynsym : { *(.dynsym) } 15 1.1.4.2 bouyer .dynstr : { *(.dynstr) } 16 1.1.4.2 bouyer .rel.text : { *(.rel.text) } 17 1.1.4.2 bouyer .rela.text : { *(.rela.text) } 18 1.1.4.2 bouyer .rel.data : { *(.rel.data) } 19 1.1.4.2 bouyer .rela.data : { *(.rela.data) } 20 1.1.4.2 bouyer .rel.rodata : { *(.rel.rodata) } 21 1.1.4.2 bouyer .rela.rodata : { *(.rela.rodata) } 22 1.1.4.2 bouyer .rel.got : { *(.rel.got) } 23 1.1.4.2 bouyer .rela.got : { *(.rela.got) } 24 1.1.4.2 bouyer .rel.ctors : { *(.rel.ctors) } 25 1.1.4.2 bouyer .rela.ctors : { *(.rela.ctors) } 26 1.1.4.2 bouyer .rel.dtors : { *(.rel.dtors) } 27 1.1.4.2 bouyer .rela.dtors : { *(.rela.dtors) } 28 1.1.4.2 bouyer .rel.bss : { *(.rel.bss) } 29 1.1.4.2 bouyer .rela.bss : { *(.rela.bss) } 30 1.1.4.2 bouyer .rel.plt : { *(.rel.plt) } 31 1.1.4.2 bouyer .rela.plt : { *(.rela.plt) } 32 1.1.4.2 bouyer .init : { *(.init) } =0 33 1.1.4.2 bouyer .plt : { *(.plt) } 34 1.1.4.2 bouyer .text : 35 1.1.4.2 bouyer { 36 1.1.4.2 bouyer *(.text) 37 1.1.4.2 bouyer *(.rodata) 38 1.1.4.2 bouyer *(.rodata1) 39 1.1.4.2 bouyer *(.got1) 40 1.1.4.2 bouyer } 41 1.1.4.2 bouyer _etext = .; 42 1.1.4.2 bouyer PROVIDE (etext = .); 43 1.1.4.2 bouyer .fini : { *(.fini) } =0 44 1.1.4.2 bouyer .ctors : { *(.ctors) } 45 1.1.4.2 bouyer .dtors : { *(.dtors) } 46 1.1.4.2 bouyer .rodata : { *(.rodata) } 47 1.1.4.2 bouyer .rodata1 : { *(.rodata1) } 48 1.1.4.2 bouyer /* Read-write section, merged into data segment: */ 49 1.1.4.2 bouyer /* . = (. + 0x0FFF) & 0xFFFFF000; */ 50 1.1.4.2 bouyer .data : 51 1.1.4.2 bouyer { 52 1.1.4.2 bouyer *(.data) 53 1.1.4.2 bouyer CONSTRUCTORS 54 1.1.4.2 bouyer } 55 1.1.4.2 bouyer .data1 : { *(.data1) } 56 1.1.4.2 bouyer .got : { *(.got.plt) *(.got) } 57 1.1.4.2 bouyer .dynamic : { *(.dynamic) } 58 1.1.4.2 bouyer /* We want the small data sections together, so single-instruction offsets 59 1.1.4.2 bouyer can access them all, and initialized data all before uninitialized, so 60 1.1.4.2 bouyer we can shorten the on-disk segment size. */ 61 1.1.4.2 bouyer .sdata : { *(.sdata) } 62 1.1.4.2 bouyer _edata = .; 63 1.1.4.2 bouyer PROVIDE (edata = .); 64 1.1.4.2 bouyer __bss_start = .; 65 1.1.4.2 bouyer .sbss : { *(.sbss) *(.scommon) } 66 1.1.4.2 bouyer .bss : 67 1.1.4.2 bouyer { 68 1.1.4.2 bouyer *(.dynbss) 69 1.1.4.2 bouyer *(.bss) 70 1.1.4.2 bouyer *(COMMON) 71 1.1.4.2 bouyer } 72 1.1.4.2 bouyer _end = . ; 73 1.1.4.2 bouyer PROVIDE (end = .); 74 1.1.4.2 bouyer /* These are needed for ELF backends which have not yet been 75 1.1.4.2 bouyer converted to the new style linker. */ 76 1.1.4.2 bouyer .stab 0 : { *(.stab) } 77 1.1.4.2 bouyer .stabstr 0 : { *(.stabstr) } 78 1.1.4.2 bouyer /* These must appear regardless of . */ 79 1.1.4.2 bouyer } 80