Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski...
[linux-2.6-block.git] / arch / x86 / boot / compressed / vmlinux.lds.S
CommitLineData
1dc818c1
TA
1#include <asm-generic/vmlinux.lds.h>
2
51b26ada
LT
3OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
4
83c48326
SR
5#undef i386
6
350f8f56 7#include <asm/cache.h>
5b11f1ce
PA
8#include <asm/page_types.h>
9
51b26ada 10#ifdef CONFIG_X86_64
1ab60e0f
VG
11OUTPUT_ARCH(i386:x86-64)
12ENTRY(startup_64)
51b26ada
LT
13#else
14OUTPUT_ARCH(i386)
15ENTRY(startup_32)
16#endif
17
1ab60e0f
VG
18SECTIONS
19{
32ed937d 20 /* Be careful parts of head_64.S assume startup_32 is at
afe0bc63 21 * address 0.
1ab60e0f
VG
22 */
23 . = 0;
1dc818c1 24 .head.text : {
1ab60e0f 25 _head = . ;
1dc818c1 26 HEAD_TEXT
1ab60e0f 27 _ehead = . ;
20514e9f 28 }
041d5f94
DV
29 .rodata..compressed : {
30 *(.rodata..compressed)
20514e9f
IC
31 }
32 .text : {
1ab60e0f
VG
33 _text = .; /* Text */
34 *(.text)
35 *(.text.*)
36 _etext = . ;
37 }
38 .rodata : {
39 _rodata = . ;
40 *(.rodata) /* read-only data */
41 *(.rodata.*)
42 _erodata = . ;
43 }
22a57f58
PA
44 .got : {
45 _got = .;
46 KEEP(*(.got.plt))
47 KEEP(*(.got))
48 _egot = .;
49 }
1ab60e0f
VG
50 .data : {
51 _data = . ;
52 *(.data)
53 *(.data.*)
54 _edata = . ;
55 }
350f8f56 56 . = ALIGN(L1_CACHE_BYTES);
1ab60e0f
VG
57 .bss : {
58 _bss = . ;
59 *(.bss)
60 *(.bss.*)
61 *(COMMON)
5b11f1ce 62 . = ALIGN(8); /* For convenience during zeroing */
4a9f54cf 63 _ebss = .;
1ab60e0f 64 }
5b11f1ce
PA
65#ifdef CONFIG_X86_64
66 . = ALIGN(PAGE_SIZE);
67 .pgtable : {
68 _pgtable = . ;
69 *(.pgtable)
70 _epgtable = . ;
71 }
72#endif
974f221c 73 . = ALIGN(PAGE_SIZE); /* keep ZO size page aligned */
5b11f1ce 74 _end = .;
1ab60e0f 75}