Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[pandora-kernel.git] / arch / x86 / boot / compressed / vmlinux.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2
3 OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
4
5 #undef i386
6
7 #include <asm/cache.h>
8 #include <asm/page_types.h>
9
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
17
18 SECTIONS
19 {
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         .data : {
45                 _data = . ;
46                 *(.data)
47                 *(.data.*)
48                 _edata = . ;
49         }
50         . = ALIGN(L1_CACHE_BYTES);
51         .bss : {
52                 _bss = . ;
53                 *(.bss)
54                 *(.bss.*)
55                 *(COMMON)
56                 . = ALIGN(8);   /* For convenience during zeroing */
57                 _ebss = .;
58         }
59 #ifdef CONFIG_X86_64
60        . = ALIGN(PAGE_SIZE);
61        .pgtable : {
62                 _pgtable = . ;
63                 *(.pgtable)
64                 _epgtable = . ;
65         }
66 #endif
67         _end = .;
68 }