]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/alpha/kernel/vmlinux.lds.S
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[mirror_ubuntu-artful-kernel.git] / arch / alpha / kernel / vmlinux.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2
3 OUTPUT_FORMAT("elf64-alpha")
4 OUTPUT_ARCH(alpha)
5 ENTRY(__start)
6 PHDRS { kernel PT_LOAD; note PT_NOTE; }
7 jiffies = jiffies_64;
8 SECTIONS
9 {
10 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
11 . = 0xfffffc0000310000;
12 #else
13 . = 0xfffffc0001010000;
14 #endif
15
16 _text = .; /* Text and read-only data */
17 .text : {
18 *(.text.head)
19 TEXT_TEXT
20 SCHED_TEXT
21 LOCK_TEXT
22 *(.fixup)
23 *(.gnu.warning)
24 } :kernel
25 _etext = .; /* End of text section */
26
27 . = ALIGN(16);
28 __start___ex_table = .; /* Exception table */
29 __ex_table : { *(__ex_table) }
30 __stop___ex_table = .;
31
32 NOTES :kernel :note
33 .dummy : { *(.dummy) } :kernel
34
35 RODATA
36
37 /* Will be freed after init */
38 . = ALIGN(8192); /* Init code and data */
39 __init_begin = .;
40 .init.text : {
41 _sinittext = .;
42 *(.init.text)
43 _einittext = .;
44 }
45 .init.data : { *(.init.data) }
46
47 . = ALIGN(16);
48 __setup_start = .;
49 .init.setup : { *(.init.setup) }
50 __setup_end = .;
51
52 . = ALIGN(8);
53 __initcall_start = .;
54 .initcall.init : {
55 INITCALLS
56 }
57 __initcall_end = .;
58
59 #ifdef CONFIG_BLK_DEV_INITRD
60 . = ALIGN(8192);
61 __initramfs_start = .;
62 .init.ramfs : { *(.init.ramfs) }
63 __initramfs_end = .;
64 #endif
65
66 . = ALIGN(8);
67 .con_initcall.init : {
68 __con_initcall_start = .;
69 *(.con_initcall.init)
70 __con_initcall_end = .;
71 }
72
73 . = ALIGN(8);
74 SECURITY_INIT
75
76 PERCPU(8192)
77
78 . = ALIGN(2*8192);
79 __init_end = .;
80 /* Freed after init ends here */
81
82 /* Note 2 page alignment above. */
83 .data.init_thread : { *(.data.init_thread) }
84
85 . = ALIGN(8192);
86 .data.page_aligned : { *(.data.page_aligned) }
87
88 . = ALIGN(64);
89 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
90
91 _data = .;
92 .data : { /* Data */
93 DATA_DATA
94 CONSTRUCTORS
95 }
96
97 .got : { *(.got) }
98 .sdata : { *(.sdata) }
99
100 _edata = .; /* End of data section */
101
102 __bss_start = .;
103 .sbss : { *(.sbss) *(.scommon) }
104 .bss : { *(.bss) *(COMMON) }
105 __bss_stop = .;
106
107 _end = .;
108
109 /* Sections to be discarded */
110 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
111
112 .mdebug 0 : { *(.mdebug) }
113 .note 0 : { *(.note) }
114 .comment 0 : { *(.comment) }
115
116 /* Stabs debugging sections */
117 .stab 0 : { *(.stab) }
118 .stabstr 0 : { *(.stabstr) }
119 .stab.excl 0 : { *(.stab.excl) }
120 .stab.exclstr 0 : { *(.stab.exclstr) }
121 .stab.index 0 : { *(.stab.index) }
122 .stab.indexstr 0 : { *(.stab.indexstr) }
123 /* DWARF 1 */
124 .debug 0 : { *(.debug) }
125 .line 0 : { *(.line) }
126 /* GNU DWARF 1 extensions */
127 .debug_srcinfo 0 : { *(.debug_srcinfo) }
128 .debug_sfnames 0 : { *(.debug_sfnames) }
129 /* DWARF 1.1 and DWARF 2 */
130 .debug_aranges 0 : { *(.debug_aranges) }
131 .debug_pubnames 0 : { *(.debug_pubnames) }
132 /* DWARF 2 */
133 .debug_info 0 : { *(.debug_info) }
134 .debug_abbrev 0 : { *(.debug_abbrev) }
135 .debug_line 0 : { *(.debug_line) }
136 .debug_frame 0 : { *(.debug_frame) }
137 .debug_str 0 : { *(.debug_str) }
138 .debug_loc 0 : { *(.debug_loc) }
139 .debug_macinfo 0 : { *(.debug_macinfo) }
140 /* SGI/MIPS DWARF 2 extensions */
141 .debug_weaknames 0 : { *(.debug_weaknames) }
142 .debug_funcnames 0 : { *(.debug_funcnames) }
143 .debug_typenames 0 : { *(.debug_typenames) }
144 .debug_varnames 0 : { *(.debug_varnames) }
145 }