diff options
| -rw-r--r-- | arch/ia64/kernel/vmlinux.lds.S | 109 |
1 files changed, 11 insertions, 98 deletions
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index b484b86da830..f69f411516d5 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
| @@ -64,14 +64,7 @@ SECTIONS | |||
| 64 | 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 */ |
| 65 | code_continues : {} :code /* switch back to regular program... */ | 65 | code_continues : {} :code /* switch back to regular program... */ |
| 66 | 66 | ||
| 67 | /* Exception table */ | 67 | EXCEPTION_TABLE(16) |
| 68 | . = ALIGN(16); | ||
| 69 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) | ||
| 70 | { | ||
| 71 | __start___ex_table = .; | ||
| 72 | *(__ex_table) | ||
| 73 | __stop___ex_table = .; | ||
| 74 | } | ||
| 75 | 68 | ||
| 76 | /* MCA table */ | 69 | /* MCA table */ |
| 77 | . = ALIGN(16); | 70 | . = ALIGN(16); |
| @@ -113,38 +106,9 @@ SECTIONS | |||
| 113 | 106 | ||
| 114 | . = ALIGN(PAGE_SIZE); | 107 | . = ALIGN(PAGE_SIZE); |
| 115 | __init_begin = .; | 108 | __init_begin = .; |
| 116 | .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) | ||
| 117 | { | ||
| 118 | _sinittext = .; | ||
| 119 | INIT_TEXT | ||
| 120 | _einittext = .; | ||
| 121 | } | ||
| 122 | |||
| 123 | .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) | ||
| 124 | { INIT_DATA } | ||
| 125 | |||
| 126 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 127 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) | ||
| 128 | { | ||
| 129 | __initramfs_start = .; | ||
| 130 | *(.init.ramfs) | ||
| 131 | __initramfs_end = .; | ||
| 132 | } | ||
| 133 | #endif | ||
| 134 | 109 | ||
| 135 | . = ALIGN(16); | 110 | INIT_TEXT_SECTION(PAGE_SIZE) |
| 136 | .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) | 111 | INIT_DATA_SECTION(16) |
| 137 | { | ||
| 138 | __setup_start = .; | ||
| 139 | *(.init.setup) | ||
| 140 | __setup_end = .; | ||
| 141 | } | ||
| 142 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) | ||
| 143 | { | ||
| 144 | __initcall_start = .; | ||
| 145 | INITCALLS | ||
| 146 | __initcall_end = .; | ||
| 147 | } | ||
| 148 | 112 | ||
| 149 | .data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET) | 113 | .data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET) |
| 150 | { | 114 | { |
| @@ -202,22 +166,9 @@ SECTIONS | |||
| 202 | } | 166 | } |
| 203 | #endif | 167 | #endif |
| 204 | 168 | ||
| 205 | . = ALIGN(8); | ||
| 206 | __con_initcall_start = .; | ||
| 207 | .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) | ||
| 208 | { *(.con_initcall.init) } | ||
| 209 | __con_initcall_end = .; | ||
| 210 | __security_initcall_start = .; | ||
| 211 | .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) | ||
| 212 | { *(.security_initcall.init) } | ||
| 213 | __security_initcall_end = .; | ||
| 214 | . = ALIGN(PAGE_SIZE); | 169 | . = ALIGN(PAGE_SIZE); |
| 215 | __init_end = .; | 170 | __init_end = .; |
| 216 | 171 | ||
| 217 | /* The initial task and kernel stack */ | ||
| 218 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) | ||
| 219 | { *(.data.init_task) } | ||
| 220 | |||
| 221 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) | 172 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) |
| 222 | { | 173 | { |
| 223 | PAGE_ALIGNED_DATA(PAGE_SIZE) | 174 | PAGE_ALIGNED_DATA(PAGE_SIZE) |
| @@ -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,49 +222,14 @@ 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 | /* These must appear regardless of . */ | ||
| 320 | /DISCARD/ : { *(.comment) } | ||
| 321 | /DISCARD/ : { *(.note) } | 234 | /DISCARD/ : { *(.note) } |
| 322 | } | 235 | } |
