1OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") 2OUTPUT_ARCH(i386) 3ENTRY(_start) 4SECTIONS 5{ 6 . = 0x0; 7 _text = .; /* Text and read-only data */ 8 .text : { 9 *(.text) 10 *(.text.*) 11 *(.gnu.warning) 12 } = 0x9090 13 14 _etext = .; /* End of text section */ 15 16 .rodata : { 17 *(.rodata) 18 *(.rodata.*) 19 20 /* Constructors/destructors */ 21 . = ALIGN(32 / 8); 22 __init_array_start = . ; 23 *(SORT_BY_INIT_PRIORITY(.init_array.*)) 24 *(SORT_BY_INIT_PRIORITY(.ctors*)) 25 *(.init_array) 26 __init_array_end = . ; 27 __fini_array_start = . ; 28 *(SORT_BY_INIT_PRIORITY(.fini_array.*)) 29 *(SORT_BY_INIT_PRIORITY(.dtors*)) 30 *(.fini_array) 31 __fini_array_end = . ; 32 } 33 34 . = ALIGN(4096); 35 _erodata = .; 36 37 .data : { /* Data */ 38 *(.data) 39 } 40 41 _edata = .; /* End of data section */ 42 43 .tdata : { 44 _tdata_start = . ; 45 *(.tdata) 46 _tdata_end = . ; 47 } 48 49 .tbss : { 50 _tbss_start = . ; 51 *(.tbss) 52 _tbss_end = . ; 53 } 54 55 __bss_start = .; /* BSS */ 56 .bss : { 57 *(.bss) 58 *(.bss.*) 59 } 60 _end = . ; 61 62 /* Sections to be discarded */ 63 /DISCARD/ : { 64 *(.data.exit) 65 *(.exitcall.exit) 66 } 67 68 /* Stabs debugging sections. */ 69 .stab 0 : { *(.stab) } 70 .stabstr 0 : { *(.stabstr) } 71 .stab.excl 0 : { *(.stab.excl) } 72 .stab.exclstr 0 : { *(.stab.exclstr) } 73 .stab.index 0 : { *(.stab.index) } 74 .stab.indexstr 0 : { *(.stab.indexstr) } 75 .comment 0 : { *(.comment) } 76} 77