diff options
Diffstat (limited to 'arch/x86/boot/compressed/vmlinux.lds.S')
-rw-r--r-- | arch/x86/boot/compressed/vmlinux.lds.S | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/arch/x86/boot/compressed/vmlinux.lds.S b/arch/x86/boot/compressed/vmlinux.lds.S new file mode 100644 index 000000000000..ffcb19134bf7 --- /dev/null +++ b/arch/x86/boot/compressed/vmlinux.lds.S | |||
@@ -0,0 +1,57 @@ | |||
1 | OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) | ||
2 | |||
3 | #ifdef CONFIG_X86_64 | ||
4 | OUTPUT_ARCH(i386:x86-64) | ||
5 | ENTRY(startup_64) | ||
6 | #else | ||
7 | OUTPUT_ARCH(i386) | ||
8 | ENTRY(startup_32) | ||
9 | #endif | ||
10 | |||
11 | SECTIONS | ||
12 | { | ||
13 | /* Be careful parts of head_64.S assume startup_32 is at | ||
14 | * address 0. | ||
15 | */ | ||
16 | . = 0; | ||
17 | .text.head : { | ||
18 | _head = . ; | ||
19 | *(.text.head) | ||
20 | _ehead = . ; | ||
21 | } | ||
22 | .rodata.compressed : { | ||
23 | *(.rodata.compressed) | ||
24 | } | ||
25 | .text : { | ||
26 | _text = .; /* Text */ | ||
27 | *(.text) | ||
28 | *(.text.*) | ||
29 | _etext = . ; | ||
30 | } | ||
31 | .rodata : { | ||
32 | _rodata = . ; | ||
33 | *(.rodata) /* read-only data */ | ||
34 | *(.rodata.*) | ||
35 | _erodata = . ; | ||
36 | } | ||
37 | .data : { | ||
38 | _data = . ; | ||
39 | *(.data) | ||
40 | *(.data.*) | ||
41 | _edata = . ; | ||
42 | } | ||
43 | .bss : { | ||
44 | _bss = . ; | ||
45 | *(.bss) | ||
46 | *(.bss.*) | ||
47 | *(COMMON) | ||
48 | #ifdef CONFIG_X86_64 | ||
49 | . = ALIGN(8); | ||
50 | _end_before_pgt = . ; | ||
51 | . = ALIGN(4096); | ||
52 | pgtable = . ; | ||
53 | . = . + 4096 * 6; | ||
54 | #endif | ||
55 | _ebss = .; | ||
56 | } | ||
57 | } | ||