diff options
Diffstat (limited to 'arch/ia64/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/ia64/kernel/vmlinux.lds.S | 113 |
1 files changed, 14 insertions, 99 deletions
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index eb4214d1c5af..0a0c77b2c988 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
@@ -51,8 +51,6 @@ SECTIONS | |||
51 | KPROBES_TEXT | 51 | KPROBES_TEXT |
52 | *(.gnu.linkonce.t*) | 52 | *(.gnu.linkonce.t*) |
53 | } | 53 | } |
54 | .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) | ||
55 | { *(.text.head) } | ||
56 | .text2 : AT(ADDR(.text2) - LOAD_OFFSET) | 54 | .text2 : AT(ADDR(.text2) - LOAD_OFFSET) |
57 | { *(.text2) } | 55 | { *(.text2) } |
58 | #ifdef CONFIG_SMP | 56 | #ifdef CONFIG_SMP |
@@ -66,14 +64,7 @@ SECTIONS | |||
66 | NOTES :code :note /* put .notes in text and mark in PT_NOTE */ | 64 | NOTES :code :note /* put .notes in text and mark in PT_NOTE */ |
67 | code_continues : {} :code /* switch back to regular program... */ | 65 | code_continues : {} :code /* switch back to regular program... */ |
68 | 66 | ||
69 | /* Exception table */ | 67 | EXCEPTION_TABLE(16) |
70 | . = ALIGN(16); | ||
71 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) | ||
72 | { | ||
73 | __start___ex_table = .; | ||
74 | *(__ex_table) | ||
75 | __stop___ex_table = .; | ||
76 | } | ||
77 | 68 | ||
78 | /* MCA table */ | 69 | /* MCA table */ |
79 | . = ALIGN(16); | 70 | . = ALIGN(16); |
@@ -115,38 +106,9 @@ SECTIONS | |||
115 | 106 | ||
116 | . = ALIGN(PAGE_SIZE); | 107 | . = ALIGN(PAGE_SIZE); |
117 | __init_begin = .; | 108 | __init_begin = .; |
118 | .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) | ||
119 | { | ||
120 | _sinittext = .; | ||
121 | INIT_TEXT | ||
122 | _einittext = .; | ||
123 | } | ||
124 | |||
125 | .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) | ||
126 | { INIT_DATA } | ||
127 | 109 | ||
128 | #ifdef CONFIG_BLK_DEV_INITRD | 110 | INIT_TEXT_SECTION(PAGE_SIZE) |
129 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) | 111 | INIT_DATA_SECTION(16) |
130 | { | ||
131 | __initramfs_start = .; | ||
132 | *(.init.ramfs) | ||
133 | __initramfs_end = .; | ||
134 | } | ||
135 | #endif | ||
136 | |||
137 | . = ALIGN(16); | ||
138 | .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) | ||
139 | { | ||
140 | __setup_start = .; | ||
141 | *(.init.setup) | ||
142 | __setup_end = .; | ||
143 | } | ||
144 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) | ||
145 | { | ||
146 | __initcall_start = .; | ||
147 | INITCALLS | ||
148 | __initcall_end = .; | ||
149 | } | ||
150 | 112 | ||
151 | .data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET) | 113 | .data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET) |
152 | { | 114 | { |
@@ -204,24 +166,13 @@ SECTIONS | |||
204 | } | 166 | } |
205 | #endif | 167 | #endif |
206 | 168 | ||
207 | . = ALIGN(8); | ||
208 | __con_initcall_start = .; | ||
209 | .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) | ||
210 | { *(.con_initcall.init) } | ||
211 | __con_initcall_end = .; | ||
212 | __security_initcall_start = .; | ||
213 | .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) | ||
214 | { *(.security_initcall.init) } | ||
215 | __security_initcall_end = .; | ||
216 | . = ALIGN(PAGE_SIZE); | 169 | . = ALIGN(PAGE_SIZE); |
217 | __init_end = .; | 170 | __init_end = .; |
218 | 171 | ||
219 | /* The initial task and kernel stack */ | ||
220 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) | ||
221 | { *(.data.init_task) } | ||
222 | |||
223 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) | 172 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) |
224 | { *(__special_page_section) | 173 | { |
174 | PAGE_ALIGNED_DATA(PAGE_SIZE) | ||
175 | . = ALIGN(PAGE_SIZE); | ||
225 | __start_gate_section = .; | 176 | __start_gate_section = .; |
226 | *(.data.gate) | 177 | *(.data.gate) |
227 | __stop_gate_section = .; | 178 | __stop_gate_section = .; |
@@ -236,12 +187,6 @@ SECTIONS | |||
236 | * kernel data | 187 | * kernel data |
237 | */ | 188 | */ |
238 | 189 | ||
239 | .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) | ||
240 | { *(.data.read_mostly) } | ||
241 | |||
242 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) | ||
243 | { *(.data.cacheline_aligned) } | ||
244 | |||
245 | /* Per-cpu data: */ | 190 | /* Per-cpu data: */ |
246 | . = ALIGN(PERCPU_PAGE_SIZE); | 191 | . = ALIGN(PERCPU_PAGE_SIZE); |
247 | PERCPU_VADDR(PERCPU_ADDR, :percpu) | 192 | PERCPU_VADDR(PERCPU_ADDR, :percpu) |
@@ -258,6 +203,9 @@ SECTIONS | |||
258 | __cpu0_per_cpu = .; | 203 | __cpu0_per_cpu = .; |
259 | . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */ | 204 | . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */ |
260 | #endif | 205 | #endif |
206 | INIT_TASK_DATA(PAGE_SIZE) | ||
207 | CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES) | ||
208 | READ_MOSTLY_DATA(SMP_CACHE_BYTES) | ||
261 | DATA_DATA | 209 | DATA_DATA |
262 | *(.data1) | 210 | *(.data1) |
263 | *(.gnu.linkonce.d*) | 211 | *(.gnu.linkonce.d*) |
@@ -274,48 +222,15 @@ SECTIONS | |||
274 | .sdata : AT(ADDR(.sdata) - LOAD_OFFSET) | 222 | .sdata : AT(ADDR(.sdata) - LOAD_OFFSET) |
275 | { *(.sdata) *(.sdata1) *(.srdata) } | 223 | { *(.sdata) *(.sdata1) *(.srdata) } |
276 | _edata = .; | 224 | _edata = .; |
277 | __bss_start = .; | 225 | |
278 | .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) | 226 | BSS_SECTION(0, 0, 0) |
279 | { *(.sbss) *(.scommon) } | ||
280 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) | ||
281 | { *(.bss) *(COMMON) } | ||
282 | __bss_stop = .; | ||
283 | 227 | ||
284 | _end = .; | 228 | _end = .; |
285 | 229 | ||
286 | code : { } :code | 230 | code : { } :code |
287 | /* Stabs debugging sections. */ | 231 | |
288 | .stab 0 : { *(.stab) } | 232 | STABS_DEBUG |
289 | .stabstr 0 : { *(.stabstr) } | 233 | DWARF_DEBUG |
290 | .stab.excl 0 : { *(.stab.excl) } | ||
291 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
292 | .stab.index 0 : { *(.stab.index) } | ||
293 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
294 | /* DWARF debug sections. | ||
295 | Symbols in the DWARF debugging sections are relative to the beginning | ||
296 | of the section so we begin them at 0. */ | ||
297 | /* DWARF 1 */ | ||
298 | .debug 0 : { *(.debug) } | ||
299 | .line 0 : { *(.line) } | ||
300 | /* GNU DWARF 1 extensions */ | ||
301 | .debug_srcinfo 0 : { *(.debug_srcinfo) } | ||
302 | .debug_sfnames 0 : { *(.debug_sfnames) } | ||
303 | /* DWARF 1.1 and DWARF 2 */ | ||
304 | .debug_aranges 0 : { *(.debug_aranges) } | ||
305 | .debug_pubnames 0 : { *(.debug_pubnames) } | ||
306 | /* DWARF 2 */ | ||
307 | .debug_info 0 : { *(.debug_info) } | ||
308 | .debug_abbrev 0 : { *(.debug_abbrev) } | ||
309 | .debug_line 0 : { *(.debug_line) } | ||
310 | .debug_frame 0 : { *(.debug_frame) } | ||
311 | .debug_str 0 : { *(.debug_str) } | ||
312 | .debug_loc 0 : { *(.debug_loc) } | ||
313 | .debug_macinfo 0 : { *(.debug_macinfo) } | ||
314 | /* SGI/MIPS DWARF 2 extensions */ | ||
315 | .debug_weaknames 0 : { *(.debug_weaknames) } | ||
316 | .debug_funcnames 0 : { *(.debug_funcnames) } | ||
317 | .debug_typenames 0 : { *(.debug_typenames) } | ||
318 | .debug_varnames 0 : { *(.debug_varnames) } | ||
319 | 234 | ||
320 | /* Default discards */ | 235 | /* Default discards */ |
321 | DISCARDS | 236 | DISCARDS |