blob: 16e8661e1fec331cf5fee951288ca6440de0e09b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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) }
Roland McGrath0b0bf7a2006-07-30 03:04:06 -070011 .gnu.hash : { *(.gnu.hash) }
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 .dynsym : { *(.dynsym) }
13 .dynstr : { *(.dynstr) }
14 .rel.text : { *(.rel.text) }
15 .rela.text : { *(.rela.text) }
16 .rel.data : { *(.rel.data) }
17 .rela.data : { *(.rela.data) }
18 .rel.rodata : { *(.rel.rodata) }
19 .rela.rodata : { *(.rela.rodata) }
20 .rel.got : { *(.rel.got) }
21 .rela.got : { *(.rela.got) }
22 .rel.ctors : { *(.rel.ctors) }
23 .rela.ctors : { *(.rela.ctors) }
24 .rel.dtors : { *(.rel.dtors) }
25 .rela.dtors : { *(.rela.dtors) }
26 .rel.bss : { *(.rel.bss) }
27 .rela.bss : { *(.rela.bss) }
28 .rel.plt : { *(.rel.plt) }
29 .rela.plt : { *(.rela.plt) }
30/* .init : { *(.init) } =0*/
31 .plt : { *(.plt) }
32 .text :
33 {
34 *(.text)
35 SCHED_TEXT
36 LOCK_TEXT
37 *(.fixup)
38 *(.got1)
39 __got2_start = .;
40 *(.got2)
41 __got2_end = .;
42 }
43 _etext = .;
44 PROVIDE (etext = .);
45
46 RODATA
47 .fini : { *(.fini) } =0
48 .ctors : { *(.ctors) }
49 .dtors : { *(.dtors) }
50
51 .fixup : { *(.fixup) }
52
53 __ex_table : {
54 __start___ex_table = .;
55 *(__ex_table)
56 __stop___ex_table = .;
57 }
58
59 __bug_table : {
60 __start___bug_table = .;
61 *(__bug_table)
62 __stop___bug_table = .;
63 }
64
65 /* Read-write section, merged into data segment: */
66 . = ALIGN(4096);
67 .data :
68 {
69 *(.data)
70 *(.data1)
71 *(.sdata)
72 *(.sdata2)
73 *(.got.plt) *(.got)
74 *(.dynamic)
75 CONSTRUCTORS
76 }
77
78 . = ALIGN(4096);
79 __nosave_begin = .;
80 .data_nosave : { *(.data.nosave) }
81 . = ALIGN(4096);
82 __nosave_end = .;
83
84 . = ALIGN(32);
85 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
86
87 _edata = .;
88 PROVIDE (edata = .);
89
90 . = ALIGN(8192);
91 .data.init_task : { *(.data.init_task) }
92
93 . = ALIGN(4096);
94 __init_begin = .;
95 .init.text : {
96 _sinittext = .;
97 *(.init.text)
98 _einittext = .;
99 }
Tom Rini6a00cbf2005-09-13 01:25:09 -0700100 /* .exit.text is discarded at runtime, not link time,
101 to deal with references from __bug_table */
102 .exit.text : { *(.exit.text) }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 .init.data : {
104 *(.init.data);
105 __vtop_table_begin = .;
106 *(.vtop_fixup);
107 __vtop_table_end = .;
108 __ptov_table_begin = .;
109 *(.ptov_fixup);
110 __ptov_table_end = .;
111 }
112 . = ALIGN(16);
113 __setup_start = .;
114 .init.setup : { *(.init.setup) }
115 __setup_end = .;
116 __initcall_start = .;
117 .initcall.init : {
Andrew Morton61ce1ef2006-10-27 11:41:44 -0700118 INITCALLS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 }
120 __initcall_end = .;
121
122 __con_initcall_start = .;
123 .con_initcall.init : { *(.con_initcall.init) }
124 __con_initcall_end = .;
125
126 SECURITY_INIT
127
128 __start___ftr_fixup = .;
129 __ftr_fixup : { *(__ftr_fixup) }
130 __stop___ftr_fixup = .;
131
132 . = ALIGN(32);
133 __per_cpu_start = .;
134 .data.percpu : { *(.data.percpu) }
135 __per_cpu_end = .;
136
137 . = ALIGN(4096);
138 __initramfs_start = .;
139 .init.ramfs : { *(.init.ramfs) }
140 __initramfs_end = .;
141
142 . = ALIGN(4096);
143 __init_end = .;
144
145 . = ALIGN(4096);
David Woodhouse075d6eb2005-05-05 16:15:09 -0700146 _sextratext = .;
David Woodhouse075d6eb2005-05-05 16:15:09 -0700147 _eextratext = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148
149 __bss_start = .;
150 .bss :
151 {
152 *(.sbss) *(.scommon)
153 *(.dynbss)
154 *(.bss)
155 *(COMMON)
156 }
157 __bss_stop = .;
158
159 _end = . ;
160 PROVIDE (end = .);
161
162 /* Sections to be discarded. */
163 /DISCARD/ : {
164 *(.exitcall.exit)
Tom Rini6a00cbf2005-09-13 01:25:09 -0700165 *(.exit.data)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 }
167}