]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/ppc64/kernel/vmlinux.lds.S
Linux-2.6.12-rc2
[mirror_ubuntu-zesty-kernel.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 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 }