Root/target/linux/generic-2.6/patches-2.6.30/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@@ -59,7 +59,7 @@ libfdtheader := fdt.h libfdt.h libfdt_in
240 $(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o): \
241     $(addprefix $(obj)/,$(libfdtheader))
242 
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         $(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@@ -11,7 +11,7 @@ CFLAGS_REMOVE_feature-fixups.o = -pg
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)
525

Archive Download this file



interactive