[kernel] fix usage of smp_call_function
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.28 / 951-revert_gcc4_4_fixes.patch
1 --- a/arch/powerpc/boot/crtsavres.S
2 +++ /dev/null
3 @@ -1,233 +0,0 @@
4 -/*
5 - * Special support for eabi and SVR4
6 - *
7 - * Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
8 - * Copyright 2008 Freescale Semiconductor, Inc.
9 - * Written By Michael Meissner
10 - *
11 - * Based on gcc/config/rs6000/crtsavres.asm from gcc
12 - *
13 - * This file is free software; you can redistribute it and/or modify it
14 - * under the terms of the GNU General Public License as published by the
15 - * Free Software Foundation; either version 2, or (at your option) any
16 - * later version.
17 - *
18 - * In addition to the permissions in the GNU General Public License, the
19 - * Free Software Foundation gives you unlimited permission to link the
20 - * compiled version of this file with other programs, and to distribute
21 - * those programs without any restriction coming from the use of this
22 - * file. (The General Public License restrictions do apply in other
23 - * respects; for example, they cover modification of the file, and
24 - * distribution when not linked into another program.)
25 - *
26 - * This file is distributed in the hope that it will be useful, but
27 - * WITHOUT ANY WARRANTY; without even the implied warranty of
28 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29 - * General Public License for more details.
30 - *
31 - * You should have received a copy of the GNU General Public License
32 - * along with this program; see the file COPYING. If not, write to
33 - * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
34 - * Boston, MA 02110-1301, USA.
35 - *
36 - * As a special exception, if you link this library with files
37 - * compiled with GCC to produce an executable, this does not cause
38 - * the resulting executable to be covered by the GNU General Public License.
39 - * This exception does not however invalidate any other reasons why
40 - * the executable file might be covered by the GNU General Public License.
41 - */
42 -
43 - .file "crtsavres.S"
44 - .section ".text"
45 -
46 -/* On PowerPC64 Linux, these functions are provided by the linker. */
47 -#ifndef __powerpc64__
48 -
49 -#define _GLOBAL(name) \
50 - .type name,@function; \
51 - .globl name; \
52 -name:
53 -
54 -/* Routines for saving integer registers, called by the compiler. */
55 -/* Called with r11 pointing to the stack header word of the caller of the */
56 -/* function, just beyond the end of the integer save area. */
57 -
58 -_GLOBAL(_savegpr_14)
59 -_GLOBAL(_save32gpr_14)
60 - stw 14,-72(11) /* save gp registers */
61 -_GLOBAL(_savegpr_15)
62 -_GLOBAL(_save32gpr_15)
63 - stw 15,-68(11)
64 -_GLOBAL(_savegpr_16)
65 -_GLOBAL(_save32gpr_16)
66 - stw 16,-64(11)
67 -_GLOBAL(_savegpr_17)
68 -_GLOBAL(_save32gpr_17)
69 - stw 17,-60(11)
70 -_GLOBAL(_savegpr_18)
71 -_GLOBAL(_save32gpr_18)
72 - stw 18,-56(11)
73 -_GLOBAL(_savegpr_19)
74 -_GLOBAL(_save32gpr_19)
75 - stw 19,-52(11)
76 -_GLOBAL(_savegpr_20)
77 -_GLOBAL(_save32gpr_20)
78 - stw 20,-48(11)
79 -_GLOBAL(_savegpr_21)
80 -_GLOBAL(_save32gpr_21)
81 - stw 21,-44(11)
82 -_GLOBAL(_savegpr_22)
83 -_GLOBAL(_save32gpr_22)
84 - stw 22,-40(11)
85 -_GLOBAL(_savegpr_23)
86 -_GLOBAL(_save32gpr_23)
87 - stw 23,-36(11)
88 -_GLOBAL(_savegpr_24)
89 -_GLOBAL(_save32gpr_24)
90 - stw 24,-32(11)
91 -_GLOBAL(_savegpr_25)
92 -_GLOBAL(_save32gpr_25)
93 - stw 25,-28(11)
94 -_GLOBAL(_savegpr_26)
95 -_GLOBAL(_save32gpr_26)
96 - stw 26,-24(11)
97 -_GLOBAL(_savegpr_27)
98 -_GLOBAL(_save32gpr_27)
99 - stw 27,-20(11)
100 -_GLOBAL(_savegpr_28)
101 -_GLOBAL(_save32gpr_28)
102 - stw 28,-16(11)
103 -_GLOBAL(_savegpr_29)
104 -_GLOBAL(_save32gpr_29)
105 - stw 29,-12(11)
106 -_GLOBAL(_savegpr_30)
107 -_GLOBAL(_save32gpr_30)
108 - stw 30,-8(11)
109 -_GLOBAL(_savegpr_31)
110 -_GLOBAL(_save32gpr_31)
111 - stw 31,-4(11)
112 - blr
113 -
114 -/* Routines for restoring integer registers, called by the compiler. */
115 -/* Called with r11 pointing to the stack header word of the caller of the */
116 -/* function, just beyond the end of the integer restore area. */
117 -
118 -_GLOBAL(_restgpr_14)
119 -_GLOBAL(_rest32gpr_14)
120 - lwz 14,-72(11) /* restore gp registers */
121 -_GLOBAL(_restgpr_15)
122 -_GLOBAL(_rest32gpr_15)
123 - lwz 15,-68(11)
124 -_GLOBAL(_restgpr_16)
125 -_GLOBAL(_rest32gpr_16)
126 - lwz 16,-64(11)
127 -_GLOBAL(_restgpr_17)
128 -_GLOBAL(_rest32gpr_17)
129 - lwz 17,-60(11)
130 -_GLOBAL(_restgpr_18)
131 -_GLOBAL(_rest32gpr_18)
132 - lwz 18,-56(11)
133 -_GLOBAL(_restgpr_19)
134 -_GLOBAL(_rest32gpr_19)
135 - lwz 19,-52(11)
136 -_GLOBAL(_restgpr_20)
137 -_GLOBAL(_rest32gpr_20)
138 - lwz 20,-48(11)
139 -_GLOBAL(_restgpr_21)
140 -_GLOBAL(_rest32gpr_21)
141 - lwz 21,-44(11)
142 -_GLOBAL(_restgpr_22)
143 -_GLOBAL(_rest32gpr_22)
144 - lwz 22,-40(11)
145 -_GLOBAL(_restgpr_23)
146 -_GLOBAL(_rest32gpr_23)
147 - lwz 23,-36(11)
148 -_GLOBAL(_restgpr_24)
149 -_GLOBAL(_rest32gpr_24)
150 - lwz 24,-32(11)
151 -_GLOBAL(_restgpr_25)
152 -_GLOBAL(_rest32gpr_25)
153 - lwz 25,-28(11)
154 -_GLOBAL(_restgpr_26)
155 -_GLOBAL(_rest32gpr_26)
156 - lwz 26,-24(11)
157 -_GLOBAL(_restgpr_27)
158 -_GLOBAL(_rest32gpr_27)
159 - lwz 27,-20(11)
160 -_GLOBAL(_restgpr_28)
161 -_GLOBAL(_rest32gpr_28)
162 - lwz 28,-16(11)
163 -_GLOBAL(_restgpr_29)
164 -_GLOBAL(_rest32gpr_29)
165 - lwz 29,-12(11)
166 -_GLOBAL(_restgpr_30)
167 -_GLOBAL(_rest32gpr_30)
168 - lwz 30,-8(11)
169 -_GLOBAL(_restgpr_31)
170 -_GLOBAL(_rest32gpr_31)
171 - lwz 31,-4(11)
172 - blr
173 -
174 -/* Routines for restoring integer registers, called by the compiler. */
175 -/* Called with r11 pointing to the stack header word of the caller of the */
176 -/* function, just beyond the end of the integer restore area. */
177 -
178 -_GLOBAL(_restgpr_14_x)
179 -_GLOBAL(_rest32gpr_14_x)
180 - lwz 14,-72(11) /* restore gp registers */
181 -_GLOBAL(_restgpr_15_x)
182 -_GLOBAL(_rest32gpr_15_x)
183 - lwz 15,-68(11)
184 -_GLOBAL(_restgpr_16_x)
185 -_GLOBAL(_rest32gpr_16_x)
186 - lwz 16,-64(11)
187 -_GLOBAL(_restgpr_17_x)
188 -_GLOBAL(_rest32gpr_17_x)
189 - lwz 17,-60(11)
190 -_GLOBAL(_restgpr_18_x)
191 -_GLOBAL(_rest32gpr_18_x)
192 - lwz 18,-56(11)
193 -_GLOBAL(_restgpr_19_x)
194 -_GLOBAL(_rest32gpr_19_x)
195 - lwz 19,-52(11)
196 -_GLOBAL(_restgpr_20_x)
197 -_GLOBAL(_rest32gpr_20_x)
198 - lwz 20,-48(11)
199 -_GLOBAL(_restgpr_21_x)
200 -_GLOBAL(_rest32gpr_21_x)
201 - lwz 21,-44(11)
202 -_GLOBAL(_restgpr_22_x)
203 -_GLOBAL(_rest32gpr_22_x)
204 - lwz 22,-40(11)
205 -_GLOBAL(_restgpr_23_x)
206 -_GLOBAL(_rest32gpr_23_x)
207 - lwz 23,-36(11)
208 -_GLOBAL(_restgpr_24_x)
209 -_GLOBAL(_rest32gpr_24_x)
210 - lwz 24,-32(11)
211 -_GLOBAL(_restgpr_25_x)
212 -_GLOBAL(_rest32gpr_25_x)
213 - lwz 25,-28(11)
214 -_GLOBAL(_restgpr_26_x)
215 -_GLOBAL(_rest32gpr_26_x)
216 - lwz 26,-24(11)
217 -_GLOBAL(_restgpr_27_x)
218 -_GLOBAL(_rest32gpr_27_x)
219 - lwz 27,-20(11)
220 -_GLOBAL(_restgpr_28_x)
221 -_GLOBAL(_rest32gpr_28_x)
222 - lwz 28,-16(11)
223 -_GLOBAL(_restgpr_29_x)
224 -_GLOBAL(_rest32gpr_29_x)
225 - lwz 29,-12(11)
226 -_GLOBAL(_restgpr_30_x)
227 -_GLOBAL(_rest32gpr_30_x)
228 - lwz 30,-8(11)
229 -_GLOBAL(_restgpr_31_x)
230 -_GLOBAL(_rest32gpr_31_x)
231 - lwz 0,4(11)
232 - lwz 31,-4(11)
233 - mtlr 0
234 - mr 1,11
235 - blr
236 -#endif
237 --- a/arch/powerpc/boot/Makefile
238 +++ b/arch/powerpc/boot/Makefile
239 @@ -54,7 +54,7 @@ $(addprefix $(obj)/,$(zlib) cuboot-c2k.o
240 $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
241
242 src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
243 -src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
244 +src-wlib := string.S crt0.S stdio.c main.c \
245 $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \
246 ns16550.c serial.c simple_alloc.c div64.S util.S \
247 gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
248 --- a/arch/powerpc/kernel/prom_init_check.sh
249 +++ b/arch/powerpc/kernel/prom_init_check.sh
250 @@ -48,20 +48,6 @@ do
251 fi
252 done
253
254 - # ignore register save/restore funcitons
255 - if [ "${UNDEF:0:9}" = "_restgpr_" ]; then
256 - OK=1
257 - fi
258 - if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then
259 - OK=1
260 - fi
261 - if [ "${UNDEF:0:9}" = "_savegpr_" ]; then
262 - OK=1
263 - fi
264 - if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then
265 - OK=1
266 - fi
267 -
268 if [ $OK -eq 0 ]; then
269 ERROR=1
270 echo "Error: External symbol '$UNDEF' referenced" \
271 --- a/arch/powerpc/lib/crtsavres.S
272 +++ /dev/null
273 @@ -1,229 +0,0 @@
274 -/*
275 - * Special support for eabi and SVR4
276 - *
277 - * Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
278 - * Copyright 2008 Freescale Semiconductor, Inc.
279 - * Written By Michael Meissner
280 - *
281 - * Based on gcc/config/rs6000/crtsavres.asm from gcc
282 - *
283 - * This file is free software; you can redistribute it and/or modify it
284 - * under the terms of the GNU General Public License as published by the
285 - * Free Software Foundation; either version 2, or (at your option) any
286 - * later version.
287 - *
288 - * In addition to the permissions in the GNU General Public License, the
289 - * Free Software Foundation gives you unlimited permission to link the
290 - * compiled version of this file with other programs, and to distribute
291 - * those programs without any restriction coming from the use of this
292 - * file. (The General Public License restrictions do apply in other
293 - * respects; for example, they cover modification of the file, and
294 - * distribution when not linked into another program.)
295 - *
296 - * This file is distributed in the hope that it will be useful, but
297 - * WITHOUT ANY WARRANTY; without even the implied warranty of
298 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
299 - * General Public License for more details.
300 - *
301 - * You should have received a copy of the GNU General Public License
302 - * along with this program; see the file COPYING. If not, write to
303 - * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
304 - * Boston, MA 02110-1301, USA.
305 - *
306 - * As a special exception, if you link this library with files
307 - * compiled with GCC to produce an executable, this does not cause
308 - * the resulting executable to be covered by the GNU General Public License.
309 - * This exception does not however invalidate any other reasons why
310 - * the executable file might be covered by the GNU General Public License.
311 - */
312 -
313 -#include <asm/ppc_asm.h>
314 -
315 - .file "crtsavres.S"
316 - .section ".text"
317 -
318 -#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
319 -
320 -/* Routines for saving integer registers, called by the compiler. */
321 -/* Called with r11 pointing to the stack header word of the caller of the */
322 -/* function, just beyond the end of the integer save area. */
323 -
324 -_GLOBAL(_savegpr_14)
325 -_GLOBAL(_save32gpr_14)
326 - stw 14,-72(11) /* save gp registers */
327 -_GLOBAL(_savegpr_15)
328 -_GLOBAL(_save32gpr_15)
329 - stw 15,-68(11)
330 -_GLOBAL(_savegpr_16)
331 -_GLOBAL(_save32gpr_16)
332 - stw 16,-64(11)
333 -_GLOBAL(_savegpr_17)
334 -_GLOBAL(_save32gpr_17)
335 - stw 17,-60(11)
336 -_GLOBAL(_savegpr_18)
337 -_GLOBAL(_save32gpr_18)
338 - stw 18,-56(11)
339 -_GLOBAL(_savegpr_19)
340 -_GLOBAL(_save32gpr_19)
341 - stw 19,-52(11)
342 -_GLOBAL(_savegpr_20)
343 -_GLOBAL(_save32gpr_20)
344 - stw 20,-48(11)
345 -_GLOBAL(_savegpr_21)
346 -_GLOBAL(_save32gpr_21)
347 - stw 21,-44(11)
348 -_GLOBAL(_savegpr_22)
349 -_GLOBAL(_save32gpr_22)
350 - stw 22,-40(11)
351 -_GLOBAL(_savegpr_23)
352 -_GLOBAL(_save32gpr_23)
353 - stw 23,-36(11)
354 -_GLOBAL(_savegpr_24)
355 -_GLOBAL(_save32gpr_24)
356 - stw 24,-32(11)
357 -_GLOBAL(_savegpr_25)
358 -_GLOBAL(_save32gpr_25)
359 - stw 25,-28(11)
360 -_GLOBAL(_savegpr_26)
361 -_GLOBAL(_save32gpr_26)
362 - stw 26,-24(11)
363 -_GLOBAL(_savegpr_27)
364 -_GLOBAL(_save32gpr_27)
365 - stw 27,-20(11)
366 -_GLOBAL(_savegpr_28)
367 -_GLOBAL(_save32gpr_28)
368 - stw 28,-16(11)
369 -_GLOBAL(_savegpr_29)
370 -_GLOBAL(_save32gpr_29)
371 - stw 29,-12(11)
372 -_GLOBAL(_savegpr_30)
373 -_GLOBAL(_save32gpr_30)
374 - stw 30,-8(11)
375 -_GLOBAL(_savegpr_31)
376 -_GLOBAL(_save32gpr_31)
377 - stw 31,-4(11)
378 - blr
379 -
380 -/* Routines for restoring integer registers, called by the compiler. */
381 -/* Called with r11 pointing to the stack header word of the caller of the */
382 -/* function, just beyond the end of the integer restore area. */
383 -
384 -_GLOBAL(_restgpr_14)
385 -_GLOBAL(_rest32gpr_14)
386 - lwz 14,-72(11) /* restore gp registers */
387 -_GLOBAL(_restgpr_15)
388 -_GLOBAL(_rest32gpr_15)
389 - lwz 15,-68(11)
390 -_GLOBAL(_restgpr_16)
391 -_GLOBAL(_rest32gpr_16)
392 - lwz 16,-64(11)
393 -_GLOBAL(_restgpr_17)
394 -_GLOBAL(_rest32gpr_17)
395 - lwz 17,-60(11)
396 -_GLOBAL(_restgpr_18)
397 -_GLOBAL(_rest32gpr_18)
398 - lwz 18,-56(11)
399 -_GLOBAL(_restgpr_19)
400 -_GLOBAL(_rest32gpr_19)
401 - lwz 19,-52(11)
402 -_GLOBAL(_restgpr_20)
403 -_GLOBAL(_rest32gpr_20)
404 - lwz 20,-48(11)
405 -_GLOBAL(_restgpr_21)
406 -_GLOBAL(_rest32gpr_21)
407 - lwz 21,-44(11)
408 -_GLOBAL(_restgpr_22)
409 -_GLOBAL(_rest32gpr_22)
410 - lwz 22,-40(11)
411 -_GLOBAL(_restgpr_23)
412 -_GLOBAL(_rest32gpr_23)
413 - lwz 23,-36(11)
414 -_GLOBAL(_restgpr_24)
415 -_GLOBAL(_rest32gpr_24)
416 - lwz 24,-32(11)
417 -_GLOBAL(_restgpr_25)
418 -_GLOBAL(_rest32gpr_25)
419 - lwz 25,-28(11)
420 -_GLOBAL(_restgpr_26)
421 -_GLOBAL(_rest32gpr_26)
422 - lwz 26,-24(11)
423 -_GLOBAL(_restgpr_27)
424 -_GLOBAL(_rest32gpr_27)
425 - lwz 27,-20(11)
426 -_GLOBAL(_restgpr_28)
427 -_GLOBAL(_rest32gpr_28)
428 - lwz 28,-16(11)
429 -_GLOBAL(_restgpr_29)
430 -_GLOBAL(_rest32gpr_29)
431 - lwz 29,-12(11)
432 -_GLOBAL(_restgpr_30)
433 -_GLOBAL(_rest32gpr_30)
434 - lwz 30,-8(11)
435 -_GLOBAL(_restgpr_31)
436 -_GLOBAL(_rest32gpr_31)
437 - lwz 31,-4(11)
438 - blr
439 -
440 -/* Routines for restoring integer registers, called by the compiler. */
441 -/* Called with r11 pointing to the stack header word of the caller of the */
442 -/* function, just beyond the end of the integer restore area. */
443 -
444 -_GLOBAL(_restgpr_14_x)
445 -_GLOBAL(_rest32gpr_14_x)
446 - lwz 14,-72(11) /* restore gp registers */
447 -_GLOBAL(_restgpr_15_x)
448 -_GLOBAL(_rest32gpr_15_x)
449 - lwz 15,-68(11)
450 -_GLOBAL(_restgpr_16_x)
451 -_GLOBAL(_rest32gpr_16_x)
452 - lwz 16,-64(11)
453 -_GLOBAL(_restgpr_17_x)
454 -_GLOBAL(_rest32gpr_17_x)
455 - lwz 17,-60(11)
456 -_GLOBAL(_restgpr_18_x)
457 -_GLOBAL(_rest32gpr_18_x)
458 - lwz 18,-56(11)
459 -_GLOBAL(_restgpr_19_x)
460 -_GLOBAL(_rest32gpr_19_x)
461 - lwz 19,-52(11)
462 -_GLOBAL(_restgpr_20_x)
463 -_GLOBAL(_rest32gpr_20_x)
464 - lwz 20,-48(11)
465 -_GLOBAL(_restgpr_21_x)
466 -_GLOBAL(_rest32gpr_21_x)
467 - lwz 21,-44(11)
468 -_GLOBAL(_restgpr_22_x)
469 -_GLOBAL(_rest32gpr_22_x)
470 - lwz 22,-40(11)
471 -_GLOBAL(_restgpr_23_x)
472 -_GLOBAL(_rest32gpr_23_x)
473 - lwz 23,-36(11)
474 -_GLOBAL(_restgpr_24_x)
475 -_GLOBAL(_rest32gpr_24_x)
476 - lwz 24,-32(11)
477 -_GLOBAL(_restgpr_25_x)
478 -_GLOBAL(_rest32gpr_25_x)
479 - lwz 25,-28(11)
480 -_GLOBAL(_restgpr_26_x)
481 -_GLOBAL(_rest32gpr_26_x)
482 - lwz 26,-24(11)
483 -_GLOBAL(_restgpr_27_x)
484 -_GLOBAL(_rest32gpr_27_x)
485 - lwz 27,-20(11)
486 -_GLOBAL(_restgpr_28_x)
487 -_GLOBAL(_rest32gpr_28_x)
488 - lwz 28,-16(11)
489 -_GLOBAL(_restgpr_29_x)
490 -_GLOBAL(_rest32gpr_29_x)
491 - lwz 29,-12(11)
492 -_GLOBAL(_restgpr_30_x)
493 -_GLOBAL(_rest32gpr_30_x)
494 - lwz 30,-8(11)
495 -_GLOBAL(_restgpr_31_x)
496 -_GLOBAL(_rest32gpr_31_x)
497 - lwz 0,4(11)
498 - lwz 31,-4(11)
499 - mtlr 0
500 - mr 1,11
501 - blr
502 -#endif
503 --- a/arch/powerpc/lib/Makefile
504 +++ b/arch/powerpc/lib/Makefile
505 @@ -8,7 +8,7 @@ endif
506
507 obj-y := string.o alloc.o \
508 checksum_$(CONFIG_WORD_SIZE).o
509 -obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o
510 +obj-$(CONFIG_PPC32) += div64.o copy_32.o
511 obj-$(CONFIG_HAS_IOMEM) += devres.o
512
513 obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \
514 --- a/arch/powerpc/Makefile
515 +++ b/arch/powerpc/Makefile
516 @@ -92,8 +92,6 @@ endif
517 else
518 KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
519 endif
520 -else
521 -LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
522 endif
523
524 ifeq ($(CONFIG_TUNE_CELL),y)
This page took 0.069975 seconds and 5 git commands to generate.