aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2009-04-29 03:47:26 -0400
committerIngo Molnar <mingo@elte.hu>2009-04-29 04:20:33 -0400
commitae61836289a415351caa524d328110aaeae100d4 (patch)
tree62ba86e83d25201bfad8b9ab7c77e85441ef80bc /arch/x86
parente58bdaa8f810332e5c1760ce496b01e07d51642c (diff)
x86, vmlinux.lds: unify parainstructions
32 bit: - increase alignment from 4 to 8 for .parainstructions - increase alignment from 4 to 8 for .altinstructions 64 bit: - move ALIGN() outside output section for .altinstructions None of the above should result in any functional change. [ Impact: refactor and unify linker script ] Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Tim Abbott <tabbott@MIT.EDU> Cc: Linus Torvalds <torvalds@linux-foundation.org> LKML-Reference: <1240991249-27117-10-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/vmlinux.lds.S18
-rw-r--r--arch/x86/kernel/vmlinux_32.lds.S18
-rw-r--r--arch/x86/kernel/vmlinux_64.lds.S18
3 files changed, 18 insertions, 36 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 8b203c4ced9b..c8dd71ecb56f 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -291,6 +291,24 @@ SECTIONS
291 291
292 SECURITY_INIT 292 SECURITY_INIT
293 293
294 . = ALIGN(8);
295 .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
296 __parainstructions = .;
297 *(.parainstructions)
298 __parainstructions_end = .;
299 }
300
301 . = ALIGN(8);
302 .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
303 __alt_instructions = .;
304 *(.altinstructions)
305 __alt_instructions_end = .;
306 }
307
308 .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
309 *(.altinstr_replacement)
310 }
311
294 312
295#ifdef CONFIG_X86_32 313#ifdef CONFIG_X86_32
296# include "vmlinux_32.lds.S" 314# include "vmlinux_32.lds.S"
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S
index d8ba5394af03..5df9647bb5d9 100644
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -1,21 +1,3 @@
1 . = ALIGN(4);
2 .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
3 __alt_instructions = .;
4 *(.altinstructions)
5 __alt_instructions_end = .;
6 }
7
8 .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
9 *(.altinstr_replacement)
10 }
11
12 . = ALIGN(4);
13 .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
14 __parainstructions = .;
15 *(.parainstructions)
16 __parainstructions_end = .;
17 }
18
19 /* 1 /*
20 * .exit.text is discard at runtime, not link time, to deal with 2 * .exit.text is discard at runtime, not link time, to deal with
21 * references from .altinstructions and .eh_frame 3 * references from .altinstructions and .eh_frame
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
index 0e8054e0c5c4..9ef709669852 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -1,21 +1,3 @@
1 . = ALIGN(8);
2 .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
3 __parainstructions = .;
4 *(.parainstructions)
5 __parainstructions_end = .;
6 }
7
8 .altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
9 . = ALIGN(8);
10 __alt_instructions = .;
11 *(.altinstructions)
12 __alt_instructions_end = .;
13 }
14
15 .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
16 *(.altinstr_replacement)
17 }
18
19 /* 1 /*
20 * .exit.text is discard at runtime, not link time, to deal with 2 * .exit.text is discard at runtime, not link time, to deal with
21 * references from .altinstructions and .eh_frame 3 * references from .altinstructions and .eh_frame