diff options
Diffstat (limited to 'arch/x86_64/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index b9df2ab6529f..514be5dd2303 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
@@ -13,10 +13,12 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") | |||
13 | OUTPUT_ARCH(i386:x86-64) | 13 | OUTPUT_ARCH(i386:x86-64) |
14 | ENTRY(phys_startup_64) | 14 | ENTRY(phys_startup_64) |
15 | jiffies_64 = jiffies; | 15 | jiffies_64 = jiffies; |
16 | _proxy_pda = 0; | ||
16 | PHDRS { | 17 | PHDRS { |
17 | text PT_LOAD FLAGS(5); /* R_E */ | 18 | text PT_LOAD FLAGS(5); /* R_E */ |
18 | data PT_LOAD FLAGS(7); /* RWE */ | 19 | data PT_LOAD FLAGS(7); /* RWE */ |
19 | user PT_LOAD FLAGS(7); /* RWE */ | 20 | user PT_LOAD FLAGS(7); /* RWE */ |
21 | data.init PT_LOAD FLAGS(7); /* RWE */ | ||
20 | note PT_NOTE FLAGS(4); /* R__ */ | 22 | note PT_NOTE FLAGS(4); /* R__ */ |
21 | } | 23 | } |
22 | SECTIONS | 24 | SECTIONS |
@@ -50,15 +52,9 @@ SECTIONS | |||
50 | 52 | ||
51 | RODATA | 53 | RODATA |
52 | 54 | ||
53 | #ifdef CONFIG_STACK_UNWIND | 55 | BUG_TABLE |
54 | . = ALIGN(8); | ||
55 | .eh_frame : AT(ADDR(.eh_frame) - LOAD_OFFSET) { | ||
56 | __start_unwind = .; | ||
57 | *(.eh_frame) | ||
58 | __end_unwind = .; | ||
59 | } | ||
60 | #endif | ||
61 | 56 | ||
57 | . = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */ | ||
62 | /* Data */ | 58 | /* Data */ |
63 | .data : AT(ADDR(.data) - LOAD_OFFSET) { | 59 | .data : AT(ADDR(.data) - LOAD_OFFSET) { |
64 | *(.data) | 60 | *(.data) |
@@ -131,7 +127,7 @@ SECTIONS | |||
131 | . = ALIGN(8192); /* init_task */ | 127 | . = ALIGN(8192); /* init_task */ |
132 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { | 128 | .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { |
133 | *(.data.init_task) | 129 | *(.data.init_task) |
134 | } :data | 130 | }:data.init |
135 | 131 | ||
136 | . = ALIGN(4096); | 132 | . = ALIGN(4096); |
137 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { | 133 | .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) { |
@@ -174,13 +170,7 @@ SECTIONS | |||
174 | __setup_end = .; | 170 | __setup_end = .; |
175 | __initcall_start = .; | 171 | __initcall_start = .; |
176 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { | 172 | .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { |
177 | *(.initcall1.init) | 173 | INITCALLS |
178 | *(.initcall2.init) | ||
179 | *(.initcall3.init) | ||
180 | *(.initcall4.init) | ||
181 | *(.initcall5.init) | ||
182 | *(.initcall6.init) | ||
183 | *(.initcall7.init) | ||
184 | } | 174 | } |
185 | __initcall_end = .; | 175 | __initcall_end = .; |
186 | __con_initcall_start = .; | 176 | __con_initcall_start = .; |