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