aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/ppc/kernel/vmlinux.lds.S
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'arch/ppc/kernel/vmlinux.lds.S')
-rw-r--r--arch/ppc/kernel/vmlinux.lds.S192
1 files changed, 192 insertions, 0 deletions
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S
new file mode 100644
index 000000000000..0c0e714b84de
--- /dev/null
+++ b/arch/ppc/kernel/vmlinux.lds.S
@@ -0,0 +1,192 @@
1#include <asm-generic/vmlinux.lds.h>
2
3OUTPUT_ARCH(powerpc:common)
4jiffies = jiffies_64 + 4;
5SECTIONS
6{
7 /* Read-only sections, merged into text segment: */
8 . = + SIZEOF_HEADERS;
9 .interp : { *(.interp) }
10 .hash : { *(.hash) }
11 .dynsym : { *(.dynsym) }
12 .dynstr : { *(.dynstr) }
13 .rel.text : { *(.rel.text) }
14 .rela.text : { *(.rela.text) }
15 .rel.data : { *(.rel.data) }
16 .rela.data : { *(.rela.data) }
17 .rel.rodata : { *(.rel.rodata) }
18 .rela.rodata : { *(.rela.rodata) }
19 .rel.got : { *(.rel.got) }
20 .rela.got : { *(.rela.got) }
21 .rel.ctors : { *(.rel.ctors) }
22 .rela.ctors : { *(.rela.ctors) }
23 .rel.dtors : { *(.rel.dtors) }
24 .rela.dtors : { *(.rela.dtors) }
25 .rel.bss : { *(.rel.bss) }
26 .rela.bss : { *(.rela.bss) }
27 .rel.plt : { *(.rel.plt) }
28 .rela.plt : { *(.rela.plt) }
29/* .init : { *(.init) } =0*/
30 .plt : { *(.plt) }
31 .text :
32 {
33 *(.text)
34 SCHED_TEXT
35 LOCK_TEXT
36 *(.fixup)
37 *(.got1)
38 __got2_start = .;
39 *(.got2)
40 __got2_end = .;
41 }
42 _etext = .;
43 PROVIDE (etext = .);
44
45 RODATA
46 .fini : { *(.fini) } =0
47 .ctors : { *(.ctors) }
48 .dtors : { *(.dtors) }
49
50 .fixup : { *(.fixup) }
51
52 __ex_table : {
53 __start___ex_table = .;
54 *(__ex_table)
55 __stop___ex_table = .;
56 }
57
58 __bug_table : {
59 __start___bug_table = .;
60 *(__bug_table)
61 __stop___bug_table = .;
62 }
63
64 /* Read-write section, merged into data segment: */
65 . = ALIGN(4096);
66 .data :
67 {
68 *(.data)
69 *(.data1)
70 *(.sdata)
71 *(.sdata2)
72 *(.got.plt) *(.got)
73 *(.dynamic)
74 CONSTRUCTORS
75 }
76
77 . = ALIGN(4096);
78 __nosave_begin = .;
79 .data_nosave : { *(.data.nosave) }
80 . = ALIGN(4096);
81 __nosave_end = .;
82
83 . = ALIGN(32);
84 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
85
86 _edata = .;
87 PROVIDE (edata = .);
88
89 . = ALIGN(8192);
90 .data.init_task : { *(.data.init_task) }
91
92 . = ALIGN(4096);
93 __init_begin = .;
94 .init.text : {
95 _sinittext = .;
96 *(.init.text)
97 _einittext = .;
98 }
99 .init.data : {
100 *(.init.data);
101 __vtop_table_begin = .;
102 *(.vtop_fixup);
103 __vtop_table_end = .;
104 __ptov_table_begin = .;
105 *(.ptov_fixup);
106 __ptov_table_end = .;
107 }
108 . = ALIGN(16);
109 __setup_start = .;
110 .init.setup : { *(.init.setup) }
111 __setup_end = .;
112 __initcall_start = .;
113 .initcall.init : {
114 *(.initcall1.init)
115 *(.initcall2.init)
116 *(.initcall3.init)
117 *(.initcall4.init)
118 *(.initcall5.init)
119 *(.initcall6.init)
120 *(.initcall7.init)
121 }
122 __initcall_end = .;
123
124 __con_initcall_start = .;
125 .con_initcall.init : { *(.con_initcall.init) }
126 __con_initcall_end = .;
127
128 SECURITY_INIT
129
130 __start___ftr_fixup = .;
131 __ftr_fixup : { *(__ftr_fixup) }
132 __stop___ftr_fixup = .;
133
134 . = ALIGN(32);
135 __per_cpu_start = .;
136 .data.percpu : { *(.data.percpu) }
137 __per_cpu_end = .;
138
139 . = ALIGN(4096);
140 __initramfs_start = .;
141 .init.ramfs : { *(.init.ramfs) }
142 __initramfs_end = .;
143
144 . = ALIGN(4096);
145 __init_end = .;
146
147 . = ALIGN(4096);
148 __pmac_begin = .;
149 .pmac.text : { *(.pmac.text) }
150 .pmac.data : { *(.pmac.data) }
151 . = ALIGN(4096);
152 __pmac_end = .;
153
154 . = ALIGN(4096);
155 __prep_begin = .;
156 .prep.text : { *(.prep.text) }
157 .prep.data : { *(.prep.data) }
158 . = ALIGN(4096);
159 __prep_end = .;
160
161 . = ALIGN(4096);
162 __chrp_begin = .;
163 .chrp.text : { *(.chrp.text) }
164 .chrp.data : { *(.chrp.data) }
165 . = ALIGN(4096);
166 __chrp_end = .;
167
168 . = ALIGN(4096);
169 __openfirmware_begin = .;
170 .openfirmware.text : { *(.openfirmware.text) }
171 .openfirmware.data : { *(.openfirmware.data) }
172 . = ALIGN(4096);
173 __openfirmware_end = .;
174
175 __bss_start = .;
176 .bss :
177 {
178 *(.sbss) *(.scommon)
179 *(.dynbss)
180 *(.bss)
181 *(COMMON)
182 }
183 __bss_stop = .;
184
185 _end = . ;
186 PROVIDE (end = .);
187
188 /* Sections to be discarded. */
189 /DISCARD/ : {
190 *(.exitcall.exit)
191 }
192}