]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/ppc/kernel/vmlinux.lds.S
Pull sbs into release branch
[mirror_ubuntu-bionic-kernel.git] / arch / ppc / kernel / vmlinux.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2
3 OUTPUT_ARCH(powerpc:common)
4 jiffies = jiffies_64 + 4;
5 SECTIONS
6 {
7 /* Read-only sections, merged into text segment: */
8 . = + SIZEOF_HEADERS;
9 .interp : { *(.interp) }
10 .hash : { *(.hash) }
11 .gnu.hash : { *(.gnu.hash) }
12 .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 TEXT_TEXT
36 SCHED_TEXT
37 LOCK_TEXT
38 *(.fixup)
39 *(.got1)
40 __got2_start = .;
41 *(.got2)
42 __got2_end = .;
43 }
44 _etext = .;
45 PROVIDE (etext = .);
46
47 RODATA
48 .fini : { *(.fini) } =0
49 .ctors : { *(.ctors) }
50 .dtors : { *(.dtors) }
51
52 .fixup : { *(.fixup) }
53
54 __ex_table : {
55 __start___ex_table = .;
56 *(__ex_table)
57 __stop___ex_table = .;
58 }
59
60 __bug_table : {
61 __start___bug_table = .;
62 *(__bug_table)
63 __stop___bug_table = .;
64 }
65
66 /* Read-write section, merged into data segment: */
67 . = ALIGN(4096);
68 .data :
69 {
70 DATA_DATA
71 *(.data1)
72 *(.sdata)
73 *(.sdata2)
74 *(.got.plt) *(.got)
75 *(.dynamic)
76 CONSTRUCTORS
77 }
78
79 . = ALIGN(4096);
80 __nosave_begin = .;
81 .data_nosave : { *(.data.nosave) }
82 . = ALIGN(4096);
83 __nosave_end = .;
84
85 . = ALIGN(32);
86 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
87
88 _edata = .;
89 PROVIDE (edata = .);
90
91 . = ALIGN(8192);
92 .data.init_task : { *(.data.init_task) }
93
94 . = ALIGN(4096);
95 __init_begin = .;
96 .init.text : {
97 _sinittext = .;
98 *(.init.text)
99 _einittext = .;
100 }
101 /* .exit.text is discarded at runtime, not link time,
102 to deal with references from __bug_table */
103 .exit.text : { *(.exit.text) }
104 .init.data : {
105 *(.init.data);
106 __vtop_table_begin = .;
107 *(.vtop_fixup);
108 __vtop_table_end = .;
109 __ptov_table_begin = .;
110 *(.ptov_fixup);
111 __ptov_table_end = .;
112 }
113 . = ALIGN(16);
114 __setup_start = .;
115 .init.setup : { *(.init.setup) }
116 __setup_end = .;
117 __initcall_start = .;
118 .initcall.init : {
119 INITCALLS
120 }
121 __initcall_end = .;
122
123 __con_initcall_start = .;
124 .con_initcall.init : { *(.con_initcall.init) }
125 __con_initcall_end = .;
126
127 SECURITY_INIT
128
129 __start___ftr_fixup = .;
130 __ftr_fixup : { *(__ftr_fixup) }
131 __stop___ftr_fixup = .;
132
133 PERCPU(4096)
134
135 #ifdef CONFIG_BLK_DEV_INITRD
136 . = ALIGN(4096);
137 __initramfs_start = .;
138 .init.ramfs : { *(.init.ramfs) }
139 __initramfs_end = .;
140 #endif
141
142 . = ALIGN(4096);
143 __init_end = .;
144
145 . = ALIGN(4096);
146 _sextratext = .;
147 _eextratext = .;
148
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)
165 *(.exit.data)
166 }
167 }