[MIPS] vmlinux.lds.S: Remove duplicate comment.
[deliverable/linux.git] / arch / mips / kernel / vmlinux.lds.S
CommitLineData
dbee90b7 1#include <asm/asm-offsets.h>
1da177e4
LT
2#include <asm-generic/vmlinux.lds.h>
3
41c594ab 4#undef mips
1da177e4
LT
5#define mips mips
6OUTPUT_ARCH(mips)
7ENTRY(kernel_entry)
8jiffies = JIFFIES;
0f5c9064 9
1da177e4
LT
10SECTIONS
11{
12#ifdef CONFIG_BOOT_ELF64
0f5c9064
SR
13 /* Read-only sections, merged into text segment: */
14 /* . = 0xc000000000000000; */
1da177e4 15
0f5c9064
SR
16 /* This is the value for an Origin kernel, taken from an IRIX kernel. */
17 /* . = 0xc00000000001c000; */
1da177e4 18
0f5c9064
SR
19 /* Set the vaddr for the text segment to a value
20 * >= 0xa800 0000 0001 9000 if no symmon is going to configured
21 * >= 0xa800 0000 0030 0000 otherwise
22 */
1da177e4 23
0f5c9064
SR
24 /* . = 0xa800000000300000; */
25 . = 0xffffffff80300000;
1da177e4 26#endif
0f5c9064
SR
27 . = LOADADDR;
28 /* read-only */
29 _text = .; /* Text and read-only data */
30 .text : {
31 TEXT_TEXT
32 SCHED_TEXT
33 LOCK_TEXT
34 *(.fixup)
35 *(.gnu.warning)
36 } =0
37 _etext = .; /* End of text section */
38
39 /* Exception table */
40 . = ALIGN(16);
41 __ex_table : {
42 __start___ex_table = .;
43 *(__ex_table)
44 __stop___ex_table = .;
45 }
46
47 /* Exception table for data bus errors */
48 __dbe_table : {
49 __start___dbe_table = .;
50 *(__dbe_table)
51 __stop___dbe_table = .;
52 }
53 RODATA
54
55 /* writeable */
56 .data : { /* Data */
57 . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */
58 /*
59 * This ALIGN is needed as a workaround for a bug a gcc bug upto 4.1 which
60 * limits the maximum alignment to at most 32kB and results in the following
61 * warning:
62 *
63 * CC arch/mips/kernel/init_task.o
64 * arch/mips/kernel/init_task.c:30: warning: alignment of ‘init_thread_union’
65 * is greater than maximum object file alignment. Using 32768
66 */
67 . = ALIGN(_PAGE_SIZE);
68 *(.data.init_task)
69
70 DATA_DATA
71 CONSTRUCTORS
72 }
73 _gp = . + 0x8000;
74 .lit8 : {
75 *(.lit8)
76 }
77 .lit4 : {
78 *(.lit4)
79 }
80 /* We want the small data sections together, so single-instruction offsets
81 can access them all, and initialized data all before uninitialized, so
82 we can shorten the on-disk segment size. */
83 .sdata : {
84 *(.sdata)
85 }
86
87 . = ALIGN(_PAGE_SIZE);
88 .data_nosave : {
89 __nosave_begin = .;
90 *(.data.nosave)
91 }
92 . = ALIGN(_PAGE_SIZE);
93 __nosave_end = .;
94
95 . = ALIGN(32);
96 .data.cacheline_aligned : {
97 *(.data.cacheline_aligned)
98 }
99 _edata = .; /* End of data section */
100
101 /* will be freed after init */
102 . = ALIGN(_PAGE_SIZE); /* Init code and data */
103 __init_begin = .;
104 .init.text : {
105 _sinittext = .;
106 *(.init.text)
107 _einittext = .;
108 }
109 .init.data : {
110 *(.init.data)
111 }
112 . = ALIGN(16);
113 .init.setup : {
114 __setup_start = .;
115 *(.init.setup)
116 __setup_end = .;
117 }
118
119 .initcall.init : {
120 __initcall_start = .;
121 INITCALLS
122 __initcall_end = .;
123 }
124
125 .con_initcall.init : {
126 __con_initcall_start = .;
127 *(.con_initcall.init)
128 __con_initcall_end = .;
129 }
130 SECURITY_INIT
131
132 /* .exit.text is discarded at runtime, not link time, to deal with
133 * references from .rodata
134 */
135 .exit.text : {
136 *(.exit.text)
137 }
138 .exit.data : {
139 *(.exit.data)
140 }
67d38229 141#if defined(CONFIG_BLK_DEV_INITRD)
0f5c9064
SR
142 . = ALIGN(_PAGE_SIZE);
143 .init.ramfs : {
144 __initramfs_start = .;
145 *(.init.ramfs)
146 __initramfs_end = .;
147 }
67d38229 148#endif
0f5c9064
SR
149 PERCPU(_PAGE_SIZE)
150 . = ALIGN(_PAGE_SIZE);
151 __init_end = .;
152 /* freed after init ends here */
153
154 __bss_start = .; /* BSS */
155 .sbss : {
156 *(.sbss)
157 *(.scommon)
158 }
159 .bss : {
160 *(.bss)
161 *(COMMON)
162 }
163 __bss_stop = .;
164
165 _end = . ;
166
167 /* Sections to be discarded */
168 /DISCARD/ : {
169 *(.exitcall.exit)
170
171 /* ABI crap starts here */
172 *(.MIPS.options)
173 *(.options)
174 *(.pdr)
175 *(.reginfo)
176 }
177
178 /* These mark the ABI of the kernel for debuggers. */
179 .mdebug.abi32 : {
180 KEEP(*(.mdebug.abi32))
181 }
182 .mdebug.abi64 : {
183 KEEP(*(.mdebug.abi64))
184 }
185
186 /* This is the MIPS specific mdebug section. */
187 .mdebug : {
188 *(.mdebug)
189 }
190
191 STABS_DEBUG
192 DWARF_DEBUG
193
194 /* These must appear regardless of . */
195 .gptab.sdata : {
196 *(.gptab.data)
197 *(.gptab.sdata)
198 }
199 .gptab.sbss : {
200 *(.gptab.bss)
201 *(.gptab.sbss)
202 }
203 .note : {
204 *(.note)
205 }
1da177e4 206}
This page took 0.308131 seconds and 5 git commands to generate.