91c9e710c1e3ace0695859b3a1af8f443785d812
[linux-flexiantxendom0-3.2.10.git] / arch / alpha / vmlinux.lds.S
1 #include <linux/config.h>
2
3 OUTPUT_FORMAT("elf64-alpha")
4 ENTRY(__start)
5 PHDRS { kernel PT_LOAD ; }
6 jiffies = jiffies_64;
7 SECTIONS
8 {
9 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
10   . = 0xfffffc0000310000;
11 #else
12   . = 0xfffffc0000810000;
13 #endif
14
15   .text : {
16         _text = .;
17         *(.text)
18         _etext = .;
19   } :kernel
20
21   /* Exception table */
22   __ex_table ALIGN(16) : {
23         __start___ex_table = .;
24         *(__ex_table)
25         __stop___ex_table = .;
26   }
27
28   /* Kernel symbol table */
29   __ksymtab ALIGN(8) : {
30         __start___ksymtab = .;
31         *(__ksymtab)
32         __stop___ksymtab = .;
33   }
34
35   /* All kernel symbols */
36   __kallsyms ALIGN(8) : {
37         __start___kallsyms = .;
38         *(__kallsyms)
39         __stop___kallsyms = .;
40   }
41
42   .kstrtab : { *(.kstrtab) }
43   .rodata : { *(.rodata) *(.rodata.*) }
44
45   /* Startup code */
46   .init.text ALIGN(8192) : {
47         __init_begin = .;
48         *(.init.text)
49   }
50   .init.data : { *(.init.data) }
51
52   .init.setup ALIGN(16): {
53         __setup_start = .;
54         *(.init.setup)
55         __setup_end = .;
56   }
57
58   .initcall.init ALIGN(8): {
59         __initcall_start = .;
60         *(.initcall1.init) 
61         *(.initcall2.init) 
62         *(.initcall3.init) 
63         *(.initcall4.init) 
64         *(.initcall5.init) 
65         *(.initcall6.init) 
66         *(.initcall7.init)
67         __initcall_end = .;
68   }
69
70   .init.ramfs ALIGN(8192): {
71         __initramfs_start = .;
72         *(.init.initramfs)
73         __initramfs_end = .;
74   }
75
76   .data.percpu ALIGN(64): {
77         __per_cpu_start = .;
78         *(.data.percpu)
79         __per_cpu_end = .;
80   }
81
82   /* The initial task and kernel stack */
83   .data.init_thread ALIGN(2*8192) : {
84         __init_end = .;
85         *(.data.init_thread)
86   }
87
88   /* Global data */
89   .data.page_aligned ALIGN(8192) : {
90         _data = .;
91         *(.data.page_aligned) 
92   }
93   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
94   .data : { *(.data) CONSTRUCTORS }
95   .got : { *(.got) }
96   .sdata : {
97         *(.sdata)
98         _edata = .;
99   }
100
101   .sbss : {
102         __bss_start = .;
103         *(.sbss) *(.scommon)
104   }
105   .bss : {
106         *(.bss) *(COMMON)
107         __bss_stop = .;
108         _end = .;
109   }
110
111   .mdebug 0 : { *(.mdebug) }
112   .note 0 : { *(.note) }
113   .comment 0 : { *(.comment) }
114
115   /* DWARF 1 */
116   .debug          0 : { *(.debug) }
117   .line           0 : { *(.line) }
118   /* GNU DWARF 1 extensions */
119   .debug_srcinfo  0 : { *(.debug_srcinfo) }
120   .debug_sfnames  0 : { *(.debug_sfnames) }
121   /* DWARF 1.1 and DWARF 2 */
122   .debug_aranges  0 : { *(.debug_aranges) }
123   .debug_pubnames 0 : { *(.debug_pubnames) }
124   /* DWARF 2 */
125   .debug_info     0 : { *(.debug_info) }
126   .debug_abbrev   0 : { *(.debug_abbrev) }
127   .debug_line     0 : { *(.debug_line) }
128   .debug_frame    0 : { *(.debug_frame) }
129   .debug_str      0 : { *(.debug_str) }
130   .debug_loc      0 : { *(.debug_loc) }
131   .debug_macinfo  0 : { *(.debug_macinfo) }
132   /* SGI/MIPS DWARF 2 extensions */
133   .debug_weaknames 0 : { *(.debug_weaknames) }
134   .debug_funcnames 0 : { *(.debug_funcnames) }
135   .debug_typenames 0 : { *(.debug_typenames) }
136   .debug_varnames  0 : { *(.debug_varnames) }
137
138   /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
139 }