diff options
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch | 524 | 
1 files changed, 524 insertions, 0 deletions
| diff --git a/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch b/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch new file mode 100644 index 000000000..bc6f5d0aa --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.26/951-revert_gcc4_4_fixes.patch @@ -0,0 +1,524 @@ +--- a/arch/powerpc/boot/crtsavres.S ++++ /dev/null +@@ -1,233 +0,0 @@ +-/* +- * Special support for eabi and SVR4 +- * +- *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. +- *   Copyright 2008 Freescale Semiconductor, Inc. +- *   Written By Michael Meissner +- * +- * Based on gcc/config/rs6000/crtsavres.asm from gcc +- * +- * This file is free software; you can redistribute it and/or modify it +- * under the terms of the GNU General Public License as published by the +- * Free Software Foundation; either version 2, or (at your option) any +- * later version. +- * +- * In addition to the permissions in the GNU General Public License, the +- * Free Software Foundation gives you unlimited permission to link the +- * compiled version of this file with other programs, and to distribute +- * those programs without any restriction coming from the use of this +- * file.  (The General Public License restrictions do apply in other +- * respects; for example, they cover modification of the file, and +- * distribution when not linked into another program.) +- * +- * This file is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; see the file COPYING.  If not, write to +- * the Free Software Foundation, 51 Franklin Street, Fifth Floor, +- * Boston, MA 02110-1301, USA. +- * +- *    As a special exception, if you link this library with files +- *    compiled with GCC to produce an executable, this does not cause +- *    the resulting executable to be covered by the GNU General Public License. +- *    This exception does not however invalidate any other reasons why +- *    the executable file might be covered by the GNU General Public License. +- */ +- +-	.file	"crtsavres.S" +-	.section ".text" +- +-/* On PowerPC64 Linux, these functions are provided by the linker.  */ +-#ifndef __powerpc64__ +- +-#define _GLOBAL(name) \ +-	.type name,@function; \ +-	.globl name; \ +-name: +- +-/* Routines for saving integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer save area.  */ +- +-_GLOBAL(_savegpr_14) +-_GLOBAL(_save32gpr_14) +-	stw	14,-72(11)	/* save gp registers */ +-_GLOBAL(_savegpr_15) +-_GLOBAL(_save32gpr_15) +-	stw	15,-68(11) +-_GLOBAL(_savegpr_16) +-_GLOBAL(_save32gpr_16) +-	stw	16,-64(11) +-_GLOBAL(_savegpr_17) +-_GLOBAL(_save32gpr_17) +-	stw	17,-60(11) +-_GLOBAL(_savegpr_18) +-_GLOBAL(_save32gpr_18) +-	stw	18,-56(11) +-_GLOBAL(_savegpr_19) +-_GLOBAL(_save32gpr_19) +-	stw	19,-52(11) +-_GLOBAL(_savegpr_20) +-_GLOBAL(_save32gpr_20) +-	stw	20,-48(11) +-_GLOBAL(_savegpr_21) +-_GLOBAL(_save32gpr_21) +-	stw	21,-44(11) +-_GLOBAL(_savegpr_22) +-_GLOBAL(_save32gpr_22) +-	stw	22,-40(11) +-_GLOBAL(_savegpr_23) +-_GLOBAL(_save32gpr_23) +-	stw	23,-36(11) +-_GLOBAL(_savegpr_24) +-_GLOBAL(_save32gpr_24) +-	stw	24,-32(11) +-_GLOBAL(_savegpr_25) +-_GLOBAL(_save32gpr_25) +-	stw	25,-28(11) +-_GLOBAL(_savegpr_26) +-_GLOBAL(_save32gpr_26) +-	stw	26,-24(11) +-_GLOBAL(_savegpr_27) +-_GLOBAL(_save32gpr_27) +-	stw	27,-20(11) +-_GLOBAL(_savegpr_28) +-_GLOBAL(_save32gpr_28) +-	stw	28,-16(11) +-_GLOBAL(_savegpr_29) +-_GLOBAL(_save32gpr_29) +-	stw	29,-12(11) +-_GLOBAL(_savegpr_30) +-_GLOBAL(_save32gpr_30) +-	stw	30,-8(11) +-_GLOBAL(_savegpr_31) +-_GLOBAL(_save32gpr_31) +-	stw	31,-4(11) +-	blr +- +-/* Routines for restoring integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer restore area.  */ +- +-_GLOBAL(_restgpr_14) +-_GLOBAL(_rest32gpr_14) +-	lwz	14,-72(11)	/* restore gp registers */ +-_GLOBAL(_restgpr_15) +-_GLOBAL(_rest32gpr_15) +-	lwz	15,-68(11) +-_GLOBAL(_restgpr_16) +-_GLOBAL(_rest32gpr_16) +-	lwz	16,-64(11) +-_GLOBAL(_restgpr_17) +-_GLOBAL(_rest32gpr_17) +-	lwz	17,-60(11) +-_GLOBAL(_restgpr_18) +-_GLOBAL(_rest32gpr_18) +-	lwz	18,-56(11) +-_GLOBAL(_restgpr_19) +-_GLOBAL(_rest32gpr_19) +-	lwz	19,-52(11) +-_GLOBAL(_restgpr_20) +-_GLOBAL(_rest32gpr_20) +-	lwz	20,-48(11) +-_GLOBAL(_restgpr_21) +-_GLOBAL(_rest32gpr_21) +-	lwz	21,-44(11) +-_GLOBAL(_restgpr_22) +-_GLOBAL(_rest32gpr_22) +-	lwz	22,-40(11) +-_GLOBAL(_restgpr_23) +-_GLOBAL(_rest32gpr_23) +-	lwz	23,-36(11) +-_GLOBAL(_restgpr_24) +-_GLOBAL(_rest32gpr_24) +-	lwz	24,-32(11) +-_GLOBAL(_restgpr_25) +-_GLOBAL(_rest32gpr_25) +-	lwz	25,-28(11) +-_GLOBAL(_restgpr_26) +-_GLOBAL(_rest32gpr_26) +-	lwz	26,-24(11) +-_GLOBAL(_restgpr_27) +-_GLOBAL(_rest32gpr_27) +-	lwz	27,-20(11) +-_GLOBAL(_restgpr_28) +-_GLOBAL(_rest32gpr_28) +-	lwz	28,-16(11) +-_GLOBAL(_restgpr_29) +-_GLOBAL(_rest32gpr_29) +-	lwz	29,-12(11) +-_GLOBAL(_restgpr_30) +-_GLOBAL(_rest32gpr_30) +-	lwz	30,-8(11) +-_GLOBAL(_restgpr_31) +-_GLOBAL(_rest32gpr_31) +-	lwz	31,-4(11) +-	blr +- +-/* Routines for restoring integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer restore area.  */ +- +-_GLOBAL(_restgpr_14_x) +-_GLOBAL(_rest32gpr_14_x) +-	lwz	14,-72(11)	/* restore gp registers */ +-_GLOBAL(_restgpr_15_x) +-_GLOBAL(_rest32gpr_15_x) +-	lwz	15,-68(11) +-_GLOBAL(_restgpr_16_x) +-_GLOBAL(_rest32gpr_16_x) +-	lwz	16,-64(11) +-_GLOBAL(_restgpr_17_x) +-_GLOBAL(_rest32gpr_17_x) +-	lwz	17,-60(11) +-_GLOBAL(_restgpr_18_x) +-_GLOBAL(_rest32gpr_18_x) +-	lwz	18,-56(11) +-_GLOBAL(_restgpr_19_x) +-_GLOBAL(_rest32gpr_19_x) +-	lwz	19,-52(11) +-_GLOBAL(_restgpr_20_x) +-_GLOBAL(_rest32gpr_20_x) +-	lwz	20,-48(11) +-_GLOBAL(_restgpr_21_x) +-_GLOBAL(_rest32gpr_21_x) +-	lwz	21,-44(11) +-_GLOBAL(_restgpr_22_x) +-_GLOBAL(_rest32gpr_22_x) +-	lwz	22,-40(11) +-_GLOBAL(_restgpr_23_x) +-_GLOBAL(_rest32gpr_23_x) +-	lwz	23,-36(11) +-_GLOBAL(_restgpr_24_x) +-_GLOBAL(_rest32gpr_24_x) +-	lwz	24,-32(11) +-_GLOBAL(_restgpr_25_x) +-_GLOBAL(_rest32gpr_25_x) +-	lwz	25,-28(11) +-_GLOBAL(_restgpr_26_x) +-_GLOBAL(_rest32gpr_26_x) +-	lwz	26,-24(11) +-_GLOBAL(_restgpr_27_x) +-_GLOBAL(_rest32gpr_27_x) +-	lwz	27,-20(11) +-_GLOBAL(_restgpr_28_x) +-_GLOBAL(_rest32gpr_28_x) +-	lwz	28,-16(11) +-_GLOBAL(_restgpr_29_x) +-_GLOBAL(_rest32gpr_29_x) +-	lwz	29,-12(11) +-_GLOBAL(_restgpr_30_x) +-_GLOBAL(_rest32gpr_30_x) +-	lwz	30,-8(11) +-_GLOBAL(_restgpr_31_x) +-_GLOBAL(_rest32gpr_31_x) +-	lwz	0,4(11) +-	lwz	31,-4(11) +-	mtlr	0 +-	mr	1,11 +-	blr +-#endif +--- a/arch/powerpc/boot/Makefile ++++ b/arch/powerpc/boot/Makefile +@@ -51,7 +51,7 @@ + 	$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) +  + src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c +-src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ ++src-wlib := string.S crt0.S stdio.c main.c \ + 		$(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ + 		ns16550.c serial.c simple_alloc.c div64.S util.S \ + 		gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ +--- a/arch/powerpc/kernel/prom_init_check.sh ++++ b/arch/powerpc/kernel/prom_init_check.sh +@@ -48,20 +48,6 @@ + 		fi + 	done +  +-	# ignore register save/restore funcitons +-	if [ "${UNDEF:0:9}" = "_restgpr_" ]; then +-		OK=1 +-	fi +-	if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then +-		OK=1 +-	fi +-	if [ "${UNDEF:0:9}" = "_savegpr_" ]; then +-		OK=1 +-	fi +-	if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then +-		OK=1 +-	fi +- + 	if [ $OK -eq 0 ]; then + 		ERROR=1 + 		echo "Error: External symbol '$UNDEF' referenced" \ +--- a/arch/powerpc/lib/crtsavres.S ++++ /dev/null +@@ -1,229 +0,0 @@ +-/* +- * Special support for eabi and SVR4 +- * +- *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. +- *   Copyright 2008 Freescale Semiconductor, Inc. +- *   Written By Michael Meissner +- * +- * Based on gcc/config/rs6000/crtsavres.asm from gcc +- * +- * This file is free software; you can redistribute it and/or modify it +- * under the terms of the GNU General Public License as published by the +- * Free Software Foundation; either version 2, or (at your option) any +- * later version. +- * +- * In addition to the permissions in the GNU General Public License, the +- * Free Software Foundation gives you unlimited permission to link the +- * compiled version of this file with other programs, and to distribute +- * those programs without any restriction coming from the use of this +- * file.  (The General Public License restrictions do apply in other +- * respects; for example, they cover modification of the file, and +- * distribution when not linked into another program.) +- * +- * This file is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; see the file COPYING.  If not, write to +- * the Free Software Foundation, 51 Franklin Street, Fifth Floor, +- * Boston, MA 02110-1301, USA. +- * +- *    As a special exception, if you link this library with files +- *    compiled with GCC to produce an executable, this does not cause +- *    the resulting executable to be covered by the GNU General Public License. +- *    This exception does not however invalidate any other reasons why +- *    the executable file might be covered by the GNU General Public License. +- */ +- +-#include <asm/ppc_asm.h> +- +-	.file	"crtsavres.S" +-	.section ".text" +- +-#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE +- +-/* Routines for saving integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer save area.  */ +- +-_GLOBAL(_savegpr_14) +-_GLOBAL(_save32gpr_14) +-	stw	14,-72(11)	/* save gp registers */ +-_GLOBAL(_savegpr_15) +-_GLOBAL(_save32gpr_15) +-	stw	15,-68(11) +-_GLOBAL(_savegpr_16) +-_GLOBAL(_save32gpr_16) +-	stw	16,-64(11) +-_GLOBAL(_savegpr_17) +-_GLOBAL(_save32gpr_17) +-	stw	17,-60(11) +-_GLOBAL(_savegpr_18) +-_GLOBAL(_save32gpr_18) +-	stw	18,-56(11) +-_GLOBAL(_savegpr_19) +-_GLOBAL(_save32gpr_19) +-	stw	19,-52(11) +-_GLOBAL(_savegpr_20) +-_GLOBAL(_save32gpr_20) +-	stw	20,-48(11) +-_GLOBAL(_savegpr_21) +-_GLOBAL(_save32gpr_21) +-	stw	21,-44(11) +-_GLOBAL(_savegpr_22) +-_GLOBAL(_save32gpr_22) +-	stw	22,-40(11) +-_GLOBAL(_savegpr_23) +-_GLOBAL(_save32gpr_23) +-	stw	23,-36(11) +-_GLOBAL(_savegpr_24) +-_GLOBAL(_save32gpr_24) +-	stw	24,-32(11) +-_GLOBAL(_savegpr_25) +-_GLOBAL(_save32gpr_25) +-	stw	25,-28(11) +-_GLOBAL(_savegpr_26) +-_GLOBAL(_save32gpr_26) +-	stw	26,-24(11) +-_GLOBAL(_savegpr_27) +-_GLOBAL(_save32gpr_27) +-	stw	27,-20(11) +-_GLOBAL(_savegpr_28) +-_GLOBAL(_save32gpr_28) +-	stw	28,-16(11) +-_GLOBAL(_savegpr_29) +-_GLOBAL(_save32gpr_29) +-	stw	29,-12(11) +-_GLOBAL(_savegpr_30) +-_GLOBAL(_save32gpr_30) +-	stw	30,-8(11) +-_GLOBAL(_savegpr_31) +-_GLOBAL(_save32gpr_31) +-	stw	31,-4(11) +-	blr +- +-/* Routines for restoring integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer restore area.  */ +- +-_GLOBAL(_restgpr_14) +-_GLOBAL(_rest32gpr_14) +-	lwz	14,-72(11)	/* restore gp registers */ +-_GLOBAL(_restgpr_15) +-_GLOBAL(_rest32gpr_15) +-	lwz	15,-68(11) +-_GLOBAL(_restgpr_16) +-_GLOBAL(_rest32gpr_16) +-	lwz	16,-64(11) +-_GLOBAL(_restgpr_17) +-_GLOBAL(_rest32gpr_17) +-	lwz	17,-60(11) +-_GLOBAL(_restgpr_18) +-_GLOBAL(_rest32gpr_18) +-	lwz	18,-56(11) +-_GLOBAL(_restgpr_19) +-_GLOBAL(_rest32gpr_19) +-	lwz	19,-52(11) +-_GLOBAL(_restgpr_20) +-_GLOBAL(_rest32gpr_20) +-	lwz	20,-48(11) +-_GLOBAL(_restgpr_21) +-_GLOBAL(_rest32gpr_21) +-	lwz	21,-44(11) +-_GLOBAL(_restgpr_22) +-_GLOBAL(_rest32gpr_22) +-	lwz	22,-40(11) +-_GLOBAL(_restgpr_23) +-_GLOBAL(_rest32gpr_23) +-	lwz	23,-36(11) +-_GLOBAL(_restgpr_24) +-_GLOBAL(_rest32gpr_24) +-	lwz	24,-32(11) +-_GLOBAL(_restgpr_25) +-_GLOBAL(_rest32gpr_25) +-	lwz	25,-28(11) +-_GLOBAL(_restgpr_26) +-_GLOBAL(_rest32gpr_26) +-	lwz	26,-24(11) +-_GLOBAL(_restgpr_27) +-_GLOBAL(_rest32gpr_27) +-	lwz	27,-20(11) +-_GLOBAL(_restgpr_28) +-_GLOBAL(_rest32gpr_28) +-	lwz	28,-16(11) +-_GLOBAL(_restgpr_29) +-_GLOBAL(_rest32gpr_29) +-	lwz	29,-12(11) +-_GLOBAL(_restgpr_30) +-_GLOBAL(_rest32gpr_30) +-	lwz	30,-8(11) +-_GLOBAL(_restgpr_31) +-_GLOBAL(_rest32gpr_31) +-	lwz	31,-4(11) +-	blr +- +-/* Routines for restoring integer registers, called by the compiler.  */ +-/* Called with r11 pointing to the stack header word of the caller of the */ +-/* function, just beyond the end of the integer restore area.  */ +- +-_GLOBAL(_restgpr_14_x) +-_GLOBAL(_rest32gpr_14_x) +-	lwz	14,-72(11)	/* restore gp registers */ +-_GLOBAL(_restgpr_15_x) +-_GLOBAL(_rest32gpr_15_x) +-	lwz	15,-68(11) +-_GLOBAL(_restgpr_16_x) +-_GLOBAL(_rest32gpr_16_x) +-	lwz	16,-64(11) +-_GLOBAL(_restgpr_17_x) +-_GLOBAL(_rest32gpr_17_x) +-	lwz	17,-60(11) +-_GLOBAL(_restgpr_18_x) +-_GLOBAL(_rest32gpr_18_x) +-	lwz	18,-56(11) +-_GLOBAL(_restgpr_19_x) +-_GLOBAL(_rest32gpr_19_x) +-	lwz	19,-52(11) +-_GLOBAL(_restgpr_20_x) +-_GLOBAL(_rest32gpr_20_x) +-	lwz	20,-48(11) +-_GLOBAL(_restgpr_21_x) +-_GLOBAL(_rest32gpr_21_x) +-	lwz	21,-44(11) +-_GLOBAL(_restgpr_22_x) +-_GLOBAL(_rest32gpr_22_x) +-	lwz	22,-40(11) +-_GLOBAL(_restgpr_23_x) +-_GLOBAL(_rest32gpr_23_x) +-	lwz	23,-36(11) +-_GLOBAL(_restgpr_24_x) +-_GLOBAL(_rest32gpr_24_x) +-	lwz	24,-32(11) +-_GLOBAL(_restgpr_25_x) +-_GLOBAL(_rest32gpr_25_x) +-	lwz	25,-28(11) +-_GLOBAL(_restgpr_26_x) +-_GLOBAL(_rest32gpr_26_x) +-	lwz	26,-24(11) +-_GLOBAL(_restgpr_27_x) +-_GLOBAL(_rest32gpr_27_x) +-	lwz	27,-20(11) +-_GLOBAL(_restgpr_28_x) +-_GLOBAL(_rest32gpr_28_x) +-	lwz	28,-16(11) +-_GLOBAL(_restgpr_29_x) +-_GLOBAL(_rest32gpr_29_x) +-	lwz	29,-12(11) +-_GLOBAL(_restgpr_30_x) +-_GLOBAL(_rest32gpr_30_x) +-	lwz	30,-8(11) +-_GLOBAL(_restgpr_31_x) +-_GLOBAL(_rest32gpr_31_x) +-	lwz	0,4(11) +-	lwz	31,-4(11) +-	mtlr	0 +-	mr	1,11 +-	blr +-#endif +--- a/arch/powerpc/lib/Makefile ++++ b/arch/powerpc/lib/Makefile +@@ -9,7 +9,7 @@ + ifeq ($(CONFIG_PPC_MERGE),y) + obj-y			:= string.o alloc.o \ + 			   checksum_$(CONFIG_WORD_SIZE).o +-obj-$(CONFIG_PPC32)	+= div64.o copy_32.o crtsavres.o ++obj-$(CONFIG_PPC32)	+= div64.o copy_32.o + obj-$(CONFIG_HAS_IOMEM)	+= devres.o + endif +  +--- a/arch/powerpc/Makefile ++++ b/arch/powerpc/Makefile +@@ -96,8 +96,6 @@ + else + 	KBUILD_CFLAGS += $(call cc-option,-mtune=power4) + endif +-else +-LDFLAGS_MODULE	+= arch/powerpc/lib/crtsavres.o + endif +  + ifeq ($(CONFIG_TUNE_CELL),y) | 
