diff options
author | Chris Zankel <chris@zankel.net> | 2007-05-31 20:47:01 -0400 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2007-05-31 20:47:01 -0400 |
commit | de4f6e5b41bef50fc981410ae8380f27f4e93bf8 (patch) | |
tree | 39e467255d33f89becf50425b019ce5cf402681f /arch/xtensa/kernel/vmlinux.lds.S | |
parent | 176fd6c96dcbc263eb1c61eae9fe2a33f23a876d (diff) |
[XTENSA] clean-up header files
The header files in the asm-xtensa directory are not clean and
'make headers_check' fails. This is a first patch to fix most of
the header files. It removes unnecessary include statements and
adds some that are required for building the kernel. The linker
script required some updates or the linking stage would fail.
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/xtensa/kernel/vmlinux.lds.S | 78 |
1 files changed, 31 insertions, 47 deletions
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index 4b7b4ff79973..b0582c3c5f8d 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -84,9 +84,7 @@ SECTIONS | |||
84 | { | 84 | { |
85 | /* The .head.text section must be the first section! */ | 85 | /* The .head.text section must be the first section! */ |
86 | *(.head.text) | 86 | *(.head.text) |
87 | *(.literal) | 87 | *(.literal .text) |
88 | TEXT_TEXT | ||
89 | *(.srom.text) | ||
90 | VMLINUX_SYMBOL(__sched_text_start) = .; | 88 | VMLINUX_SYMBOL(__sched_text_start) = .; |
91 | *(.sched.literal .sched.text) | 89 | *(.sched.literal .sched.text) |
92 | VMLINUX_SYMBOL(__sched_text_end) = .; | 90 | VMLINUX_SYMBOL(__sched_text_end) = .; |
@@ -96,6 +94,7 @@ SECTIONS | |||
96 | 94 | ||
97 | } | 95 | } |
98 | _etext = .; | 96 | _etext = .; |
97 | PROVIDE (etext = .); | ||
99 | 98 | ||
100 | . = ALIGN(16); | 99 | . = ALIGN(16); |
101 | 100 | ||
@@ -103,32 +102,6 @@ SECTIONS | |||
103 | 102 | ||
104 | /* Relocation table */ | 103 | /* Relocation table */ |
105 | 104 | ||
106 | . = ALIGN(16); | ||
107 | __boot_reloc_table_start = ABSOLUTE(.); | ||
108 | |||
109 | __relocate : { | ||
110 | |||
111 | RELOCATE_ENTRY(_WindowVectors_text, | ||
112 | .WindowVectors.text); | ||
113 | #if 0 | ||
114 | RELOCATE_ENTRY(_KernelExceptionVector_literal, | ||
115 | .KernelExceptionVector.literal); | ||
116 | #endif | ||
117 | RELOCATE_ENTRY(_KernelExceptionVector_text, | ||
118 | .KernelExceptionVector.text); | ||
119 | #if 0 | ||
120 | RELOCATE_ENTRY(_UserExceptionVector_literal, | ||
121 | .UserExceptionVector.literal); | ||
122 | #endif | ||
123 | RELOCATE_ENTRY(_UserExceptionVector_text, | ||
124 | .UserExceptionVector.text); | ||
125 | RELOCATE_ENTRY(_DoubleExceptionVector_literal, | ||
126 | .DoubleExceptionVector.literal); | ||
127 | RELOCATE_ENTRY(_DoubleExceptionVector_text, | ||
128 | .DoubleExceptionVector.text); | ||
129 | } | ||
130 | __boot_reloc_table_end = ABSOLUTE(.) ; | ||
131 | |||
132 | .fixup : { *(.fixup) } | 105 | .fixup : { *(.fixup) } |
133 | 106 | ||
134 | . = ALIGN(16); | 107 | . = ALIGN(16); |
@@ -145,8 +118,7 @@ SECTIONS | |||
145 | _fdata = .; | 118 | _fdata = .; |
146 | .data : | 119 | .data : |
147 | { | 120 | { |
148 | DATA_DATA | 121 | *(.data) CONSTRUCTORS |
149 | CONSTRUCTORS | ||
150 | . = ALIGN(XCHAL_ICACHE_LINESIZE); | 122 | . = ALIGN(XCHAL_ICACHE_LINESIZE); |
151 | *(.data.cacheline_aligned) | 123 | *(.data.cacheline_aligned) |
152 | } | 124 | } |
@@ -174,6 +146,22 @@ SECTIONS | |||
174 | __tagtable_begin = .; | 146 | __tagtable_begin = .; |
175 | *(.taglist) | 147 | *(.taglist) |
176 | __tagtable_end = .; | 148 | __tagtable_end = .; |
149 | |||
150 | . = ALIGN(16); | ||
151 | __boot_reloc_table_start = ABSOLUTE(.); | ||
152 | |||
153 | RELOCATE_ENTRY(_WindowVectors_text, | ||
154 | .WindowVectors.text); | ||
155 | RELOCATE_ENTRY(_KernelExceptionVector_text, | ||
156 | .KernelExceptionVector.text); | ||
157 | RELOCATE_ENTRY(_UserExceptionVector_text, | ||
158 | .UserExceptionVector.text); | ||
159 | RELOCATE_ENTRY(_DoubleExceptionVector_literal, | ||
160 | .DoubleExceptionVector.literal); | ||
161 | RELOCATE_ENTRY(_DoubleExceptionVector_text, | ||
162 | .DoubleExceptionVector.text); | ||
163 | |||
164 | __boot_reloc_table_end = ABSOLUTE(.) ; | ||
177 | } | 165 | } |
178 | 166 | ||
179 | . = ALIGN(XCHAL_ICACHE_LINESIZE); | 167 | . = ALIGN(XCHAL_ICACHE_LINESIZE); |
@@ -194,16 +182,6 @@ SECTIONS | |||
194 | 182 | ||
195 | SECURITY_INIT | 183 | SECURITY_INIT |
196 | 184 | ||
197 | . = ALIGN(4); | ||
198 | |||
199 | __start___ftr_fixup = .; | ||
200 | __ftr_fixup : { *(__ftr_fixup) } | ||
201 | __stop___ftr_fixup = .; | ||
202 | |||
203 | . = ALIGN(4096); | ||
204 | __per_cpu_start = .; | ||
205 | .data.percpu : { *(.data.percpu) } | ||
206 | __per_cpu_end = .; | ||
207 | 185 | ||
208 | #ifdef CONFIG_BLK_DEV_INITRD | 186 | #ifdef CONFIG_BLK_DEV_INITRD |
209 | . = ALIGN(4096); | 187 | . = ALIGN(4096); |
@@ -212,6 +190,12 @@ SECTIONS | |||
212 | __initramfs_end = .; | 190 | __initramfs_end = .; |
213 | #endif | 191 | #endif |
214 | 192 | ||
193 | . = ALIGN(4096); | ||
194 | __per_cpu_start = .; | ||
195 | .data.percpu : { *(.data.percpu) } | ||
196 | __per_cpu_end = .; | ||
197 | |||
198 | |||
215 | /* We need this dummy segment here */ | 199 | /* We need this dummy segment here */ |
216 | 200 | ||
217 | . = ALIGN(4); | 201 | . = ALIGN(4); |
@@ -273,9 +257,9 @@ SECTIONS | |||
273 | 257 | ||
274 | /* BSS section */ | 258 | /* BSS section */ |
275 | _bss_start = .; | 259 | _bss_start = .; |
276 | .sbss : { *(.sbss) *(.scommon) } | 260 | .bss : { *(.bss.page_aligned) *(.bss) } |
277 | .bss : { *(COMMON) *(.bss) } | ||
278 | _bss_end = .; | 261 | _bss_end = .; |
262 | |||
279 | _end = .; | 263 | _end = .; |
280 | 264 | ||
281 | /* only used by the boot loader */ | 265 | /* only used by the boot loader */ |
@@ -293,16 +277,16 @@ SECTIONS | |||
293 | *(.ResetVector.text) | 277 | *(.ResetVector.text) |
294 | } | 278 | } |
295 | 279 | ||
296 | |||
297 | /* Sections to be discarded */ | 280 | /* Sections to be discarded */ |
298 | /DISCARD/ : | 281 | /DISCARD/ : |
299 | { | 282 | { |
300 | *(.text.exit) | 283 | *(.exit.literal .exit.text) |
301 | *(.text.exit.literal) | 284 | *(.exit.data) |
302 | *(.data.exit) | ||
303 | *(.exitcall.exit) | 285 | *(.exitcall.exit) |
304 | } | 286 | } |
305 | 287 | ||
288 | .xt.lit : { *(.xt.lit) } | ||
289 | .xt.prop : { *(.xt.prop) } | ||
306 | 290 | ||
307 | .debug 0 : { *(.debug) } | 291 | .debug 0 : { *(.debug) } |
308 | .line 0 : { *(.line) } | 292 | .line 0 : { *(.line) } |