Merge head 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
[linux-2.6] / arch / ppc64 / kernel / vmlinux.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2
3 OUTPUT_ARCH(powerpc:common64)
4 jiffies = jiffies_64;
5 SECTIONS
6 {
7   /* Sections to be discarded. */
8   /DISCARD/ : {
9         *(.exitcall.exit)
10         }
11
12
13   /* Read-only sections, merged into text segment: */
14   .text : {
15         *(.text .text.*)
16         SCHED_TEXT
17         LOCK_TEXT
18         *(.fixup)
19         . = ALIGN(4096);
20         _etext = .;
21         }
22
23   __ex_table : {
24         __start___ex_table = .;
25         *(__ex_table)
26         __stop___ex_table = .;
27         }
28
29   __bug_table : {
30         __start___bug_table = .;
31         *(__bug_table)
32         __stop___bug_table = .;
33         }
34
35   __ftr_fixup : {
36         __start___ftr_fixup = .;
37         *(__ftr_fixup)
38         __stop___ftr_fixup = .;
39         }
40
41   RODATA
42
43
44   /* will be freed after init */
45   . = ALIGN(4096);
46   __init_begin = .;
47
48   .init.text : {
49         _sinittext = .;
50         *(.init.text)
51         _einittext = .;
52         }
53
54   .init.data : {
55         *(.init.data)
56         }
57
58   . = ALIGN(16);
59   .init.setup : {
60         __setup_start = .;
61         *(.init.setup)
62         __setup_end = .;
63         }
64
65   .initcall.init : {
66         __initcall_start = .;
67         *(.initcall1.init)
68         *(.initcall2.init)
69         *(.initcall3.init)
70         *(.initcall4.init)
71         *(.initcall5.init)
72         *(.initcall6.init)
73         *(.initcall7.init)
74         __initcall_end = .;
75         }
76
77   .con_initcall.init : {
78         __con_initcall_start = .;
79         *(.con_initcall.init)
80         __con_initcall_end = .;
81         }
82
83   SECURITY_INIT
84
85   . = ALIGN(4096);
86   .init.ramfs : {
87         __initramfs_start = .;
88         *(.init.ramfs)
89         __initramfs_end = .;
90         }
91
92   .data.percpu : {
93         __per_cpu_start = .;
94         *(.data.percpu)
95         __per_cpu_end = .;
96         }
97
98   . = ALIGN(16384);
99   __init_end = .;
100   /* freed after init ends here */
101
102
103   /* Read/write sections */
104   . = ALIGN(16384);
105   /* The initial task and kernel stack */
106   .data.init_task : {
107         *(.data.init_task)
108         }
109
110   .data.page_aligned : {
111         *(.data.page_aligned)
112         }
113
114   .data.cacheline_aligned : {
115         *(.data.cacheline_aligned)
116         }
117
118   .data : {
119         *(.data .data.rel* .toc1)
120         *(.branch_lt)
121         }
122
123   .opd : {
124         *(.opd)
125         }
126
127   .got : {
128         __toc_start = .;
129         *(.got)
130         *(.toc)
131         . = ALIGN(4096);
132         _edata = .;
133         }
134
135
136   . = ALIGN(4096);
137   .bss : {
138         __bss_start = .;
139         *(.bss)
140         __bss_stop = .;
141         }
142
143   . = ALIGN(4096);
144   _end = . ;
145 }