1OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 2OUTPUT_ARCH(arm) 3 4SECTIONS 5{ 6 . = 0x80100000; 7 8 __text_start = .; 9 .text : 10 { 11 *(.vectors) 12 *(.text) 13 *(.text.*) 14 15 /* section information for finsh shell */ 16 . = ALIGN(4); 17 __fsymtab_start = .; 18 KEEP(*(FSymTab)) 19 __fsymtab_end = .; 20 . = ALIGN(4); 21 __vsymtab_start = .; 22 KEEP(*(VSymTab)) 23 __vsymtab_end = .; 24 . = ALIGN(4); 25 26 /* section information for modules */ 27 . = ALIGN(4); 28 __rtmsymtab_start = .; 29 KEEP(*(RTMSymTab)) 30 __rtmsymtab_end = .; 31 32 /* section information for initialization */ 33 . = ALIGN(4); 34 __rt_init_start = .; 35 KEEP(*(SORT(.rti_fn*))) 36 __rt_init_end = .; 37 } =0 38 __text_end = .; 39 40 .ARM.exidx : 41 { 42 __exidx_start = .; 43 *(.ARM.exidx* .gnu.linkonce.armexidx.*) 44 __exidx_end = .; 45 } 46 47 __rodata_start = .; 48 .rodata : { *(.rodata) *(.rodata.*) } 49 __rodata_end = .; 50 51 . = ALIGN(4); 52 .ctors : 53 { 54 PROVIDE(__ctors_start__ = .); 55 KEEP(*(SORT(.ctors.*))) 56 KEEP(*(.ctors)) 57 PROVIDE(__ctors_end__ = .); 58 } 59 60 .dtors : 61 { 62 PROVIDE(__dtors_start__ = .); 63 KEEP(*(SORT(.dtors.*))) 64 KEEP(*(.dtors)) 65 PROVIDE(__dtors_end__ = .); 66 } 67 68 . = ALIGN(16 * 1024); 69 .l1_page_table : 70 { 71 __l1_page_table_start = .; 72 . += 16K; 73 } 74 75 . = ALIGN(8); 76 __data_start = .; 77 .data : 78 { 79 *(.data) 80 *(.data.*) 81 } 82 __data_end = .; 83 84 . = ALIGN(8); 85 __bss_start = .; 86 .bss : 87 { 88 *(.bss) 89 *(.bss.*) 90 *(COMMON) 91 . = ALIGN(4); 92 } 93 . = ALIGN(4); 94 __bss_end = .; 95 96 /* Stabs debugging sections. */ 97 .stab 0 : { *(.stab) } 98 .stabstr 0 : { *(.stabstr) } 99 .stab.excl 0 : { *(.stab.excl) } 100 .stab.exclstr 0 : { *(.stab.exclstr) } 101 .stab.index 0 : { *(.stab.index) } 102 .stab.indexstr 0 : { *(.stab.indexstr) } 103 .comment 0 : { *(.comment) } 104 105 _end = .; 106} 107