Merge branch 'akpm'
[linux-2.6/next.git] / arch / x86 / boot / compressed / vmlinux.lds.S
blob34d047c982848439e7ed907cbea7b4398bf860cd
1 #include <asm-generic/vmlinux.lds.h>
3 OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
5 #undef i386
7 #include <asm/cache.h>
8 #include <asm/page_types.h>
10 #ifdef CONFIG_X86_64
11 OUTPUT_ARCH(i386:x86-64)
12 ENTRY(startup_64)
13 #else
14 OUTPUT_ARCH(i386)
15 ENTRY(startup_32)
16 #endif
18 SECTIONS
20         /* Be careful parts of head_64.S assume startup_32 is at
21          * address 0.
22          */
23         . = 0;
24         .head.text : {
25                 _head = . ;
26                 HEAD_TEXT
27                 _ehead = . ;
28         }
29         .rodata..compressed : {
30                 *(.rodata..compressed)
31         }
32         .text : {
33                 _text = .;      /* Text */
34                 *(.text)
35                 *(.text.*)
36                 _etext = . ;
37         }
38         .rodata : {
39                 _rodata = . ;
40                 *(.rodata)       /* read-only data */
41                 *(.rodata.*)
42                 _erodata = . ;
43         }
44         .got : {
45                 _got = .;
46                 KEEP(*(.got.plt))
47                 KEEP(*(.got))
48                 _egot = .;
49         }
50         .data : {
51                 _data = . ;
52                 *(.data)
53                 *(.data.*)
54                 _edata = . ;
55         }
56         . = ALIGN(L1_CACHE_BYTES);
57         .bss : {
58                 _bss = . ;
59                 *(.bss)
60                 *(.bss.*)
61                 *(COMMON)
62                 . = ALIGN(8);   /* For convenience during zeroing */
63                 _ebss = .;
64         }
65 #ifdef CONFIG_X86_64
66        . = ALIGN(PAGE_SIZE);
67        .pgtable : {
68                 _pgtable = . ;
69                 *(.pgtable)
70                 _epgtable = . ;
71         }
72 #endif
73         _end = .;