aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/head_32.S7
-rw-r--r--arch/x86/kernel/vmlinux.lds.S31
-rw-r--r--arch/x86/kernel/vmlinux_32.lds.S24
-rw-r--r--arch/x86/kernel/vmlinux_64.lds.S20
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:
608ENTRY(initial_code) 608ENTRY(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 */
615ENTRY(stext)
616ENTRY(_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) {