clean
[linux-2.4.21-pre4.git] / arch / arm / vmlinux-armo.lds.in
1 /* ld script to make ARM Linux kernel
2  * taken from the i386 version by Russell King
3  * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
4  */
5 OUTPUT_ARCH(arm)
6 ENTRY(stext)
7 SECTIONS
8 {
9         . = TEXTADDR;
10
11         .init : {
12                 _stext = .;
13                 __init_begin = .;       /* Init code and data           */
14                         *(.text.init)
15                 __proc_info_begin = .;
16                         *(.proc.info)
17                 __proc_info_end = .;
18                 __arch_info_begin = .;
19                         *(.arch.info)
20                 __arch_info_end = .;
21                 __tagtable_begin = .;
22                         *(.taglist)
23                 __tagtable_end = .;
24                         *(.data.init)
25                 . = ALIGN(16);
26                 __setup_start = .;
27                         *(.setup.init)
28                 __setup_end = .;
29                 __initcall_start = .;
30                         *(.initcall.init)
31                 __initcall_end = .;
32                 . = ALIGN(32768);
33                 __init_end = .;
34         }
35
36         .init.task : {
37                 *(.init.task)
38         }
39
40         /DISCARD/ : {                   /* Exit code and data           */
41                 *(.text.exit)
42                 *(.data.exit)
43                 *(.exitcall.exit)
44         }
45
46         .text : {
47                 _text = .;              /* Text and read-only data      */
48                         *(.text)
49                         *(.fixup)
50                         *(.gnu.warning)
51                         *(.rodata)
52                         *(.rodata.*)
53                         *(.glue_7)
54                         *(.glue_7t)
55                         *(.kstrtab)
56                 . = ALIGN(16);          /* Exception table              */
57                 __start___ex_table = .;
58                         *(__ex_table)
59                 __stop___ex_table = .;
60
61                 __start___ksymtab = .;  /* Kernel symbol table          */
62                         *(__ksymtab)
63                 __stop___ksymtab = .;
64
65                 *(.got)                 /* Global offset table          */
66
67                 _etext = .;             /* End of text section          */
68         }
69
70         .data : {
71                 /*
72                  * The cacheline aligned data
73                  */
74                 . = ALIGN(32);
75                 *(.data.cacheline_aligned)
76
77                 /*
78                  * and the usual data section
79                  */
80                 *(.data)
81                 CONSTRUCTORS
82
83                 _edata = .;
84         }
85
86
87         .bss : {
88                 __bss_start = .;        /* BSS                          */
89                 *(.bss)
90                 *(COMMON)
91                 _end = . ;
92         }
93
94                                         /* Stabs debugging sections.    */
95         .stab 0 : { *(.stab) }
96         .stabstr 0 : { *(.stabstr) }
97         .stab.excl 0 : { *(.stab.excl) }
98         .stab.exclstr 0 : { *(.stab.exclstr) }
99         .stab.index 0 : { *(.stab.index) }
100         .stab.indexstr 0 : { *(.stab.indexstr) }
101         .comment 0 : { *(.comment) }
102 }