blt_i386.x (2381B)
1 /* $Id: //depot/blt/util/blt_i386.x#2 $ */ 2 /* Modified by Sidney Cammeresi */ 3 4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", 5 "elf32-i386") 6 OUTPUT_ARCH(i386) 7 ENTRY(_start) 8 /* Do we need any of these for elf? 9 __DYNAMIC = 0; */ 10 SECTIONS 11 { 12 /* Read-only sections, merged into text segment: */ 13 . = 0x1000 + SIZEOF_HEADERS; 14 .interp : { *(.interp) } 15 .hash : { *(.hash) } 16 .dynsym : { *(.dynsym) } 17 .dynstr : { *(.dynstr) } 18 .rel.text : { *(.rel.text) } 19 .rela.text : { *(.rela.text) } 20 .rel.data : { *(.rel.data) } 21 .rela.data : { *(.rela.data) } 22 .rel.rodata : { *(.rel.rodata) } 23 .rela.rodata : { *(.rela.rodata) } 24 .rel.got : { *(.rel.got) } 25 .rela.got : { *(.rela.got) } 26 .rel.ctors : { *(.rel.ctors) } 27 .rela.ctors : { *(.rela.ctors) } 28 .rel.dtors : { *(.rel.dtors) } 29 .rela.dtors : { *(.rela.dtors) } 30 .rel.init : { *(.rel.init) } 31 .rela.init : { *(.rela.init) } 32 .rel.fini : { *(.rel.fini) } 33 .rela.fini : { *(.rela.fini) } 34 .rel.bss : { *(.rel.bss) } 35 .rela.bss : { *(.rela.bss) } 36 .rel.plt : { *(.rel.plt) } 37 .rela.plt : { *(.rela.plt) } 38 .init : { *(.init) } =0x9090 39 .plt : { *(.plt) } 40 .text : 41 { 42 *(.text) 43 /* .gnu.warning sections are handled specially by elf32.em. */ 44 *(.gnu.warning) 45 } =0x9090 46 _etext = .; 47 PROVIDE (etext = .); 48 .fini : { *(.fini) } =0x9090 49 .rodata : { *(.rodata) } 50 .rodata1 : { *(.rodata1) } 51 /* Adjust the address for the data segment. We want to adjust up to 52 the same address within the page on the next page up. */ 53 . = ALIGN(0x1000) + (ALIGN(8) & (0x1000 - 1)); 54 .data : 55 { 56 *(.data) 57 CONSTRUCTORS 58 } 59 .data1 : { *(.data1) } 60 .ctors : { *(.ctors) } 61 .dtors : { *(.dtors) } 62 .got : { *(.got.plt) *(.got) } 63 .dynamic : { *(.dynamic) } 64 /* We want the small data sections together, so single-instruction offsets 65 can access them all, and initialized data all before uninitialized, so 66 we can shorten the on-disk segment size. */ 67 .sdata : { *(.sdata) } 68 _edata = .; 69 PROVIDE (edata = .); 70 __bss_start = .; 71 .sbss : { *(.sbss) *(.scommon) } 72 .bss : 73 { 74 *(.dynbss) 75 *(.bss) 76 *(COMMON) 77 } 78 _end = . ; 79 PROVIDE (end = .); 80 }