diff options
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 20 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_32.lds.S | 21 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_64.lds.S | 21 |
3 files changed, 20 insertions, 42 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index c8dd71ecb56f..1ab62a5fa1a5 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -309,6 +309,26 @@ SECTIONS | |||
309 | *(.altinstr_replacement) | 309 | *(.altinstr_replacement) |
310 | } | 310 | } |
311 | 311 | ||
312 | /* | ||
313 | * .exit.text is discard at runtime, not link time, to deal with | ||
314 | * references from .altinstructions and .eh_frame | ||
315 | */ | ||
316 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
317 | EXIT_TEXT | ||
318 | } | ||
319 | |||
320 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
321 | EXIT_DATA | ||
322 | } | ||
323 | |||
324 | #ifdef CONFIG_BLK_DEV_INITRD | ||
325 | . = ALIGN(PAGE_SIZE); | ||
326 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
327 | __initramfs_start = .; | ||
328 | *(.init.ramfs) | ||
329 | __initramfs_end = .; | ||
330 | } | ||
331 | #endif | ||
312 | 332 | ||
313 | #ifdef CONFIG_X86_32 | 333 | #ifdef CONFIG_X86_32 |
314 | # include "vmlinux_32.lds.S" | 334 | # include "vmlinux_32.lds.S" |
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S index 5df9647bb5d9..36c8fbd3c762 100644 --- a/arch/x86/kernel/vmlinux_32.lds.S +++ b/arch/x86/kernel/vmlinux_32.lds.S | |||
@@ -1,24 +1,3 @@ | |||
1 | /* | ||
2 | * .exit.text is discard at runtime, not link time, to deal with | ||
3 | * references from .altinstructions and .eh_frame | ||
4 | */ | ||
5 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
6 | EXIT_TEXT | ||
7 | } | ||
8 | |||
9 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
10 | EXIT_DATA | ||
11 | } | ||
12 | |||
13 | #if defined(CONFIG_BLK_DEV_INITRD) | ||
14 | . = ALIGN(PAGE_SIZE); | ||
15 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
16 | __initramfs_start = .; | ||
17 | *(.init.ramfs) | ||
18 | __initramfs_end = .; | ||
19 | } | ||
20 | #endif | ||
21 | |||
22 | PERCPU(PAGE_SIZE) | 1 | PERCPU(PAGE_SIZE) |
23 | 2 | ||
24 | . = ALIGN(PAGE_SIZE); | 3 | . = ALIGN(PAGE_SIZE); |
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S index 9ef709669852..1aa536223330 100644 --- a/arch/x86/kernel/vmlinux_64.lds.S +++ b/arch/x86/kernel/vmlinux_64.lds.S | |||
@@ -1,24 +1,3 @@ | |||
1 | /* | ||
2 | * .exit.text is discard at runtime, not link time, to deal with | ||
3 | * references from .altinstructions and .eh_frame | ||
4 | */ | ||
5 | .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { | ||
6 | EXIT_TEXT | ||
7 | } | ||
8 | |||
9 | .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { | ||
10 | EXIT_DATA | ||
11 | } | ||
12 | |||
13 | #ifdef CONFIG_BLK_DEV_INITRD | ||
14 | . = ALIGN(PAGE_SIZE); | ||
15 | .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { | ||
16 | __initramfs_start = .; | ||
17 | *(.init.ramfs) | ||
18 | __initramfs_end = .; | ||
19 | } | ||
20 | #endif | ||
21 | |||
22 | #ifdef CONFIG_SMP | 1 | #ifdef CONFIG_SMP |
23 | /* | 2 | /* |
24 | * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the | 3 | * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the |