1OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
2OUTPUT_ARCH(arm)
3ENTRY(start)
4SECTIONS
5{
6    . = 0x20000000;
7
8    . = ALIGN(4);
9    .text :
10    {
11        *(.init)
12        *(.vectors)
13        *(.text)
14        *(.gnu.linkonce.t*)
15
16        /* section information for finsh shell */
17        . = ALIGN(4);
18        __fsymtab_start = .;
19        KEEP(*(FSymTab))
20        __fsymtab_end = .;
21        . = ALIGN(4);
22        __vsymtab_start = .;
23        KEEP(*(VSymTab))
24        __vsymtab_end = .;
25        . = ALIGN(4);
26
27        . = ALIGN(4);
28        __rt_init_start = .;
29        KEEP(*(SORT(.rti_fn*)))
30        __rt_init_end = .;
31        . = ALIGN(4);
32
33        /* section information for modules */
34        . = ALIGN(4);
35        __rtmsymtab_start = .;
36        KEEP(*(RTMSymTab))
37        __rtmsymtab_end = .;
38        . = ALIGN(4);
39
40        /* section information for initial. */
41        . = ALIGN(4);
42        __rt_init_start = .;
43        KEEP(*(SORT(.rti_fn*)))
44        __rt_init_end = .;
45        . = ALIGN(4);
46    }
47
48    . = ALIGN(4);
49    .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) }
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(4);
69    .data :
70    {
71        *(.data)
72        *(.data.*)
73        *(.gnu.linkonce.d*)
74    }
75
76    . = ALIGN(4);
77    .nobss : { *(.nobss) }
78
79    . = ALIGN(4);
80    __bss_start__ = .;
81    __bss_start = .;
82    .bss : { *(.bss)}
83    __bss_end__ = .;
84    __bss_end = .;
85
86    /* stabs debugging sections. */
87    .stab 0 : { *(.stab) }
88    .stabstr 0 : { *(.stabstr) }
89    .stab.excl 0 : { *(.stab.excl) }
90    .stab.exclstr 0 : { *(.stab.exclstr) }
91    .stab.index 0 : { *(.stab.index) }
92    .stab.indexstr 0 : { *(.stab.indexstr) }
93    .comment 0 : { *(.comment) }
94    .debug_abbrev 0 : { *(.debug_abbrev) }
95    .debug_info 0 : { *(.debug_info) }
96    .debug_line 0 : { *(.debug_line) }
97    .debug_pubnames 0 : { *(.debug_pubnames) }
98    .debug_aranges 0 : { *(.debug_aranges) }
99
100    _end = .;
101}
102