diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/head_32.S | 7 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 31 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_32.lds.S | 24 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_64.lds.S | 20 |
4 files changed, 31 insertions, 51 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 30683883e0cd..dc5ed4bdd88d 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -608,13 +608,6 @@ ignore_int: | |||
608 | ENTRY(initial_code) | 608 | ENTRY(initial_code) |
609 | .long i386_start_kernel | 609 | .long i386_start_kernel |
610 | 610 | ||
611 | .section .text | ||
612 | /* | ||
613 | * Real beginning of normal "text" segment | ||
614 | */ | ||
615 | ENTRY(stext) | ||
616 | ENTRY(_stext) | ||
617 | |||
618 | /* | 611 | /* |
619 | * BSS section | 612 | * BSS section |
620 | */ | 613 | */ |
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index 845776fe5298..a7c88bb43650 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -64,6 +64,37 @@ SECTIONS | |||
64 | phys_startup_64 = startup_64 - LOAD_OFFSET; | 64 | phys_startup_64 = startup_64 - LOAD_OFFSET; |
65 | #endif | 65 | #endif |
66 | 66 | ||
67 | /* Text and read-only data */ | ||
68 | |||
69 | /* bootstrapping code */ | ||
70 | .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) { | ||
71 | _text = .; | ||
72 | *(.text.head) | ||
73 | } :text = 0x9090 | ||
74 | |||
75 | /* The rest of the text */ | ||
76 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
77 | #ifdef CONFIG_X86_32 | ||
78 | /* not really needed, already page aligned */ | ||
79 | . = ALIGN(PAGE_SIZE); | ||
80 | *(.text.page_aligned) | ||
81 | #endif | ||
82 | . = ALIGN(8); | ||
83 | _stext = .; | ||
84 | TEXT_TEXT | ||
85 | SCHED_TEXT | ||
86 | LOCK_TEXT | ||
87 | KPROBES_TEXT | ||
88 | IRQENTRY_TEXT | ||
89 | *(.fixup) | ||
90 | *(.gnu.warning) | ||
91 | /* End of text section */ | ||
92 | _etext = .; | ||
93 | } :text = 0x9090 | ||
94 | |||
95 | NOTES :text :note | ||
96 | |||
97 | |||
67 | #ifdef CONFIG_X86_32 | 98 | #ifdef CONFIG_X86_32 |
68 | # include "vmlinux_32.lds.S" | 99 | # include "vmlinux_32.lds.S" |
69 | #else | 100 | #else |
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S index 3d3d49c31b0e..854009288ec4 100644 --- a/arch/x86/kernel/vmlinux_32.lds.S +++ b/arch/x86/kernel/vmlinux_32.lds.S | |||
@@ -1,27 +1,3 @@ | |||
1 | /* Text and read-only data */ | ||
2 | .text.head : AT(ADDR(.text.head) - LOAD_OFFSET) { | ||
3 | _text = .; | ||
4 | *(.text.head) | ||
5 | } :text = 0x9090 | ||
6 | |||
7 | /* read-only */ | ||
8 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
9 | /* not really needed, already page aligned */ | ||
10 | . = ALIGN(PAGE_SIZE); | ||
11 | *(.text.page_aligned) | ||
12 | TEXT_TEXT | ||
13 | SCHED_TEXT | ||
14 | LOCK_TEXT | ||
15 | KPROBES_TEXT | ||
16 | IRQENTRY_TEXT | ||
17 | *(.fixup) | ||
18 | *(.gnu.warning) | ||
19 | /* End of text section */ | ||
20 | _etext = .; | ||
21 | } :text = 0x9090 | ||
22 | |||
23 | NOTES :text :note | ||
24 | |||
25 | /* Exception table */ | 1 | /* Exception table */ |
26 | . = ALIGN(16); | 2 | . = ALIGN(16); |
27 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | 3 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { |
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S index 2d7fa2016c31..b5d43670d809 100644 --- a/arch/x86/kernel/vmlinux_64.lds.S +++ b/arch/x86/kernel/vmlinux_64.lds.S | |||
@@ -1,23 +1,3 @@ | |||
1 | /* Text and read-only data */ | ||
2 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | ||
3 | _text = .; | ||
4 | /* First the code that has to be first for bootstrapping */ | ||
5 | *(.text.head) | ||
6 | _stext = .; | ||
7 | /* Then the rest */ | ||
8 | TEXT_TEXT | ||
9 | SCHED_TEXT | ||
10 | LOCK_TEXT | ||
11 | KPROBES_TEXT | ||
12 | IRQENTRY_TEXT | ||
13 | *(.fixup) | ||
14 | *(.gnu.warning) | ||
15 | /* End of text section */ | ||
16 | _etext = .; | ||
17 | } :text = 0x9090 | ||
18 | |||
19 | NOTES :text :note | ||
20 | |||
21 | /* Exception table */ | 1 | /* Exception table */ |
22 | . = ALIGN(16); | 2 | . = ALIGN(16); |
23 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | 3 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { |