ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / 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         *(.fixup)
18         . = ALIGN(4096);
19         _etext = .;
20         }
21
22   __ex_table : {
23         __start___ex_table = .;
24         *(__ex_table)
25         __stop___ex_table = .;
26         }
27
28   __bug_table : {
29         __start___bug_table = .;
30         *(__bug_table)
31         __stop___bug_table = .;
32         }
33
34   __ftr_fixup : {
35         __start___ftr_fixup = .;
36         *(__ftr_fixup)
37         __stop___ftr_fixup = .;
38         }
39
40   RODATA
41
42
43   /* will be freed after init */
44   . = ALIGN(4096);
45   __init_begin = .;
46
47   .init.text : {
48         _sinittext = .;
49         *(.init.text)
50         _einittext = .;
51         }
52
53   .init.data : {
54         *(.init.data)
55         }
56
57   . = ALIGN(16);
58   .init.setup : {
59         __setup_start = .;
60         *(.init.setup)
61         __setup_end = .;
62         }
63
64   __param : {
65         __start___param = .;
66         *(__param)
67         __stop___param = .;
68         }
69
70   .initcall.init : {
71         __initcall_start = .;
72         *(.initcall1.init)
73         *(.initcall2.init)
74         *(.initcall3.init)
75         *(.initcall4.init)
76         *(.initcall5.init)
77         *(.initcall6.init)
78         *(.initcall7.init)
79         __initcall_end = .;
80         }
81
82   .con_initcall.init : {
83         __con_initcall_start = .;
84         *(.con_initcall.init)
85         __con_initcall_end = .;
86         }
87
88   SECURITY_INIT
89
90   . = ALIGN(4096);
91   .init.ramfs : {
92         __initramfs_start = .;
93         *(.init.ramfs)
94         __initramfs_end = .;
95         }
96
97   .data.percpu : {
98         __per_cpu_start = .;
99         *(.data.percpu)
100         __per_cpu_end = .;
101         }
102
103   . = ALIGN(16384);
104   __init_end = .;
105   /* freed after init ends here */
106
107
108   /* Read/write sections */
109   . = ALIGN(16384);
110   /* The initial task and kernel stack */
111   .data.init_task : {
112         *(.data.init_task)
113         }
114
115   .data.page_aligned : {
116         *(.data.page_aligned)
117         }
118
119   .data.cacheline_aligned : {
120         *(.data.cacheline_aligned)
121         }
122
123   .data : {
124         *(.data .data.rel* .toc1)
125         *(.opd)
126         *(.branch_lt)
127         }
128
129   .got : {
130         __toc_start = .;
131         *(.got)
132         *(.toc)
133         . = ALIGN(4096);
134         _edata = .;
135         }
136
137
138   . = ALIGN(4096);
139   .bss : {
140         __bss_start = .;
141         *(.bss)
142         __bss_stop = .;
143         }
144
145   . = ALIGN(4096);
146   _end = . ;
147 }