From e236fe481e5f8c4cd4984f39dc37dbf19c8d8eda Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 30 Jun 2013 21:29:03 +0200 Subject: toolchain: switch to using gcc through package infrastructure Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- .../1001-gcc-4.2.x-inhibit-libc.patch | 49 -- ...-fix-removal-of-redundant-cast-operations.patch | 16 - ...conditional-insn-which-clobbers-cc_status.patch | 150 ----- ...use-movh-to-move-immediates-into-register.patch | 31 - toolchain/gcc/4.3.6/100-uclibc-conf.patch | 33 -- toolchain/gcc/4.3.6/104-gnuhurd-uclibc-conf.patch | 13 - toolchain/gcc/4.3.6/301-missing-execinfo_h.patch | 11 - toolchain/gcc/4.3.6/302-c99-snprintf.patch | 13 - .../gcc/4.3.6/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.3.6/810-arm-softfloat-libgcc.patch | 29 - .../4.3.6/993-arm_insn-opinit-RTX_CODE-fixup.patch | 41 -- .../gcc/4.3.6/998-gcc-4.3.0-fix-header.00.patch | 15 - .../gcc/4.3.6/999-4.3.2-armeabi-aapcs-linux.patch | 18 - .../4.3.6/999-4.3.3-arm-fix-for-bug-37436.patch | 86 --- ...gcc-4.3.0-cris-pragma-pack-warning-remove.patch | 13 - toolchain/gcc/4.3.6/gcc-43-pr39429.patch | 24 - .../powerpc-link-with-math-lib.patch.conditional | 125 ---- .../gcc/4.4.7-arc/fix_branch_out_of_range.patch | 30 - toolchain/gcc/4.4.7/100-uclibc-conf.patch | 33 -- toolchain/gcc/4.4.7/301-missing-execinfo_h.patch | 11 - toolchain/gcc/4.4.7/302-c99-snprintf.patch | 13 - .../gcc/4.4.7/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.4.7/810-arm-softfloat-libgcc.patch | 38 -- toolchain/gcc/4.4.7/950-sparc-leon.patch | 239 -------- toolchain/gcc/4.4.7/gcc-44-pr39429.patch | 24 - .../powerpc-link-with-math-lib.patch.conditional | 137 ----- toolchain/gcc/4.5.4/100-uclibc-conf.patch | 33 -- toolchain/gcc/4.5.4/301-missing-execinfo_h.patch | 11 - toolchain/gcc/4.5.4/302-c99-snprintf.patch | 13 - .../gcc/4.5.4/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.5.4/810-arm-softfloat-libgcc.patch | 38 -- toolchain/gcc/4.5.4/820-arm-unbreak-armv4t.patch | 14 - toolchain/gcc/4.5.4/830-arm-pr43440.patch | 345 ----------- .../powerpc-link-with-math-lib.patch.conditional | 125 ---- toolchain/gcc/4.6.4/100-uclibc-conf.patch | 33 -- toolchain/gcc/4.6.4/301-missing-execinfo_h.patch | 11 - toolchain/gcc/4.6.4/302-c99-snprintf.patch | 13 - .../gcc/4.6.4/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.6.4/810-arm-softfloat-libgcc.patch | 38 -- toolchain/gcc/4.6.4/820-arm-unbreak-armv4t.patch | 14 - .../powerpc-link-with-math-lib.patch.conditional | 125 ---- toolchain/gcc/4.7.3/100-uclibc-conf.patch | 33 -- toolchain/gcc/4.7.3/301-missing-execinfo_h.patch | 11 - toolchain/gcc/4.7.3/302-c99-snprintf.patch | 13 - .../gcc/4.7.3/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.7.3/810-arm-softfloat-libgcc.patch | 25 - toolchain/gcc/4.7.3/830-arm_unbreak_armv4t.patch | 13 - .../powerpc-link-with-math-lib.patch.conditional | 127 ---- toolchain/gcc/4.8.1/100-uclibc-conf.patch | 37 -- toolchain/gcc/4.8.1/301-missing-execinfo_h.patch | 13 - toolchain/gcc/4.8.1/302-c99-snprintf.patch | 13 - .../gcc/4.8.1/305-libmudflap-susv3-legacy.patch | 49 -- toolchain/gcc/4.8.1/810-arm-softfloat-libgcc.patch | 30 - toolchain/gcc/4.8.1/830-arm_unbreak_armv4t.patch | 13 - .../powerpc-link-with-math-lib.patch.conditional | 122 ---- toolchain/gcc/Config.in | 130 ----- toolchain/gcc/Config.in.2 | 34 -- toolchain/gcc/gcc-uclibc-4.x.mk | 640 --------------------- toolchain/toolchain-buildroot.mk | 7 +- toolchain/toolchain-buildroot/Config.in | 2 +- toolchain/toolchain-crosstool-ng.mk | 1 - toolchain/toolchain-external.mk | 1 - toolchain/uClibc/uclibc.mk | 36 +- 63 files changed, 22 insertions(+), 3578 deletions(-) delete mode 100644 toolchain/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch delete mode 100644 toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch delete mode 100644 toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch delete mode 100644 toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch delete mode 100644 toolchain/gcc/4.3.6/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.3.6/104-gnuhurd-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.3.6/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.3.6/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.3.6/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.3.6/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.3.6/993-arm_insn-opinit-RTX_CODE-fixup.patch delete mode 100644 toolchain/gcc/4.3.6/998-gcc-4.3.0-fix-header.00.patch delete mode 100644 toolchain/gcc/4.3.6/999-4.3.2-armeabi-aapcs-linux.patch delete mode 100644 toolchain/gcc/4.3.6/999-4.3.3-arm-fix-for-bug-37436.patch delete mode 100644 toolchain/gcc/4.3.6/999-gcc-4.3.0-cris-pragma-pack-warning-remove.patch delete mode 100644 toolchain/gcc/4.3.6/gcc-43-pr39429.patch delete mode 100644 toolchain/gcc/4.3.6/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/4.4.7-arc/fix_branch_out_of_range.patch delete mode 100644 toolchain/gcc/4.4.7/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.4.7/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.4.7/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.4.7/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.4.7/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.4.7/950-sparc-leon.patch delete mode 100644 toolchain/gcc/4.4.7/gcc-44-pr39429.patch delete mode 100644 toolchain/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/4.5.4/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.5.4/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.5.4/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.5.4/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.5.4/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.5.4/820-arm-unbreak-armv4t.patch delete mode 100644 toolchain/gcc/4.5.4/830-arm-pr43440.patch delete mode 100644 toolchain/gcc/4.5.4/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/4.6.4/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.6.4/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.6.4/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.6.4/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.6.4/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.6.4/820-arm-unbreak-armv4t.patch delete mode 100644 toolchain/gcc/4.6.4/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/4.7.3/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.7.3/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.7.3/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.7.3/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.7.3/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.7.3/830-arm_unbreak_armv4t.patch delete mode 100644 toolchain/gcc/4.7.3/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/4.8.1/100-uclibc-conf.patch delete mode 100644 toolchain/gcc/4.8.1/301-missing-execinfo_h.patch delete mode 100644 toolchain/gcc/4.8.1/302-c99-snprintf.patch delete mode 100644 toolchain/gcc/4.8.1/305-libmudflap-susv3-legacy.patch delete mode 100644 toolchain/gcc/4.8.1/810-arm-softfloat-libgcc.patch delete mode 100644 toolchain/gcc/4.8.1/830-arm_unbreak_armv4t.patch delete mode 100644 toolchain/gcc/4.8.1/powerpc-link-with-math-lib.patch.conditional delete mode 100644 toolchain/gcc/Config.in delete mode 100644 toolchain/gcc/Config.in.2 delete mode 100644 toolchain/gcc/gcc-uclibc-4.x.mk (limited to 'toolchain') diff --git a/toolchain/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch deleted file mode 100644 index 9a7c90974..000000000 --- a/toolchain/gcc/4.2.2-avr32-2.1.5/1001-gcc-4.2.x-inhibit-libc.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- gcc-4.2.4/gcc/unwind-sjlj.c.khem 2010-08-11 12:45:28.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-sjlj.c 2010-08-11 12:45:50.000000000 -0700 -@@ -28,6 +28,8 @@ - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ - -+#ifndef inhibit_libc -+ - #include "tconfig.h" - #include "tsystem.h" - #include "coretypes.h" -@@ -326,3 +328,4 @@ uw_identify_context (struct _Unwind_Cont - #include "unwind.inc" - - #endif /* USING_SJLJ_EXCEPTIONS */ -+#endif ---- gcc-4.2.4/gcc/unwind-dw2.c.khem 2010-08-11 12:42:45.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-dw2.c 2010-08-11 12:43:17.000000000 -0700 -@@ -28,6 +28,8 @@ - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ - -+#ifndef inhibit_libc -+ - #include "tconfig.h" - #include "tsystem.h" - #include "coretypes.h" -@@ -1537,3 +1539,5 @@ alias (_Unwind_SetIP); - #endif - - #endif /* !USING_SJLJ_EXCEPTIONS */ -+#endif -+ ---- gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c.khem 2010-08-11 12:44:25.000000000 -0700 -+++ gcc-4.2.4/gcc/unwind-dw2-fde-glibc.c 2010-08-11 12:44:48.000000000 -0700 -@@ -29,6 +29,8 @@ - segment and dl_iterate_phdr to avoid register/deregister calls at - DSO load/unload. */ - -+#ifndef inhibit_libc -+ - #ifndef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif -@@ -438,3 +440,4 @@ _Unwind_Find_FDE (void *pc, struct dwarf - #if defined (USE_GAS_SYMVER) && defined (SHARED) && defined (USE_LIBUNWIND_EXCEPTIONS) - alias (_Unwind_Find_FDE); - #endif -+#endif diff --git a/toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch deleted file mode 100644 index 59ecbff4f..000000000 --- a/toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: trunk/gcc/config/avr32/avr32.c -=================================================================== ---- trunk/gcc/config/avr32/avr32.c (revision 43495) -+++ trunk/gcc/config/avr32/avr32.c (revision 43496) -@@ -6499,6 +6499,11 @@ - break; - } - -+ /* Check if we have a call and the register is used as an argument. */ -+ if (CALL_P (scan) -+ && find_reg_fusage (scan, USE, reg) ) -+ break; -+ - if (!reg_mentioned_p (reg, PATTERN (scan))) - continue; - diff --git a/toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch deleted file mode 100644 index 539c666d2..000000000 --- a/toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch +++ /dev/null @@ -1,150 +0,0 @@ -Index: gcc-4.2.2/gcc/config/avr32/avr32.c -=================================================================== ---- gcc-4.2.2.orig/gcc/config/avr32/avr32.c 2008-09-19 14:29:20.000000000 +0200 -+++ gcc-4.2.2/gcc/config/avr32/avr32.c 2008-09-19 14:30:02.000000000 +0200 -@@ -1788,7 +1788,7 @@ - { - if (TREE_CODE (*node) != FUNCTION_DECL) - { -- warning ("`%s' attribute only applies to functions", -+ warning (OPT_Wattributes,"`%s' attribute only applies to functions", - IDENTIFIER_POINTER (name)); - *no_add_attrs = true; - } -@@ -1802,7 +1802,7 @@ - { - if (avr32_isr_value (args) == AVR32_FT_UNKNOWN) - { -- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name)); -+ warning (OPT_Wattributes,"`%s' attribute ignored", IDENTIFIER_POINTER (name)); - *no_add_attrs = true; - } - } -@@ -1829,7 +1829,7 @@ - } - else - { -- warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name)); -+ warning (OPT_Wattributes,"`%s' attribute ignored", IDENTIFIER_POINTER (name)); - } - } - } -@@ -1847,7 +1847,7 @@ - { - if (TREE_CODE (*node) != FUNCTION_DECL) - { -- warning ("%qs attribute only applies to functions", -+ warning (OPT_Wattributes,"%qs attribute only applies to functions", - IDENTIFIER_POINTER (name)); - *no_add_attrs = true; - } -@@ -1866,13 +1866,13 @@ - { - if (TREE_CODE (*node) == FUNCTION_TYPE || TREE_CODE (*node) == METHOD_TYPE) - { -- warning ("`%s' attribute not yet supported...", -+ warning (OPT_Wattributes,"`%s' attribute not yet supported...", - IDENTIFIER_POINTER (name)); - *no_add_attrs = true; - return NULL_TREE; - } - -- warning ("`%s' attribute only applies to functions", -+ warning (OPT_Wattributes,"`%s' attribute only applies to functions", - IDENTIFIER_POINTER (name)); - *no_add_attrs = true; - return NULL_TREE; -@@ -4215,51 +4215,6 @@ - - - void --avr32_asm_output_ascii (FILE * stream, char *ptr, int len) --{ -- int i, i_new = 0; -- char *new_ptr = xmalloc (4 * len); -- if (new_ptr == NULL) -- internal_error ("Out of memory."); -- -- for (i = 0; i < len; i++) -- { -- if (ptr[i] == '\n') -- { -- new_ptr[i_new++] = '\\'; -- new_ptr[i_new++] = '0'; -- new_ptr[i_new++] = '1'; -- new_ptr[i_new++] = '2'; -- } -- else if (ptr[i] == '\"') -- { -- new_ptr[i_new++] = '\\'; -- new_ptr[i_new++] = '\"'; -- } -- else if (ptr[i] == '\\') -- { -- new_ptr[i_new++] = '\\'; -- new_ptr[i_new++] = '\\'; -- } -- else if (ptr[i] == '\0' && i + 1 < len) -- { -- new_ptr[i_new++] = '\\'; -- new_ptr[i_new++] = '0'; -- } -- else -- { -- new_ptr[i_new++] = ptr[i]; -- } -- } -- -- /* Terminate new_ptr. */ -- new_ptr[i_new] = '\0'; -- fprintf (stream, "\t.ascii\t\"%s\"\n", new_ptr); -- free (new_ptr); --} -- -- --void - avr32_asm_output_label (FILE * stream, const char *name) - { - name = avr32_strip_name_encoding (name); -@@ -4444,12 +4399,15 @@ - rtx cmp; - rtx cmp_op0, cmp_op1; - rtx cond; -+ rtx dest; -+ - if ( GET_CODE (exp) == COND_EXEC ) - { - cmp_op0 = XEXP (COND_EXEC_TEST (exp), 0); - cmp_op1 = XEXP (COND_EXEC_TEST (exp), 1); - cond = COND_EXEC_TEST (exp); -- } -+ dest = SET_DEST (COND_EXEC_CODE (exp)); -+ } - else - { - /* If then else conditional. compare operands are in operands -@@ -4457,6 +4415,7 @@ - cmp_op0 = recog_data.operand[4]; - cmp_op1 = recog_data.operand[5]; - cond = recog_data.operand[1]; -+ dest = SET_DEST (exp); - } - - if ( GET_CODE (cmp_op0) == AND ) -@@ -4466,7 +4425,15 @@ - cmp_op0, - cmp_op1); - -- if (is_compare_redundant (cmp, cond) == NULL_RTX) -+ /* Check if the conditional insns updates a register present -+ in the comparison, if so then we must reset the cc_status. */ -+ if (REG_P (dest) -+ && (reg_mentioned_p (dest, cmp_op0) -+ || reg_mentioned_p (dest, cmp_op1))) -+ { -+ CC_STATUS_INIT; -+ } -+ else if (is_compare_redundant (cmp, cond) == NULL_RTX) - { - /* Reset the nonstandard flag */ - CC_STATUS_INIT; diff --git a/toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch deleted file mode 100644 index 08d972df2..000000000 --- a/toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: gcc-4.2.2/gcc/config/avr32/avr32.md -=================================================================== ---- gcc-4.2.2.orig/gcc/config/avr32/avr32.md 2008-09-19 14:23:34.000000000 +0200 -+++ gcc-4.2.2/gcc/config/avr32/avr32.md 2008-09-19 14:30:18.000000000 +0200 -@@ -803,14 +803,22 @@ - (define_insn "*movsf_internal" - [(set (match_operand:SF 0 "nonimmediate_operand" "=r,r,r,r,m") - (match_operand:SF 1 "general_operand" "r, G,F,m,r"))] -- "TARGET_SOFT_FLOAT -- && (register_operand (operands[0], SFmode) -- || register_operand (operands[1], SFmode))" -+ "(register_operand (operands[0], SFmode) -+ || register_operand (operands[1], SFmode))" - { - switch (which_alternative) { - case 0: - case 1: return "mov\t%0, %1"; -- case 2: return "mov\t%0, lo(%1)\;orh\t%0, hi(%1)"; -+ case 2: -+ { -+ HOST_WIDE_INT target_float[2]; -+ real_to_target (target_float, CONST_DOUBLE_REAL_VALUE (operands[1]), SFmode); -+ if ( TARGET_V2_INSNS -+ && avr32_hi16_immediate_operand (GEN_INT (target_float[0]), VOIDmode) ) -+ return "movh\t%0, hi(%1)"; -+ else -+ return "mov\t%0, lo(%1)\;orh\t%0, hi(%1)"; -+ } - case 3: - if ( (REG_P(XEXP(operands[1], 0)) - && REGNO(XEXP(operands[1], 0)) == SP_REGNUM) diff --git a/toolchain/gcc/4.3.6/100-uclibc-conf.patch b/toolchain/gcc/4.3.6/100-uclibc-conf.patch deleted file mode 100644 index cca8c8229..000000000 --- a/toolchain/gcc/4.3.6/100-uclibc-conf.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.3.6/104-gnuhurd-uclibc-conf.patch b/toolchain/gcc/4.3.6/104-gnuhurd-uclibc-conf.patch deleted file mode 100644 index c04dd9ff0..000000000 --- a/toolchain/gcc/4.3.6/104-gnuhurd-uclibc-conf.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rdup gcc-4.2.1.oorig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc ---- gcc-4.2.1.oorig/gcc/config.gcc 2007-10-01 11:52:52.000000000 +0200 -+++ gcc-4.2.1/gcc/config.gcc 2007-10-01 13:22:12.000000000 +0200 -@@ -494,6 +494,9 @@ case ${target} in - alpha*) - tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}" - ;; -+ i[34567]86-*hurd*-*) -+ tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/gnu.h gnu.h ${tm_file}" -+ ;; - i[34567]86-*-*) - tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}" - ;; diff --git a/toolchain/gcc/4.3.6/301-missing-execinfo_h.patch b/toolchain/gcc/4.3.6/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f3f..000000000 --- a/toolchain/gcc/4.3.6/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.3.6/302-c99-snprintf.patch b/toolchain/gcc/4.3.6/302-c99-snprintf.patch deleted file mode 100644 index ba51a0e1d..000000000 --- a/toolchain/gcc/4.3.6/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) -+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) -@@ -144,7 +144,7 @@ - - _GLIBCXX_END_NAMESPACE - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.3.6/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.3.6/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f865..000000000 --- a/toolchain/gcc/4.3.6/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.3.6/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.3.6/810-arm-softfloat-libgcc.patch deleted file mode 100644 index 1639c39a8..000000000 --- a/toolchain/gcc/4.3.6/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: gcc-4.3.0/gcc/config/arm/t-linux -=================================================================== ---- gcc-4.3.0/gcc/config/arm/t-linux (revision 129896) -+++ gcc-4.3.0/gcc/config/arm/t-linux (working copy) -@@ -3,7 +3,10 @@ - TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC - - LIB1ASMSRC = arm/lib1funcs.asm --LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx -+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ -+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ -+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ -+ _fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf - - # MULTILIB_OPTIONS = mhard-float/msoft-float - # MULTILIB_DIRNAMES = hard-float soft-float -Index: gcc-4.3.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.3.0/gcc/config/arm/linux-elf.h (revision 129896) -+++ gcc-4.3.0/gcc/config/arm/linux-elf.h (working copy) -@@ -48,7 +62,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - diff --git a/toolchain/gcc/4.3.6/993-arm_insn-opinit-RTX_CODE-fixup.patch b/toolchain/gcc/4.3.6/993-arm_insn-opinit-RTX_CODE-fixup.patch deleted file mode 100644 index 69f0c372d..000000000 --- a/toolchain/gcc/4.3.6/993-arm_insn-opinit-RTX_CODE-fixup.patch +++ /dev/null @@ -1,41 +0,0 @@ -gcc/ChangeLog -2007-11-27 Bernhard Fischer <> - - * config/arm/arm-protos.h (arm_vector_mode_supported_p, - arm_hard_regno_mode_ok, const_ok_for_arm): Do not hide non-rtx related - function prototypes in RTX_CODE. - * genopinit.c: Include tm_p.h. - -Index: gcc-4.3.0/gcc/config/arm/arm-protos.h -=================================================================== ---- gcc-4.3.0/gcc/config/arm/arm-protos.h (revision 130463) -+++ gcc-4.3.0/gcc/config/arm/arm-protos.h (working copy) -@@ -40,15 +40,14 @@ - unsigned int); - extern unsigned int arm_dbx_register_number (unsigned int); - extern void arm_output_fn_unwind (FILE *, bool); -- - - #ifdef TREE_CODE - extern int arm_return_in_memory (const_tree); - #endif --#ifdef RTX_CODE - extern bool arm_vector_mode_supported_p (enum machine_mode); - extern int arm_hard_regno_mode_ok (unsigned int, enum machine_mode); - extern int const_ok_for_arm (HOST_WIDE_INT); -+#ifdef RTX_CODE - extern int arm_split_constant (RTX_CODE, enum machine_mode, rtx, - HOST_WIDE_INT, rtx, rtx, int); - extern RTX_CODE arm_canonicalize_comparison (RTX_CODE, enum machine_mode, -Index: gcc-4.3.0/gcc/genopinit.c -=================================================================== ---- gcc-4.3.0/gcc/genopinit.c (revision 130463) -+++ gcc-4.3.0/gcc/genopinit.c (working copy) -@@ -486,6 +486,7 @@ - printf ("#include \"expr.h\"\n"); - printf ("#include \"optabs.h\"\n"); - printf ("#include \"reload.h\"\n\n"); -+ printf ("#include \"tm_p.h\"\n\n"); - - printf ("void\ninit_all_optabs (void)\n{\n"); - diff --git a/toolchain/gcc/4.3.6/998-gcc-4.3.0-fix-header.00.patch b/toolchain/gcc/4.3.6/998-gcc-4.3.0-fix-header.00.patch deleted file mode 100644 index 7fe59d2dd..000000000 --- a/toolchain/gcc/4.3.6/998-gcc-4.3.0-fix-header.00.patch +++ /dev/null @@ -1,15 +0,0 @@ -\\\\ -\\ gcc PR33200 -Index: gcc-4.3.0/gcc/config.gcc -=================================================================== ---- gcc-4.3.0/gcc/config.gcc (revision 131628) -+++ gcc-4.3.0/gcc/config.gcc (working copy) -@@ -2302,7 +2305,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbian - if test x${enable_incomplete_targets} = xyes ; then - tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1" - fi -- use_fixproto=yes -+ # XXX: why? use_fixproto=yes - ;; - sh-*-rtemscoff*) - tmake_file="sh/t-sh t-rtems sh/t-rtems" diff --git a/toolchain/gcc/4.3.6/999-4.3.2-armeabi-aapcs-linux.patch b/toolchain/gcc/4.3.6/999-4.3.2-armeabi-aapcs-linux.patch deleted file mode 100644 index f4b1c9c06..000000000 --- a/toolchain/gcc/4.3.6/999-4.3.2-armeabi-aapcs-linux.patch +++ /dev/null @@ -1,18 +0,0 @@ -\\\\ followup of PR34205; trying to use aapcs-linux -\\ gcc/ChangeLog -\\ -\\ 2008-09-18 Bernhard Reutner-Fischer -\\ -\\ * config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs. -\\ ---- gcc-4.3.2.orig/gcc/config.gcc 2008-09-18 20:33:55.000000000 +0200 -+++ gcc-4.3.2/gcc/config.gcc 2008-09-18 21:38:52.000000000 +0200 -@@ -2921,7 +2921,7 @@ - - case "$with_abi" in - "" \ -- | apcs-gnu | atpcs | aapcs | iwmmxt ) -+ | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux ) - #OK - ;; - *) diff --git a/toolchain/gcc/4.3.6/999-4.3.3-arm-fix-for-bug-37436.patch b/toolchain/gcc/4.3.6/999-4.3.3-arm-fix-for-bug-37436.patch deleted file mode 100644 index 99a016fbe..000000000 --- a/toolchain/gcc/4.3.6/999-4.3.3-arm-fix-for-bug-37436.patch +++ /dev/null @@ -1,86 +0,0 @@ -gcc svn 142778: - -PR target/37436 -* arm.c (arm_legitimate_index): Only accept addresses that are in -canonical form. -* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate. -* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate -for operand1. -(extendqisi2): Likewise. -(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op -predicate for operand1. - -diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.c gcc-4.3.3/gcc/config/arm/arm.c ---- gcc-4.3.3.orig/gcc/config/arm/arm.c 2008-06-11 07:52:55.000000000 -0300 -+++ gcc-4.3.3/gcc/config/arm/arm.c 2009-05-21 16:06:45.000000000 -0300 -@@ -3769,6 +3769,7 @@ - rtx xop1 = XEXP (x, 1); - - return ((arm_address_register_rtx_p (xop0, strict_p) -+ && GET_CODE(xop1) == CONST_INT - && arm_legitimate_index_p (mode, xop1, outer, strict_p)) - || (arm_address_register_rtx_p (xop1, strict_p) - && arm_legitimate_index_p (mode, xop0, outer, strict_p))); -diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.md gcc-4.3.3/gcc/config/arm/arm.md ---- gcc-4.3.3.orig/gcc/config/arm/arm.md 2007-09-04 01:44:47.000000000 -0300 -+++ gcc-4.3.3/gcc/config/arm/arm.md 2009-05-21 16:06:45.000000000 -0300 -@@ -4199,7 +4199,7 @@ - - (define_expand "extendqihi2" - [(set (match_dup 2) -- (ashift:SI (match_operand:QI 1 "general_operand" "") -+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "") - (const_int 24))) - (set (match_operand:HI 0 "s_register_operand" "") - (ashiftrt:SI (match_dup 2) -@@ -4224,7 +4224,7 @@ - - (define_insn "*arm_extendqihi_insn" - [(set (match_operand:HI 0 "s_register_operand" "=r") -- (sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))] -+ (sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))] - "TARGET_ARM && arm_arch4" - "ldr%(sb%)\\t%0, %1" - [(set_attr "type" "load_byte") -@@ -4235,7 +4235,7 @@ - - (define_expand "extendqisi2" - [(set (match_dup 2) -- (ashift:SI (match_operand:QI 1 "general_operand" "") -+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "") - (const_int 24))) - (set (match_operand:SI 0 "s_register_operand" "") - (ashiftrt:SI (match_dup 2) -@@ -4267,7 +4267,7 @@ - - (define_insn "*arm_extendqisi" - [(set (match_operand:SI 0 "s_register_operand" "=r") -- (sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))] -+ (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))] - "TARGET_ARM && arm_arch4 && !arm_arch6" - "ldr%(sb%)\\t%0, %1" - [(set_attr "type" "load_byte") -@@ -4278,7 +4278,8 @@ - - (define_insn "*arm_extendqisi_v6" - [(set (match_operand:SI 0 "s_register_operand" "=r,r") -- (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))] -+ (sign_extend:SI -+ (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))] - "TARGET_ARM && arm_arch6" - "@ - sxtb%?\\t%0, %1 -diff -Nura gcc-4.3.3.orig/gcc/config/arm/predicates.md gcc-4.3.3/gcc/config/arm/predicates.md ---- gcc-4.3.3.orig/gcc/config/arm/predicates.md 2007-08-02 07:49:31.000000000 -0300 -+++ gcc-4.3.3/gcc/config/arm/predicates.md 2009-05-21 16:06:45.000000000 -0300 -@@ -234,6 +234,10 @@ - (match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND, - 0)"))) - -+(define_special_predicate "arm_reg_or_extendqisi_mem_op" -+ (ior (match_operand 0 "arm_extendqisi_mem_op") -+ (match_operand 0 "s_register_operand"))) -+ - (define_predicate "power_of_two_operand" - (match_code "const_int") - { diff --git a/toolchain/gcc/4.3.6/999-gcc-4.3.0-cris-pragma-pack-warning-remove.patch b/toolchain/gcc/4.3.6/999-gcc-4.3.0-cris-pragma-pack-warning-remove.patch deleted file mode 100644 index dcf01f24b..000000000 --- a/toolchain/gcc/4.3.6/999-gcc-4.3.0-cris-pragma-pack-warning-remove.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urN gcc-4.3.1.orig/gcc/config/cris/cris.h gcc-4.3.1/gcc/config/cris/cris.h ---- gcc-4.3.1.orig/gcc/config/cris/cris.h 2008-02-22 12:11:01.000000000 +0100 -+++ gcc-4.3.1/gcc/config/cris/cris.h 2008-07-02 10:42:42.000000000 +0200 -@@ -1529,9 +1529,6 @@ - - #define NO_IMPLICIT_EXTERN_C - --/* No specific purpose other than warningless compatibility. */ --#define HANDLE_PRAGMA_PACK_PUSH_POP 1 -- - /* - * Local variables: - * eval: (c-set-style "gnu") diff --git a/toolchain/gcc/4.3.6/gcc-43-pr39429.patch b/toolchain/gcc/4.3.6/gcc-43-pr39429.patch deleted file mode 100644 index 4e1dc9ef7..000000000 --- a/toolchain/gcc/4.3.6/gcc-43-pr39429.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Michael Olbrich -Subject: Fix: compiler create bad asm codes. - -See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details. - -Signed-off-by: Michael Olbrich - ---- - gcc/config/arm/arm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: b/gcc/config/arm/arm.c -=================================================================== ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b) - /* Don't accept any offset that will require multiple - instructions to handle, since this would cause the - arith_adjacentmem pattern to output an overlong sequence. */ -- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1)) -+ if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS)) - return 0; - - /* Don't allow an eliminable register: register elimination can make diff --git a/toolchain/gcc/4.3.6/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.3.6/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 9d01ebaf3..000000000 --- a/toolchain/gcc/4.3.6/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,125 +0,0 @@ -See: http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00237.html -Patch by: Bernhard Reutner-Fischer - ---- gcc-4.3.3/gcc/config/t-slibgcc-elf-ver 2005-02-20 00:44:10.000000000 +1300 -+++ gcc-4.3.3-p/gcc/config/t-slibgcc-elf-ver 2009-05-06 07:05:50.000000000 +1200 -@@ -9,7 +9,7 @@ - SHLIB_OBJS = @shlib_objs@ - SHLIB_DIR = @multilib_dir@ - SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ --SHLIB_LC = -lc -+SHLIB_LC = @libgcc_libm@ -lc - - SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ - -Wl,--soname=$(SHLIB_SONAME) \ ---- gcc-4.3.3/libgcc/configure 2008-11-21 06:09:53.000000000 +1300 -+++ gcc-4.3.3-p/libgcc/configure 2009-05-06 07:05:50.000000000 +1200 -@@ -272,7 +272,7 @@ - PACKAGE_BUGREPORT='' - - ac_unique_file="static-object.mk" --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' - ac_subst_files='' - - # Initialize some variables set by options. -@@ -3505,6 +3505,39 @@ - fi - - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+ -+ - # Conditionalize the makefile for this target machine. - tmake_file_= - for f in ${tmake_file} -@@ -4225,6 +4258,7 @@ - s,@fixed_point@,$fixed_point,;t t - s,@vis_hide@,$vis_hide,;t t - s,@set_have_cc_tls@,$set_have_cc_tls,;t t -+s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t - s,@tmake_file@,$tmake_file,;t t - s,@extra_parts@,$extra_parts,;t t - s,@asm_hidden_op@,$asm_hidden_op,;t t ---- gcc-4.3.3/libgcc/configure.ac 2008-11-21 06:09:53.000000000 +1300 -+++ gcc-4.3.3-p/libgcc/configure.ac 2009-05-06 07:05:50.000000000 +1200 -@@ -207,6 +207,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK([for library containing copysignl], -+ libgcc_cv_copysignl_lib, [ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # Conditionalize the makefile for this target machine. - tmake_file_= - for f in ${tmake_file} ---- gcc-4.3.3/libgcc/Makefile.in 2008-06-17 21:32:34.000000000 +1200 -+++ gcc-4.3.3-p/libgcc/Makefile.in 2009-05-06 07:05:50.000000000 +1200 -@@ -40,6 +40,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - -@@ -738,9 +739,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects),$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use diff --git a/toolchain/gcc/4.4.7-arc/fix_branch_out_of_range.patch b/toolchain/gcc/4.4.7-arc/fix_branch_out_of_range.patch deleted file mode 100644 index e39b1cc2d..000000000 --- a/toolchain/gcc/4.4.7-arc/fix_branch_out_of_range.patch +++ /dev/null @@ -1,30 +0,0 @@ -arc: Fix operand-out-of-range errors - -brcc_s instructions can generate operand-out-of-range errors. While a -better solution is being discussed by the compiler team, this workaround -ensures that the chances of running into this issue are low. - -Signed-off-by: Mischa Jonker - -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index ff602c0..b3ca4c4 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -6565,7 +6565,7 @@ estimate required size increase). - rtx *ccp = &XEXP (XVECEXP (pat, 0, 1), 0); - - offset = branch_dest (insn) - INSN_ADDRESSES (INSN_UID (insn)); -- if ((offset >= -140 && offset < 140) -+ if ((offset >= -120 && offset < 120) - && rtx_equal_p (XEXP (op, 1), const0_rtx) - && compact_register_operand (XEXP (op, 0), VOIDmode) - && equality_comparison_operator (op, VOIDmode)) -@@ -6687,7 +6687,7 @@ estimate required size increase). - - if (op0 != cmp0) - cc_clob_rtx = gen_rtx_REG (CC_ZNmode, CC_REG); -- else if ((offset >= -140 && offset < 140) -+ else if ((offset >= -120 && offset < 120) - && rtx_equal_p (op1, const0_rtx) - && compact_register_operand (op0, VOIDmode) - && (GET_CODE (op) == EQ diff --git a/toolchain/gcc/4.4.7/100-uclibc-conf.patch b/toolchain/gcc/4.4.7/100-uclibc-conf.patch deleted file mode 100644 index cca8c8229..000000000 --- a/toolchain/gcc/4.4.7/100-uclibc-conf.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.4.7/301-missing-execinfo_h.patch b/toolchain/gcc/4.4.7/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f3f..000000000 --- a/toolchain/gcc/4.4.7/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.4.7/302-c99-snprintf.patch b/toolchain/gcc/4.4.7/302-c99-snprintf.patch deleted file mode 100644 index ba51a0e1d..000000000 --- a/toolchain/gcc/4.4.7/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) -+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) -@@ -144,7 +144,7 @@ - - _GLIBCXX_END_NAMESPACE - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.4.7/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.4.7/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f865..000000000 --- a/toolchain/gcc/4.4.7/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.4.7/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.4.7/810-arm-softfloat-libgcc.patch deleted file mode 100644 index e6a30a3f0..000000000 --- a/toolchain/gcc/4.4.7/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,38 +0,0 @@ -[PATCH] add the correct symbols to libgcc for uclibc arm softfloat - -Signed-off-by: Peter Korsgaard ---- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/arm/t-linux | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -Index: gcc-4.4.0/gcc/config/arm/t-linux -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/t-linux -+++ gcc-4.4.0/gcc/config/arm/t-linux -@@ -4,7 +4,11 @@ - - LIB1ASMSRC = arm/lib1funcs.asm - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _arm_addsubdf3 _arm_addsubsf3 -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # MULTILIB_OPTIONS = mhard-float/msoft-float - # MULTILIB_DIRNAMES = hard-float soft-float -Index: gcc-4.4.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h -+++ gcc-4.4.0/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - diff --git a/toolchain/gcc/4.4.7/950-sparc-leon.patch b/toolchain/gcc/4.4.7/950-sparc-leon.patch deleted file mode 100644 index ad18607c9..000000000 --- a/toolchain/gcc/4.4.7/950-sparc-leon.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff -Naurb gcc-4.4.2.ori/gcc/config/sparc/leon.md gcc-4.4.2/gcc/config/sparc/leon.md ---- gcc-4.4.2.ori/gcc/config/sparc/leon.md 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-4.4.2/gcc/config/sparc/leon.md 2010-10-19 11:56:58.000000000 +0200 -@@ -0,0 +1,56 @@ -+;; Scheduling description for Leon. -+;; Copyright (C) 2010 Free Software Foundation, Inc. -+;; -+;; This file is part of GCC. -+;; -+;; GCC 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 3, or (at your option) -+;; any later version. -+;; -+;; GCC 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 GCC; see the file COPYING3. If not see -+;; . -+ -+ -+(define_automaton "leon") -+ -+(define_cpu_unit "leon_memory, leon_fpalu" "leon") -+(define_cpu_unit "leon_fpmds" "leon") -+(define_cpu_unit "write_buf" "leon") -+ -+(define_insn_reservation "leon_load" 1 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "load,sload,fpload")) -+ "leon_memory") -+ -+(define_insn_reservation "leon_store" 1 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "store,fpstore")) -+ "leon_memory+write_buf") -+ -+(define_insn_reservation "leon_fp_alu" 1 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "fp,fpmove")) -+ "leon_fpalu, nothing") -+ -+(define_insn_reservation "leon_fp_mult" 1 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "fpmul")) -+ "leon_fpmds, nothing") -+ -+(define_insn_reservation "leon_fp_div" 16 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "fpdivs,fpdivd")) -+ "leon_fpmds, nothing*15") -+ -+(define_insn_reservation "leon_fp_sqrt" 23 -+ (and (eq_attr "cpu" "leon") -+ (eq_attr "type" "fpsqrts,fpsqrtd")) -+ "leon_fpmds, nothing*21") -+ -diff -Naurb gcc-4.4.2.ori/gcc/config/sparc/sparc.c gcc-4.4.2/gcc/config/sparc/sparc.c ---- gcc-4.4.2.ori/gcc/config/sparc/sparc.c 2010-10-19 11:55:17.000000000 +0200 -+++ gcc-4.4.2/gcc/config/sparc/sparc.c 2010-10-19 11:56:58.000000000 +0200 -@@ -246,6 +246,30 @@ - 0, /* shift penalty */ - }; - -+static const -+struct processor_costs leon_costs = { -+ COSTS_N_INSNS (1), /* int load */ -+ COSTS_N_INSNS (1), /* int signed load */ -+ COSTS_N_INSNS (1), /* int zeroed load */ -+ COSTS_N_INSNS (1), /* float load */ -+ COSTS_N_INSNS (1), /* fmov, fneg, fabs */ -+ COSTS_N_INSNS (1), /* fadd, fsub */ -+ COSTS_N_INSNS (1), /* fcmp */ -+ COSTS_N_INSNS (1), /* fmov, fmovr */ -+ COSTS_N_INSNS (1), /* fmul */ -+ COSTS_N_INSNS (15), /* fdivs */ -+ COSTS_N_INSNS (15), /* fdivd */ -+ COSTS_N_INSNS (23), /* fsqrts */ -+ COSTS_N_INSNS (23), /* fsqrtd */ -+ COSTS_N_INSNS (5), /* imul */ -+ COSTS_N_INSNS (5), /* imulX */ -+ 0, /* imul bit factor */ -+ COSTS_N_INSNS (5), /* idiv */ -+ COSTS_N_INSNS (5), /* idivX */ -+ COSTS_N_INSNS (1), /* movcc/movr */ -+ 0, /* shift penalty */ -+}; -+ - const struct processor_costs *sparc_costs = &cypress_costs; - - #ifdef HAVE_AS_RELAX_OPTION -@@ -651,6 +675,10 @@ - { TARGET_CPU_ultrasparc3, "ultrasparc3" }, - { TARGET_CPU_niagara, "niagara" }, - { TARGET_CPU_niagara2, "niagara2" }, -+ { TARGET_CPU_sparchfleon, "sparchfleon" }, -+ { TARGET_CPU_sparchfleonv8, "sparchfleonv8" }, -+ { TARGET_CPU_sparcsfleon, "sparcsfleon" }, -+ { TARGET_CPU_sparcsfleonv8, "sparcsfleonv8" }, - { 0, 0 } - }; - const struct cpu_default *def; -@@ -689,6 +717,11 @@ - /* UltraSPARC T1 */ - { "niagara", PROCESSOR_NIAGARA, MASK_ISA, MASK_V9|MASK_DEPRECATED_V8_INSNS}, - { "niagara2", PROCESSOR_NIAGARA, MASK_ISA, MASK_V9}, -+ /* SPARC-LEON */ -+ { "sparchfleon", PROCESSOR_LEON, MASK_ISA, MASK_FPU }, -+ { "sparchfleonv8", PROCESSOR_LEON, MASK_ISA & ~(MASK_V8), MASK_V8|MASK_FPU }, -+ { "sparcsfleon", PROCESSOR_LEON, MASK_ISA | MASK_FPU, 0 }, -+ { "sparcsfleonv8", PROCESSOR_LEON, (MASK_ISA | MASK_FPU) & ~(MASK_V8), MASK_V8 }, - { 0, 0, 0, 0 } - }; - const struct cpu_table *cpu; -@@ -855,6 +888,9 @@ - case PROCESSOR_NIAGARA2: - sparc_costs = &niagara2_costs; - break; -+ case PROCESSOR_LEON: -+ sparc_costs = &leon_costs; -+ break; - }; - - #ifdef TARGET_DEFAULT_LONG_DOUBLE_128 -diff -Naurb gcc-4.4.2.ori/gcc/config/sparc/sparc.h gcc-4.4.2/gcc/config/sparc/sparc.h ---- gcc-4.4.2.ori/gcc/config/sparc/sparc.h 2010-10-19 11:55:17.000000000 +0200 -+++ gcc-4.4.2/gcc/config/sparc/sparc.h 2010-10-19 11:56:58.000000000 +0200 -@@ -243,6 +243,10 @@ - #define TARGET_CPU_ultrasparc3 9 - #define TARGET_CPU_niagara 10 - #define TARGET_CPU_niagara2 11 -+#define TARGET_CPU_sparchfleon 12 -+#define TARGET_CPU_sparchfleonv8 13 -+#define TARGET_CPU_sparcsfleon 14 -+#define TARGET_CPU_sparcsfleonv8 15 - - #if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \ - || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc \ -@@ -299,6 +303,26 @@ - #define ASM_CPU32_DEFAULT_SPEC "-Asparclite" - #endif - -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparchfleon -+#define CPP_CPU32_DEFAULT_SPEC "-Dsparcleon" -+#define ASM_CPU32_DEFAULT_SPEC "" -+#endif -+ -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparcsfleon -+#define CPP_CPU32_DEFAULT_SPEC "-Dsparcleon -D_SOFT_FLOAT" -+#define ASM_CPU32_DEFAULT_SPEC "" -+#endif -+ -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparchfleonv8 -+#define CPP_CPU32_DEFAULT_SPEC "-Dsparcleon -D__sparc_v8__ " -+#define ASM_CPU32_DEFAULT_SPEC "" -+#endif -+ -+#if TARGET_CPU_DEFAULT == TARGET_CPU_sparcsfleonv8 -+#define CPP_CPU32_DEFAULT_SPEC "-Dsparcleon -D__sparc_v8__ -D_SOFT_FLOAT" -+#define ASM_CPU32_DEFAULT_SPEC "" -+#endif -+ - #if TARGET_CPU_DEFAULT == TARGET_CPU_supersparc - #define CPP_CPU32_DEFAULT_SPEC "-D__supersparc__ -D__sparc_v8__" - #define ASM_CPU32_DEFAULT_SPEC "" -@@ -369,6 +393,10 @@ - %{mcpu=ultrasparc3:-D__sparc_v9__} \ - %{mcpu=niagara:-D__sparc_v9__} \ - %{mcpu=niagara2:-D__sparc_v9__} \ -+%{mcpu=sparchfleon:-Dsparcleon} \ -+%{mcpu=sparchfleonv8:-Dsparcleon -D__sparc_v8__} \ -+%{mcpu=sparcsfleon:-Dsparcleon -D_SOFT_FLOAT} \ -+%{mcpu=sparcsfleonv8:-Dsparcleon -D_SOFT_FLOAT -D__sparc_v8__} \ - %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \ - " - #define CPP_ARCH32_SPEC "" -@@ -533,6 +561,7 @@ - PROCESSOR_V7, - PROCESSOR_CYPRESS, - PROCESSOR_V8, -+ PROCESSOR_LEON, - PROCESSOR_SUPERSPARC, - PROCESSOR_SPARCLITE, - PROCESSOR_F930, -diff -Naurb gcc-4.4.2.ori/gcc/config/sparc/sparc.md gcc-4.4.2/gcc/config/sparc/sparc.md ---- gcc-4.4.2.ori/gcc/config/sparc/sparc.md 2010-10-19 11:55:17.000000000 +0200 -+++ gcc-4.4.2/gcc/config/sparc/sparc.md 2010-10-19 11:56:58.000000000 +0200 -@@ -89,6 +89,7 @@ - "v7, - cypress, - v8, -+ leon, - supersparc, - sparclite,f930,f934, - hypersparc,sparclite86x, -@@ -320,6 +321,7 @@ - (include "ultra3.md") - (include "niagara.md") - (include "niagara2.md") -+(include "leon.md") - - - ;; Operand and operator predicates and constraints -diff -Naurb gcc-4.4.2.ori/gcc/config/sparc/t-leon gcc-4.4.2/gcc/config/sparc/t-leon ---- gcc-4.4.2.ori/gcc/config/sparc/t-leon 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-4.4.2/gcc/config/sparc/t-leon 2010-10-19 11:56:58.000000000 +0200 -@@ -0,0 +1,16 @@ -+# configuration file for LEON cpu -+ -+LIB1ASMSRC = sparc/lb1spc.asm -+LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 -+ -+# We want fine grained libraries, so use the new code to build the -+# floating point emulation libraries. -+FPBIT = fp-bit.c -+DPBIT = dp-bit.c -+ -+dp-bit.c: $(srcdir)/config/fp-bit.c -+ cat $(srcdir)/config/fp-bit.c > dp-bit.c -+ -+fp-bit.c: $(srcdir)/config/fp-bit.c -+ echo '#define FLOAT' > fp-bit.c -+ cat $(srcdir)/config/fp-bit.c >> fp-bit.c -diff -Naurb gcc-4.4.2.ori/gcc/config.gcc gcc-4.4.2/gcc/config.gcc ---- gcc-4.4.2.ori/gcc/config.gcc 2010-10-19 11:55:17.000000000 +0200 -+++ gcc-4.4.2/gcc/config.gcc 2010-10-19 11:56:11.000000000 +0200 -@@ -2978,6 +2978,9 @@ - | v9 | ultrasparc | ultrasparc3 | niagara | niagara2) - # OK - ;; -+ sparchfleon | sparcsfleon | sparchfleonv8 | sparcsfleonv8 | leon) -+ tmake_file="${tmake_file} sparc/t-leon" -+ ;; - *) - echo "Unknown cpu used in --with-$which=$val" 1>&2 - exit 1 diff --git a/toolchain/gcc/4.4.7/gcc-44-pr39429.patch b/toolchain/gcc/4.4.7/gcc-44-pr39429.patch deleted file mode 100644 index 4e1dc9ef7..000000000 --- a/toolchain/gcc/4.4.7/gcc-44-pr39429.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Michael Olbrich -Subject: Fix: compiler create bad asm codes. - -See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details. - -Signed-off-by: Michael Olbrich - ---- - gcc/config/arm/arm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: b/gcc/config/arm/arm.c -=================================================================== ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b) - /* Don't accept any offset that will require multiple - instructions to handle, since this would cause the - arith_adjacentmem pattern to output an overlong sequence. */ -- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1)) -+ if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS)) - return 0; - - /* Don't allow an eliminable register: register elimination can make diff --git a/toolchain/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 3fe8757d7..000000000 --- a/toolchain/gcc/4.4.7/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,137 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - - -diff -rdup gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver gcc-4.4.0/gcc/config/t-slibgcc-elf-ver - -diff -durN gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver gcc-4.4.4/gcc/config/t-slibgcc-elf-ver ---- gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver 2010-01-04 16:13:08.000000000 +0100 -+++ gcc-4.4.4/gcc/config/t-slibgcc-elf-ver 2010-05-16 19:38:36.000000000 +0200 -@@ -9,7 +9,7 @@ - SHLIB_OBJS = @shlib_objs@ - SHLIB_DIR = @multilib_dir@ - SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ --SHLIB_LC = -lc -+SHLIB_LC = @libgcc_libm@ -lc - SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) - SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ - $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) -diff -durN gcc-4.4.4.orig/libgcc/Makefile.in gcc-4.4.4/libgcc/Makefile.in ---- gcc-4.4.4.orig/libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200 -+++ gcc-4.4.4/libgcc/Makefile.in 2010-05-16 19:38:36.000000000 +0200 -@@ -39,6 +39,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - -@@ -787,9 +788,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects),$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -diff -durN gcc-4.4.4.orig/libgcc/configure gcc-4.4.4/libgcc/configure ---- gcc-4.4.4.orig/libgcc/configure 2008-11-20 18:13:01.000000000 +0100 -+++ gcc-4.4.4/libgcc/configure 2010-05-16 19:38:36.000000000 +0200 -@@ -272,7 +272,7 @@ - PACKAGE_BUGREPORT='' - - ac_unique_file="static-object.mk" --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS' - ac_subst_files='' - ac_pwd=`pwd` - -@@ -3547,6 +3547,39 @@ - fi - - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+ -+ - # Conditionalize the makefile for this target machine. - tmake_file_= - for f in ${tmake_file} -@@ -4267,6 +4300,7 @@ - s,@fixed_point@,$fixed_point,;t t - s,@vis_hide@,$vis_hide,;t t - s,@set_have_cc_tls@,$set_have_cc_tls,;t t -+s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t - s,@tmake_file@,$tmake_file,;t t - s,@extra_parts@,$extra_parts,;t t - s,@asm_hidden_op@,$asm_hidden_op,;t t -diff -durN gcc-4.4.4.orig/libgcc/configure.ac gcc-4.4.4/libgcc/configure.ac ---- gcc-4.4.4.orig/libgcc/configure.ac 2008-11-20 18:13:01.000000000 +0100 -+++ gcc-4.4.4/libgcc/configure.ac 2010-05-16 19:38:36.000000000 +0200 -@@ -223,6 +223,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # Conditionalize the makefile for this target machine. - tmake_file_= - for f in ${tmake_file} diff --git a/toolchain/gcc/4.5.4/100-uclibc-conf.patch b/toolchain/gcc/4.5.4/100-uclibc-conf.patch deleted file mode 100644 index cca8c8229..000000000 --- a/toolchain/gcc/4.5.4/100-uclibc-conf.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.5.4/301-missing-execinfo_h.patch b/toolchain/gcc/4.5.4/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f3f..000000000 --- a/toolchain/gcc/4.5.4/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.5.4/302-c99-snprintf.patch b/toolchain/gcc/4.5.4/302-c99-snprintf.patch deleted file mode 100644 index ba51a0e1d..000000000 --- a/toolchain/gcc/4.5.4/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) -+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) -@@ -144,7 +144,7 @@ - - _GLIBCXX_END_NAMESPACE - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.5.4/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.5.4/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f865..000000000 --- a/toolchain/gcc/4.5.4/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.5.4/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.5.4/810-arm-softfloat-libgcc.patch deleted file mode 100644 index e6a30a3f0..000000000 --- a/toolchain/gcc/4.5.4/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,38 +0,0 @@ -[PATCH] add the correct symbols to libgcc for uclibc arm softfloat - -Signed-off-by: Peter Korsgaard ---- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/arm/t-linux | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -Index: gcc-4.4.0/gcc/config/arm/t-linux -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/t-linux -+++ gcc-4.4.0/gcc/config/arm/t-linux -@@ -4,7 +4,11 @@ - - LIB1ASMSRC = arm/lib1funcs.asm - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _arm_addsubdf3 _arm_addsubsf3 -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # MULTILIB_OPTIONS = mhard-float/msoft-float - # MULTILIB_DIRNAMES = hard-float soft-float -Index: gcc-4.4.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h -+++ gcc-4.4.0/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - diff --git a/toolchain/gcc/4.5.4/820-arm-unbreak-armv4t.patch b/toolchain/gcc/4.5.4/820-arm-unbreak-armv4t.patch deleted file mode 100644 index 8651afcd8..000000000 --- a/toolchain/gcc/4.5.4/820-arm-unbreak-armv4t.patch +++ /dev/null @@ -1,14 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - -diff -Nura gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h gcc-4.5.1/gcc/config/arm/linux-eabi.h ---- gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h 2009-10-30 17:03:09.000000000 -0300 -+++ gcc-4.5.1/gcc/config/arm/linux-eabi.h 2010-11-02 15:38:25.792208500 -0300 -@@ -44,7 +44,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/4.5.4/830-arm-pr43440.patch b/toolchain/gcc/4.5.4/830-arm-pr43440.patch deleted file mode 100644 index 811d1f249..000000000 --- a/toolchain/gcc/4.5.4/830-arm-pr43440.patch +++ /dev/null @@ -1,345 +0,0 @@ -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43440 - ---- gcc-4.4.4.orig/gcc/config/arm/aout.h -+++ gcc-4.4.4/gcc/config/arm/aout.h -@@ -163,34 +163,49 @@ - {"mvdx12", 39}, \ - {"mvdx13", 40}, \ - {"mvdx14", 41}, \ -- {"mvdx15", 42}, \ -- {"d0", 63}, {"q0", 63}, \ -- {"d1", 65}, \ -- {"d2", 67}, {"q1", 67}, \ -- {"d3", 69}, \ -- {"d4", 71}, {"q2", 71}, \ -- {"d5", 73}, \ -- {"d6", 75}, {"q3", 75}, \ -- {"d7", 77}, \ -- {"d8", 79}, {"q4", 79}, \ -- {"d9", 81}, \ -- {"d10", 83}, {"q5", 83}, \ -- {"d11", 85}, \ -- {"d12", 87}, {"q6", 87}, \ -- {"d13", 89}, \ -- {"d14", 91}, {"q7", 91}, \ -- {"d15", 93}, \ -- {"q8", 95}, \ -- {"q9", 99}, \ -- {"q10", 103}, \ -- {"q11", 107}, \ -- {"q12", 111}, \ -- {"q13", 115}, \ -- {"q14", 119}, \ -- {"q15", 123} \ -+ {"mvdx15", 42} \ - } - #endif - -+#ifndef OVERLAPPING_REGISTER_NAMES -+#define OVERLAPPING_REGISTER_NAMES \ -+{ \ -+ {"d0", 63, 2}, \ -+ {"d1", 65, 2}, \ -+ {"d2", 67, 2}, \ -+ {"d3", 69, 2}, \ -+ {"d4", 71, 2}, \ -+ {"d5", 73, 2}, \ -+ {"d6", 75, 2}, \ -+ {"d7", 77, 2}, \ -+ {"d8", 79, 2}, \ -+ {"d9", 81, 2}, \ -+ {"d10", 83, 2}, \ -+ {"d11", 85, 2}, \ -+ {"d12", 87, 2}, \ -+ {"d13", 89, 2}, \ -+ {"d14", 91, 2}, \ -+ {"d15", 93, 2}, \ -+ {"q0", 63, 4}, \ -+ {"q1", 67, 4}, \ -+ {"q2", 71, 4}, \ -+ {"q3", 75, 4}, \ -+ {"q4", 79, 4}, \ -+ {"q5", 83, 4}, \ -+ {"q6", 87, 4}, \ -+ {"q7", 91, 4}, \ -+ {"q8", 95, 4}, \ -+ {"q9", 99, 4}, \ -+ {"q10", 103, 4}, \ -+ {"q11", 107, 4}, \ -+ {"q12", 111, 4}, \ -+ {"q13", 115, 4}, \ -+ {"q14", 119, 4}, \ -+ {"q15", 123, 4} \ -+} -+#endif -+ -+ - #ifndef NO_DOLLAR_IN_LABEL - #define NO_DOLLAR_IN_LABEL 1 - #endif ---- gcc-4.4.4.orig/gcc/output.h -+++ gcc-4.4.4/gcc/output.h -@@ -169,6 +169,11 @@ - Prefixes such as % are optional. */ - extern int decode_reg_name (const char *); - -+/* Similar to decode_reg_name, but takes an extra parameter that is a -+ pointer to the number of (internal) registers described by the -+ external name. */ -+extern int decode_reg_name_and_count (const char *, int *); -+ - extern void assemble_alias (tree, tree); - - extern void default_assemble_visibility (tree, int); ---- gcc-4.4.4.orig/gcc/reginfo.c -+++ gcc-4.4.4/gcc/reginfo.c -@@ -800,39 +800,44 @@ - fix_register (const char *name, int fixed, int call_used) - { - int i; -+ int reg, nregs; - - /* Decode the name and update the primary form of - the register info. */ -- -- if ((i = decode_reg_name (name)) >= 0) -+ if ((reg = decode_reg_name_and_count (name, &nregs)) >= 0) - { -- if ((i == STACK_POINTER_REGNUM -+ gcc_assert (nregs >= 1); -+ for (i = reg; i < reg + nregs; i++) -+ { -+ if ((i == STACK_POINTER_REGNUM - #ifdef HARD_FRAME_POINTER_REGNUM -- || i == HARD_FRAME_POINTER_REGNUM -+ || i == HARD_FRAME_POINTER_REGNUM - #else -- || i == FRAME_POINTER_REGNUM -+ || i == FRAME_POINTER_REGNUM - #endif -- ) -- && (fixed == 0 || call_used == 0)) -- { -- static const char * const what_option[2][2] = { -- { "call-saved", "call-used" }, -- { "no-such-option", "fixed" }}; -+ ) -+ && (fixed == 0 || call_used == 0)) -+ { -+ static const char * const what_option[2][2] = { -+ { "call-saved", "call-used" }, -+ { "no-such-option", "fixed" }}; - -- error ("can't use '%s' as a %s register", name, -- what_option[fixed][call_used]); -- } -- else -- { -- fixed_regs[i] = fixed; -- call_used_regs[i] = call_used; -+ error ("can't use '%s' as a %s register", name, -+ what_option[fixed][call_used]); -+ } -+ else -+ { -+ fixed_regs[i] = fixed; -+ call_used_regs[i] = call_used; - #ifdef CALL_REALLY_USED_REGISTERS -- if (fixed == 0) -- call_really_used_regs[i] = call_used; -+ if (fixed == 0) -+ call_really_used_regs[i] = call_used; - #endif -- } -- } -- else -+ } -+ } -+ } -+ else -+ - { - warning (0, "unknown register name: %s", name); - } ---- gcc-4.4.4.orig/gcc/stmt.c -+++ gcc-4.4.4/gcc/stmt.c -@@ -681,13 +681,14 @@ - for (tail = clobbers; tail; tail = TREE_CHAIN (tail)) - { - const char *regname; -+ int nregs; - - if (TREE_VALUE (tail) == error_mark_node) - return; - regname = TREE_STRING_POINTER (TREE_VALUE (tail)); - -- i = decode_reg_name (regname); -- if (i >= 0 || i == -4) -+ i = decode_reg_name_and_count (regname, &nregs); -+ if (i == -4) - ++nclobbers; - else if (i == -2) - error ("unknown register name %qs in %", regname); -@@ -695,14 +696,21 @@ - /* Mark clobbered registers. */ - if (i >= 0) - { -- /* Clobbering the PIC register is an error. */ -- if (i == (int) PIC_OFFSET_TABLE_REGNUM) -- { -- error ("PIC register %qs clobbered in %", regname); -- return; -- } -+ int reg; - -- SET_HARD_REG_BIT (clobbered_regs, i); -+ for (reg = i; reg < i + nregs; reg++) -+ { -+ ++nclobbers; -+ -+ /* Clobbering the PIC register is an error. */ -+ if (reg == (int) PIC_OFFSET_TABLE_REGNUM) -+ { -+ error ("PIC register clobbered by %qs in %", regname); -+ return; -+ } -+ -+ SET_HARD_REG_BIT (clobbered_regs, reg); -+ } - } - } - -@@ -1012,8 +1020,9 @@ - for (tail = clobbers; tail; tail = TREE_CHAIN (tail)) - { - const char *regname = TREE_STRING_POINTER (TREE_VALUE (tail)); -- int j = decode_reg_name (regname); -- rtx clobbered_reg; -+ int reg, nregs; -+ int j = decode_reg_name_and_count (regname, &nregs); -+ rtx clobbered_reg; - - if (j < 0) - { -@@ -1033,31 +1042,40 @@ - /* Ignore unknown register, error already signaled. */ - continue; - } -- -- /* Use QImode since that's guaranteed to clobber just one reg. */ -- clobbered_reg = gen_rtx_REG (QImode, j); -- -- /* Do sanity check for overlap between clobbers and respectively -- input and outputs that hasn't been handled. Such overlap -- should have been detected and reported above. */ -- if (!clobber_conflict_found) -- { -- int opno; -- -- /* We test the old body (obody) contents to avoid tripping -- over the under-construction body. */ -- for (opno = 0; opno < noutputs; opno++) -- if (reg_overlap_mentioned_p (clobbered_reg, output_rtx[opno])) -- internal_error ("asm clobber conflict with output operand"); -- -- for (opno = 0; opno < ninputs - ninout; opno++) -- if (reg_overlap_mentioned_p (clobbered_reg, -- ASM_OPERANDS_INPUT (obody, opno))) -- internal_error ("asm clobber conflict with input operand"); -+ -+ for (reg = j; reg < j + nregs; reg++) -+ { -+ /* Use QImode since that's guaranteed to clobber just -+ * one reg. */ -+ clobbered_reg = gen_rtx_REG (QImode, reg); -+ -+ /* Do sanity check for overlap between clobbers and -+ respectively input and outputs that hasn't been -+ handled. Such overlap should have been detected and -+ reported above. */ -+ if (!clobber_conflict_found) -+ { -+ int opno; -+ -+ /* We test the old body (obody) contents to avoid -+ tripping over the under-construction body. */ -+ for (opno = 0; opno < noutputs; opno++) -+ if (reg_overlap_mentioned_p (clobbered_reg, -+ output_rtx[opno])) -+ internal_error -+ ("asm clobber conflict with output operand"); -+ -+ for (opno = 0; opno < ninputs - ninout; opno++) -+ if (reg_overlap_mentioned_p (clobbered_reg, -+ ASM_OPERANDS_INPUT (obody, -+ opno))) -+ internal_error -+ ("asm clobber conflict with input operand"); -+ } -+ -+ XVECEXP (body, 0, i++) -+ = gen_rtx_CLOBBER (VOIDmode, clobbered_reg); - } -- -- XVECEXP (body, 0, i++) -- = gen_rtx_CLOBBER (VOIDmode, clobbered_reg); - } - - emit_insn (body); ---- gcc-4.4.4.orig/gcc/varasm.c -+++ gcc-4.4.4/gcc/varasm.c -@@ -1031,8 +1031,11 @@ - Prefixes such as % are optional. */ - - int --decode_reg_name (const char *asmspec) -+decode_reg_name_and_count (const char *asmspec, int *pnregs) - { -+ /* Presume just one register is clobbered. */ -+ *pnregs = 1; -+ - if (asmspec != 0) - { - int i; -@@ -1058,6 +1061,25 @@ - && ! strcmp (asmspec, strip_reg_name (reg_names[i]))) - return i; - -+#ifdef OVERLAPPING_REGISTER_NAMES -+ { -+ static const struct -+ { -+ const char *const name; -+ const int number; -+ const int nregs; -+ } table[] = OVERLAPPING_REGISTER_NAMES; -+ -+ for (i = 0; i < (int) ARRAY_SIZE (table); i++) -+ if (table[i].name[0] -+ && ! strcmp (asmspec, table[i].name)) -+ { -+ *pnregs = table[i].nregs; -+ return table[i].number; -+ } -+ } -+#endif /* OVERLAPPING_REGISTER_NAMES */ -+ - #ifdef ADDITIONAL_REGISTER_NAMES - { - static const struct { const char *const name; const int number; } table[] -@@ -1081,6 +1103,15 @@ - - return -1; - } -+ -+int -+decode_reg_name (const char *name) -+{ -+ int count; -+ return decode_reg_name_and_count (name, &count); -+} -+ -+ - - /* Return true if DECL's initializer is suitable for a BSS section. */ - diff --git a/toolchain/gcc/4.5.4/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.5.4/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 7e75e87f2..000000000 --- a/toolchain/gcc/4.5.4/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,125 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - -diff -Nura gcc-4.5.1.orig/gcc/config/t-slibgcc-elf-ver gcc-4.5.1/gcc/config/t-slibgcc-elf-ver ---- gcc-4.5.1.orig/gcc/config/t-slibgcc-elf-ver 2010-11-03 14:35:08.644904042 -0300 -+++ gcc-4.5.1/gcc/config/t-slibgcc-elf-ver 2010-11-03 14:35:56.332904024 -0300 -@@ -27,7 +27,7 @@ - SHLIB_OBJS = @shlib_objs@ - SHLIB_DIR = @multilib_dir@ - SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ --SHLIB_LC = -lc -+SHLIB_LC = @libgcc_libm@ -lc - SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) - SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ - $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) -diff -Nura gcc-4.5.1.orig/libgcc/Makefile.in gcc-4.5.1/libgcc/Makefile.in ---- gcc-4.5.1.orig/libgcc/Makefile.in 2010-11-03 14:32:44.272904042 -0300 -+++ gcc-4.5.1/libgcc/Makefile.in 2010-11-03 14:37:03.893904042 -0300 -@@ -39,6 +39,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - -@@ -798,9 +799,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects),$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -diff -Nura gcc-4.5.1.orig/libgcc/configure gcc-4.5.1/libgcc/configure ---- gcc-4.5.1.orig/libgcc/configure 2010-11-03 14:32:44.283904042 -0300 -+++ gcc-4.5.1/libgcc/configure 2010-11-03 14:39:48.685904042 -0300 -@@ -557,6 +557,7 @@ - extra_parts - tmake_file - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -3847,6 +3848,37 @@ - set_use_emutls="-DUSE_EMUTLS" - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -diff -Nura gcc-4.5.1.orig/libgcc/configure.ac gcc-4.5.1/libgcc/configure.ac ---- gcc-4.5.1.orig/libgcc/configure.ac 2010-11-03 14:32:44.735904042 -0300 -+++ gcc-4.5.1/libgcc/configure.ac 2010-11-03 14:42:11.278904045 -0300 -@@ -238,6 +238,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/toolchain/gcc/4.6.4/100-uclibc-conf.patch b/toolchain/gcc/4.6.4/100-uclibc-conf.patch deleted file mode 100644 index cca8c8229..000000000 --- a/toolchain/gcc/4.6.4/100-uclibc-conf.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.6.4/301-missing-execinfo_h.patch b/toolchain/gcc/4.6.4/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f3f..000000000 --- a/toolchain/gcc/4.6.4/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.6.4/302-c99-snprintf.patch b/toolchain/gcc/4.6.4/302-c99-snprintf.patch deleted file mode 100644 index ba51a0e1d..000000000 --- a/toolchain/gcc/4.6.4/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) -+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) -@@ -144,7 +144,7 @@ - - _GLIBCXX_END_NAMESPACE - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.6.4/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.6.4/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f865..000000000 --- a/toolchain/gcc/4.6.4/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.6.4/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.6.4/810-arm-softfloat-libgcc.patch deleted file mode 100644 index e6a30a3f0..000000000 --- a/toolchain/gcc/4.6.4/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,38 +0,0 @@ -[PATCH] add the correct symbols to libgcc for uclibc arm softfloat - -Signed-off-by: Peter Korsgaard ---- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/arm/t-linux | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -Index: gcc-4.4.0/gcc/config/arm/t-linux -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/t-linux -+++ gcc-4.4.0/gcc/config/arm/t-linux -@@ -4,7 +4,11 @@ - - LIB1ASMSRC = arm/lib1funcs.asm - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _arm_addsubdf3 _arm_addsubsf3 -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # MULTILIB_OPTIONS = mhard-float/msoft-float - # MULTILIB_DIRNAMES = hard-float soft-float -Index: gcc-4.4.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h -+++ gcc-4.4.0/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - diff --git a/toolchain/gcc/4.6.4/820-arm-unbreak-armv4t.patch b/toolchain/gcc/4.6.4/820-arm-unbreak-armv4t.patch deleted file mode 100644 index 8651afcd8..000000000 --- a/toolchain/gcc/4.6.4/820-arm-unbreak-armv4t.patch +++ /dev/null @@ -1,14 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - -diff -Nura gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h gcc-4.5.1/gcc/config/arm/linux-eabi.h ---- gcc-4.5.1.orig/gcc/config/arm/linux-eabi.h 2009-10-30 17:03:09.000000000 -0300 -+++ gcc-4.5.1/gcc/config/arm/linux-eabi.h 2010-11-02 15:38:25.792208500 -0300 -@@ -44,7 +44,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/4.6.4/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.6.4/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 7e75e87f2..000000000 --- a/toolchain/gcc/4.6.4/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,125 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - -diff -Nura gcc-4.5.1.orig/gcc/config/t-slibgcc-elf-ver gcc-4.5.1/gcc/config/t-slibgcc-elf-ver ---- gcc-4.5.1.orig/gcc/config/t-slibgcc-elf-ver 2010-11-03 14:35:08.644904042 -0300 -+++ gcc-4.5.1/gcc/config/t-slibgcc-elf-ver 2010-11-03 14:35:56.332904024 -0300 -@@ -27,7 +27,7 @@ - SHLIB_OBJS = @shlib_objs@ - SHLIB_DIR = @multilib_dir@ - SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ --SHLIB_LC = -lc -+SHLIB_LC = @libgcc_libm@ -lc - SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) - SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ - $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) -diff -Nura gcc-4.5.1.orig/libgcc/Makefile.in gcc-4.5.1/libgcc/Makefile.in ---- gcc-4.5.1.orig/libgcc/Makefile.in 2010-11-03 14:32:44.272904042 -0300 -+++ gcc-4.5.1/libgcc/Makefile.in 2010-11-03 14:37:03.893904042 -0300 -@@ -39,6 +39,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - -@@ -798,9 +799,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects),$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -diff -Nura gcc-4.5.1.orig/libgcc/configure gcc-4.5.1/libgcc/configure ---- gcc-4.5.1.orig/libgcc/configure 2010-11-03 14:32:44.283904042 -0300 -+++ gcc-4.5.1/libgcc/configure 2010-11-03 14:39:48.685904042 -0300 -@@ -557,6 +557,7 @@ - extra_parts - tmake_file - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -3847,6 +3848,37 @@ - set_use_emutls="-DUSE_EMUTLS" - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -diff -Nura gcc-4.5.1.orig/libgcc/configure.ac gcc-4.5.1/libgcc/configure.ac ---- gcc-4.5.1.orig/libgcc/configure.ac 2010-11-03 14:32:44.735904042 -0300 -+++ gcc-4.5.1/libgcc/configure.ac 2010-11-03 14:42:11.278904045 -0300 -@@ -238,6 +238,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/toolchain/gcc/4.7.3/100-uclibc-conf.patch b/toolchain/gcc/4.7.3/100-uclibc-conf.patch deleted file mode 100644 index cca8c8229..000000000 --- a/toolchain/gcc/4.7.3/100-uclibc-conf.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh -+++ gcc/contrib/regression/objs-gcc.sh -@@ -105,6 +105,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 ---- gcc/libjava/classpath/ltconfig -+++ gcc/libjava/classpath/ltconfig -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1251,7 +1251,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.7.3/301-missing-execinfo_h.patch b/toolchain/gcc/4.7.3/301-missing-execinfo_h.patch deleted file mode 100644 index 0e2092f3f..000000000 --- a/toolchain/gcc/4.7.3/301-missing-execinfo_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 -@@ -500,7 +500,7 @@ - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.7.3/302-c99-snprintf.patch b/toolchain/gcc/4.7.3/302-c99-snprintf.patch deleted file mode 100644 index ba51a0e1d..000000000 --- a/toolchain/gcc/4.7.3/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) -+++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) -@@ -144,7 +144,7 @@ - - _GLIBCXX_END_NAMESPACE - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.7.3/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.7.3/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 374b1f865..000000000 --- a/toolchain/gcc/4.7.3/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.7.3/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.7.3/810-arm-softfloat-libgcc.patch deleted file mode 100644 index a3d7db014..000000000 --- a/toolchain/gcc/4.7.3/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -57,7 +57,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,10 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _arm_addsubdf3 _arm_addsubsf3 -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/toolchain/gcc/4.7.3/830-arm_unbreak_armv4t.patch b/toolchain/gcc/4.7.3/830-arm_unbreak_armv4t.patch deleted file mode 100644 index 37f8f2a54..000000000 --- a/toolchain/gcc/4.7.3/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,13 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/4.7.3/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.7.3/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index 2554263a0..000000000 --- a/toolchain/gcc/4.7.3/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,127 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward ported to gcc 4.7.3 - -Signed-off-by: Gustavo Zacarias - -diff -Nura gcc-4.7.3.orig/libgcc/config/t-slibgcc gcc-4.7.3/libgcc/config/t-slibgcc ---- gcc-4.7.3.orig/libgcc/config/t-slibgcc 2013-04-11 15:23:46.491571116 -0300 -+++ gcc-4.7.3/libgcc/config/t-slibgcc 2013-04-11 15:25:06.241141824 -0300 -@@ -27,7 +27,7 @@ - SHLIB_OBJS = @shlib_objs@ - SHLIB_DIR = @multilib_dir@ - SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ --SHLIB_LC = -lc -+SHLIB_LC = @libgcc_libm@ -lc - SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) - SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ - $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) -diff -Nura gcc-4.7.3.orig/libgcc/configure gcc-4.7.3/libgcc/configure ---- gcc-4.7.3.orig/libgcc/configure 2013-04-11 15:23:46.551573051 -0300 -+++ gcc-4.7.3/libgcc/configure 2013-04-11 15:25:06.243141875 -0300 -@@ -563,6 +563,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4445,6 +4446,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -diff -Nura gcc-4.7.3.orig/libgcc/configure.ac gcc-4.7.3/libgcc/configure.ac ---- gcc-4.7.3.orig/libgcc/configure.ac 2013-04-11 15:23:46.551573051 -0300 -+++ gcc-4.7.3/libgcc/configure.ac 2013-04-11 15:25:06.244141901 -0300 -@@ -324,6 +324,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= -diff -Nura gcc-4.7.3.orig/libgcc/Makefile.in gcc-4.7.3/libgcc/Makefile.in ---- gcc-4.7.3.orig/libgcc/Makefile.in 2013-04-11 15:23:46.537572599 -0300 -+++ gcc-4.7.3/libgcc/Makefile.in 2013-04-11 15:25:06.241141824 -0300 -@@ -41,6 +41,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -928,9 +929,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use diff --git a/toolchain/gcc/4.8.1/100-uclibc-conf.patch b/toolchain/gcc/4.8.1/100-uclibc-conf.patch deleted file mode 100644 index d855b30ee..000000000 --- a/toolchain/gcc/4.8.1/100-uclibc-conf.patch +++ /dev/null @@ -1,37 +0,0 @@ -Index: gcc-4.8.0/contrib/regression/objs-gcc.sh -=================================================================== ---- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200 -+++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100 -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 -Index: gcc-4.8.0/libjava/classpath/ltconfig -=================================================================== ---- gcc-4.8.0.orig/libjava/classpath/ltconfig 2011-02-13 12:45:53.000000000 +0100 -+++ gcc-4.8.0/libjava/classpath/ltconfig 2013-03-23 17:39:04.000000000 +0100 -@@ -603,7 +603,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1247,7 +1247,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux*) - version_type=linux - need_lib_prefix=no - need_version=no diff --git a/toolchain/gcc/4.8.1/301-missing-execinfo_h.patch b/toolchain/gcc/4.8.1/301-missing-execinfo_h.patch deleted file mode 100644 index 00efda24a..000000000 --- a/toolchain/gcc/4.8.1/301-missing-execinfo_h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.8.0/boehm-gc/include/gc.h -=================================================================== ---- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200 -+++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100 -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/toolchain/gcc/4.8.1/302-c99-snprintf.patch b/toolchain/gcc/4.8.1/302-c99-snprintf.patch deleted file mode 100644 index cd4d2ccfb..000000000 --- a/toolchain/gcc/4.8.1/302-c99-snprintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gcc-4.8.0/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- gcc-4.8.0.orig/libstdc++-v3/include/c_global/cstdio 2013-02-03 18:54:05.000000000 +0100 -+++ gcc-4.8.0/libstdc++-v3/include/c_global/cstdio 2013-03-23 17:39:32.000000000 +0100 -@@ -138,7 +138,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined __UCLIBC__ - - #undef snprintf - #undef vfscanf diff --git a/toolchain/gcc/4.8.1/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.8.1/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 35d5f5020..000000000 --- a/toolchain/gcc/4.8.1/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.8.0/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.8.0.orig/libmudflap/mf-hooks2.c 2013-02-03 18:48:05.000000000 +0100 -+++ gcc-4.8.0/libmudflap/mf-hooks2.c 2013-03-23 17:39:43.000000000 +0100 -@@ -424,7 +424,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.8.1/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.8.1/810-arm-softfloat-libgcc.patch deleted file mode 100644 index c8cb377d5..000000000 --- a/toolchain/gcc/4.8.1/810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: gcc-4.8.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100 -+++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100 -@@ -55,7 +55,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - -Index: gcc-4.8.0/libgcc/config/arm/t-linux -=================================================================== ---- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100 -+++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100 -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/toolchain/gcc/4.8.1/830-arm_unbreak_armv4t.patch b/toolchain/gcc/4.8.1/830-arm_unbreak_armv4t.patch deleted file mode 100644 index 37f8f2a54..000000000 --- a/toolchain/gcc/4.8.1/830-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,13 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/4.8.1/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.8.1/powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index b7094fe65..000000000 --- a/toolchain/gcc/4.8.1/powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,122 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - ---- - libgcc/Makefile.in | 4 +++- - libgcc/configure | 32 ++++++++++++++++++++++++++++++++ - libgcc/configure.ac | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+), 1 deletion(-) - -Index: gcc-4.8.0/libgcc/Makefile.in -=================================================================== ---- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100 -+++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100 -@@ -41,6 +41,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -927,9 +928,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -Index: gcc-4.8.0/libgcc/configure -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100 -+++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100 -@@ -564,6 +564,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4481,6 +4482,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -Index: gcc-4.8.0/libgcc/configure.ac -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200 -+++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100 -@@ -326,6 +326,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in deleted file mode 100644 index 7830241b9..000000000 --- a/toolchain/gcc/Config.in +++ /dev/null @@ -1,130 +0,0 @@ -# Choose gcc version. - -comment "GCC Options" - -config BR2_GCC_NEEDS_MPC - bool - -choice - prompt "GCC compiler Version" - default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8 - default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32 - default BR2_GCC_VERSION_4_4_7_ARC if BR2_arc - default BR2_GCC_VERSION_4_7_X - help - Select the version of gcc you wish to use. - - config BR2_GCC_VERSION_4_4_7_ARC - depends on BR2_arc - bool "gcc 4.4.7-arc" - - config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 - depends on BR2_avr32 - bool "gcc 4.2.2-avr32-2.1.5" - - config BR2_GCC_VERSION_4_3_X - depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 - bool "gcc 4.3.x" - - config BR2_GCC_VERSION_4_4_X - depends on !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 - bool "gcc 4.4.x" - - config BR2_GCC_VERSION_4_5_X - depends on !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4 - select BR2_GCC_NEEDS_MPC - bool "gcc 4.5.x" - - config BR2_GCC_VERSION_4_6_X - depends on !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 - select BR2_GCC_NEEDS_MPC - bool "gcc 4.6.x" - - config BR2_GCC_VERSION_4_7_X - depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 - select BR2_GCC_NEEDS_MPC - bool "gcc 4.7.x" - - config BR2_GCC_VERSION_4_8_X - depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 - select BR2_GCC_NEEDS_MPC - bool "gcc 4.8.x" - - config BR2_GCC_VERSION_SNAP - depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 - select BR2_GCC_NEEDS_MPC - bool "gcc snapshot" -endchoice - -config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE - bool - default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 - -config BR2_GCC_SNAP_DATE - string "GCC snapshot date" - default "4.8-20120429" - depends on BR2_GCC_VERSION_SNAP - help - Enter snapshot date to use for gcc. - Format is: A.B-YYYYMMDD - - A is GCC major version, for example 4. - B is GCC minor version, for example 7. - YYYYMMDD is snapshot date, for example 20110430. - - This way we'd get version 4.7-20110430 - -config BR2_GCC_VERSION - string - default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 - default "4.3.6" if BR2_GCC_VERSION_4_3_X - default "4.4.7" if BR2_GCC_VERSION_4_4_X - default "4.4.7-arc" if BR2_GCC_VERSION_4_4_7_ARC - default "4.5.4" if BR2_GCC_VERSION_4_5_X - default "4.6.4" if BR2_GCC_VERSION_4_6_X - default "4.7.3" if BR2_GCC_VERSION_4_7_X - default "4.8.1" if BR2_GCC_VERSION_4_8_X - default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP - -config BR2_EXTRA_GCC_CONFIG_OPTIONS - string "Additional gcc options" - default "" - help - Any additional gcc configure options you may want to include.... - -config BR2_INSTALL_OBJC - bool "Build/install Objective-C compiler and runtime?" - depends on !BR2_avr32 - help - Build/install Objective-C compiler and runtime? - -config BR2_INSTALL_FORTRAN - bool "Build/install Fortran compiler and runtime?" - depends on !BR2_avr32 - select BR2_PACKAGE_LIBMPFR - help - Build/install Fortran compiler and runtime? - Note that it is highly recommended NOT to use gfortran - from gcc older than 4.2.0 - -config BR2_GCC_SHARED_LIBGCC - bool "Build/install a shared libgcc?" - depends on !BR2_PREFER_STATIC_LIB - default y - depends on !BR2_sparc - help - Build/install a shared libgcc library - -config BR2_GCC_ENABLE_TLS - bool "Enable compiler tls support" - default y - depends on BR2_PTHREADS_NATIVE - help - Enable the compiler to generate code for accessing - thread local storage variables - -config BR2_GCC_ENABLE_OPENMP - bool "Enable compiler OpenMP support" - depends on !BR2_PTHREADS_NONE && !BR2_avr32 && !BR2_arc - help - Enable OpenMP support for the compiler diff --git a/toolchain/gcc/Config.in.2 b/toolchain/gcc/Config.in.2 deleted file mode 100644 index c8a8cf63a..000000000 --- a/toolchain/gcc/Config.in.2 +++ /dev/null @@ -1,34 +0,0 @@ -config BR2_PACKAGE_GCC_TARGET - bool "gcc" - # We no longer want to support a toolchain on the target - depends on BR2_DEPRECATED - depends on BR2_HAVE_DEVFILES && BR2_TOOLCHAIN_BUILDROOT - select BR2_PACKAGE_BINUTILS - select BR2_PACKAGE_BINUTILS_TARGET - select BR2_PACKAGE_MPC if (BR2_GCC_VERSION_4_5_X || BR2_GCC_VERSION_4_6_X || BR2_GCC_VERSION_4_7_X || BR2_GCC_VERSION_SNAP) - select BR2_PACKAGE_MPFR - select BR2_PACKAGE_GMP - help - If you want the target system to be able to run - binutils/gcc and compile native code, say Y here. - -config BR2_GCC_CROSS_FORTRAN - bool "fortran support" - depends on !BR2_avr32 && BR2_PACKAGE_GCC_TARGET - help - Build a Fortran compiler - -config BR2_GCC_CROSS_OBJC - bool "objective-c support" - depends on !BR2_avr32 && BR2_PACKAGE_GCC_TARGET - help - Build an Objective-C compiler - -config BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS - string "Additional target gcc options" - default "" - depends on BR2_PACKAGE_GCC_TARGET - help - Any additional target gcc options you may want to include.... - Including, but not limited to --disable-checking etc. - Refer to */configure in your gcc sources. diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk deleted file mode 100644 index b1484ebdb..000000000 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ /dev/null @@ -1,640 +0,0 @@ -################################################################################ -# -# Makefile for to build a gcc/uClibc toolchain -# -# Copyright (C) 2002-2003 Erik Andersen -# Copyright (C) 2004 Manuel Novoa III -# -# This program 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 of the License, or -# (at your option) any later version. -# -# This program 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; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -################################################################################ - -GCC_VERSION:=$(call qstrip,$(BR2_GCC_VERSION)) - -ifeq ($(BR2_GCC_VERSION_SNAP),y) -GCC_SNAP_DATE:=$(call qstrip,$(BR2_GCC_SNAP_DATE)) -else -GCC_SNAP_DATE:= -endif - -ifneq ($(GCC_SNAP_DATE),) - GCC_SITE:=ftp://gcc.gnu.org/pub/gcc/snapshots/$(GCC_SNAP_DATE)/ -else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32) - GCC_SITE:=ftp://www.at91.com/pub/buildroot/ -else ifeq ($(findstring arc,$(GCC_VERSION)),arc) - GCC_SITE:=$(BR2_ARC_SITE) -else - GCC_SITE:=$(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) -endif - -GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2 -GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION) -GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION) -GCC_CAT:=$(BZCAT) -GCC_SRC_DIR:=$(GCC_DIR) - -# Branding works on >= 4.3 -ifneq ($(findstring x4.2.,x$(GCC_VERSION)),x4.2.) -EXTRA_GCC_CONFIG_OPTIONS+=--with-pkgversion="Buildroot $(BR2_VERSION_FULL)" \ - --with-bugurl="http://bugs.buildroot.net/" -endif - -# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43810 -# Workaround until it's fixed in 4.5.4 or later -ifeq ($(ARCH),powerpc) -ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.) -GCC_OPTSPACE=--disable-target-optspace -endif -else -GCC_OPTSPACE=--enable-target-optspace -endif - -# gcc 4.6.x quadmath requires wchar -ifneq ($(BR2_TOOLCHAIN_BUILDROOT_WCHAR),y) -GCC_QUADMATH=--disable-libquadmath -endif - -# Determine soft-float options -ifeq ($(BR2_SOFT_FLOAT),y) -# only mips*-*-*, arm*-*-* and sparc*-*-* accept --with-float -# powerpc seems to be needing it as well -ifeq ($(BR2_arm)$(BR2_armeb)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),y) -SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft -endif -ifeq ($(BR2_arm)$(BR2_armeb),y) # only set float-abi for arm -TARGET_SOFT_FLOAT:=-mfloat-abi=soft -else -TARGET_SOFT_FLOAT:=-msoft-float -endif -else # no softfloat support -SOFT_FLOAT_CONFIG_OPTION:= -TARGET_SOFT_FLOAT:= -endif - -# Determine arch/tune/abi/cpu options -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH) -endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),) -GCC_WITH_TUNE:=--with-tune=$(BR2_GCC_TARGET_TUNE) -endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) -GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI) -endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -GCC_WITH_CPU:=--with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -else -GCC_WITH_CPU:=--with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)) -endif -endif - -# AVR32 GCC special configuration -ifeq ($(BR2_avr32),y) -# For the cross-compiler -EXTRA_GCC_CONFIG_OPTIONS += \ - --disable-libmudflap -SOFT_FLOAT_CONFIG_OPTION:= - -# For the target compiler -EXTRA_TARGET_GCC_CONFIG_OPTIONS += \ - --disable-libmudflap -EXTRA_TARGET_GCC_CONFIG_OPTIONS += \ - --with-build-time-tools=$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin -EXTRA_TARGET_GCC_CONFIG_OPTIONS += \ - --with-as=$(TARGET_CROSS)as -endif - -# Disable mudflap and enable proper double/long double for SPE ABI -ifeq ($(BR2_powerpc_SPE),y) -EXTRA_GCC_CONFIG_OPTIONS += \ - --disable-libmudflap \ - --enable-e500_double \ - --with-long-double-128 -endif - -# End with user-provided options, so that they can override previously -# defined options. -EXTRA_GCC_CONFIG_OPTIONS += \ - $(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS)) -EXTRA_TARGET_GCC_CONFIG_OPTIONS += \ - $(call qstrip,$(BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS)) - -################################################################################ -# -# Setup some initial stuff -# -################################################################################ - -GCC_STAGING_PREREQ+=$(STAGING_DIR)/usr/lib/libc.a - -GCC_TARGET_LANGUAGES:=c - -GCC_CROSS_LANGUAGES:=c -ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),c++ -endif -ifeq ($(BR2_GCC_CROSS_FORTRAN),y) -GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),fortran -endif -ifeq ($(BR2_GCC_CROSS_OBJC),y) -GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),objc -endif - -ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++ -endif - -ifeq ($(BR2_INSTALL_OBJC),y) -GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc -endif - -ifeq ($(BR2_INSTALL_FORTRAN),y) -GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),fortran -endif - -# GCC 4.x prerequisites -GCC_WITH_HOST_GMP = --with-gmp=$(HOST_DIR)/usr -GCC_WITH_HOST_MPFR = --with-mpfr=$(HOST_DIR)/usr -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE += host-gmp-source host-mpfr-source -endif -GCC_HOST_PREREQ = host-gmp host-mpfr -GCC_TARGET_PREREQ += mpfr gmp - -ifeq ($(BR2_GCC_NEEDS_MPC),y) -GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr -GCC_TARGET_PREREQ += mpc -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE += host-mpc-source -endif -GCC_HOST_PREREQ += host-mpc -endif - -ifeq ($(BR2_GCC_VERSION_4_4_7_ARC),y) -GCC_HOST_PREREQ += host-flex host-bison -endif - -ifeq ($(BR2_GCC_SHARED_LIBGCC),y) -GCC_SHARED_LIBGCC:=--enable-shared -else -GCC_SHARED_LIBGCC:=--disable-shared -endif - -ifeq ($(BR2_GCC_ENABLE_OPENMP),y) -GCC_ENABLE_OPENMP:=--enable-libgomp -else -GCC_ENABLE_OPENMP:=--disable-libgomp -endif - -ifeq ($(BR2_GCC_ENABLE_TLS),y) -GCC_TLS:=--enable-tls -else -GCC_TLS:=--disable-tls -endif - -ifeq ($(BR2_PTHREADS_NONE),y) -THREADS:=--disable-threads --disable-libitm --disable-libatomic -else -THREADS:=--enable-threads -endif - -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) -GCC_DECIMAL_FLOAT:=--disable-decimal-float -endif - -# gcc version < 4.2.0 don't have -Wno-overlength-strings and the configure -# script has problems detecting it, so help it -ifeq ($(shell test $(HOSTCC_VERSION) -lt 420 && echo OLD),OLD) -GCC_CONF_ENV:=acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings=no \ - acx_cv_prog_cc_warning__Wno_overlength_strings=no -endif - -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE+=gcc-source -endif - -$(DL_DIR)/$(GCC_SOURCE): - mkdir -p $(DL_DIR) - $(Q)$(call MESSAGE,"Downloading gcc") - $(call DOWNLOAD,$(GCC_SITE:/=)/$(GCC_SOURCE)) - -gcc-unpacked: $(GCC_DIR)/.patched -$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE) - $(Q)$(call MESSAGE,"Extracting gcc") - mkdir -p $(TOOLCHAIN_DIR) - rm -rf $(GCC_DIR) - $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOLCHAIN_DIR) $(TAR_OPTIONS) - - $(call CONFIG_UPDATE,$(@D)) -ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) - tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(call qstrip,\ - $(BR2_XTENSA_CORE_NAME)).tar -C $(@D) --strip-components=1 gcc -endif - touch $@ - -gcc-patched: $(GCC_DIR)/.patched -$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked - $(Q)$(call MESSAGE,"Patching gcc") - # Apply any files named gcc-*.patch from the source directory to gcc -ifneq ($(wildcard $(GCC_PATCH_DIR)),) - support/scripts/apply-patches.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch -endif - -ifeq ($(ARCH)-$(BR2_GCC_SHARED_LIBGCC),powerpc-y) -ifneq ($(BR2_SOFT_FLOAT),) - support/scripts/apply-patches.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional -endif -endif - touch $@ - -################################################################################ -# -# build the first pass gcc compiler -# -################################################################################ -GCC_BUILD_DIR1:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-initial - -$(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched - $(Q)$(call MESSAGE,"Configuring gcc pass-1") - mkdir -p $(GCC_BUILD_DIR1) - (cd $(GCC_BUILD_DIR1); rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - MAKEINFO=missing \ - $(GCC_DIR)/configure $(QUIET) \ - --prefix=$(HOST_DIR)/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --target=$(GNU_TARGET_NAME) \ - --enable-languages=c \ - --with-sysroot=$(TOOLCHAIN_DIR)/uClibc_dev/ \ - --disable-__cxa_atexit \ - $(GCC_OPTSPACE) \ - $(GCC_QUADMATH) \ - $(GCC_ENABLE_OPENMP) \ - --with-gnu-ld \ - --disable-shared \ - --disable-libssp \ - --without-headers \ - --with-newlib \ - --disable-multilib \ - $(GCC_TLS) \ - $(GCC_WITH_HOST_GMP) \ - $(GCC_WITH_HOST_MPFR) \ - $(GCC_WITH_HOST_MPC) \ - $(DISABLE_NLS) \ - $(THREADS) \ - $(GCC_DECIMAL_FLOAT) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_CPU) \ - $(DISABLE_LARGEFILE) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - ) - touch $@ - -$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured - $(Q)$(call MESSAGE,"Building gcc pass-1") -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) - $(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc -else - $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc -endif - touch $@ - -gcc_initial=$(GCC_BUILD_DIR1)/.installed -$(gcc_initial) $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled - $(Q)$(call MESSAGE,"Installing gcc pass-1") - $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc - touch $(gcc_initial) - -gcc_initial: $(GCC_HOST_PREREQ) host-binutils $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc - -gcc_initial-clean: - rm -rf $(GCC_BUILD_DIR1) - -gcc_initial-dirclean: - rm -rf $(GCC_BUILD_DIR1) $(GCC_DIR) - -################################################################################ -# -# build the second pass gcc compiler -# -################################################################################ -GCC_BUILD_DIR2:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-intermediate - -# The --without-headers option stopped working with gcc 3.0 and has never been -# fixed, so we need to actually have working C library header files prior to -# the step or libgcc will not build... - -$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched - $(Q)$(call MESSAGE,"Configuring gcc pass-2") - mkdir -p $(GCC_BUILD_DIR2) - (cd $(GCC_BUILD_DIR2); rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - MAKEINFO=missing \ - $(GCC_DIR)/configure $(QUIET) \ - --prefix=$(HOST_DIR)/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --target=$(GNU_TARGET_NAME) \ - --enable-languages=c \ - --with-sysroot=$(TOOLCHAIN_DIR)/uClibc_dev/ \ - --disable-__cxa_atexit \ - $(GCC_OPTSPACE) \ - $(GCC_QUADMATH) \ - $(GCC_ENABLE_OPENMP) \ - --with-gnu-ld \ - --enable-shared \ - --disable-libssp \ - --disable-multilib \ - $(GCC_TLS) \ - $(GCC_WITH_HOST_GMP) \ - $(GCC_WITH_HOST_MPFR) \ - $(GCC_WITH_HOST_MPC) \ - $(DISABLE_NLS) \ - $(THREADS) \ - $(MULTILIB) \ - $(GCC_DECIMAL_FLOAT) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_CPU) \ - $(DISABLE_LARGEFILE) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - ) - touch $@ - -$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured - $(Q)$(call MESSAGE,"Building gcc pass-2") - # gcc >= 4.3.0 have to also build all-target-libgcc -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) - $(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc all-target-libgcc -else - $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc -endif - touch $@ - -gcc_intermediate=$(GCC_BUILD_DIR2)/.installed -$(gcc_intermediate): $(GCC_BUILD_DIR2)/.compiled - $(Q)$(call MESSAGE,"Installing gcc pass-2") - # gcc >= 4.3.0 have to also install install-target-libgcc -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) - $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc install-target-libgcc -else - $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc -endif - touch $(gcc_intermediate) - -gcc_intermediate: uclibc-configured $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc - -gcc_intermediate-clean: - rm -rf $(GCC_BUILD_DIR2) - -gcc_intermediate-dirclean: - rm -rf $(GCC_BUILD_DIR2) $(GCC_DIR) - -################################################################################ -# -# third pass compiler build. Build the compiler targeting -# the newly built shared uClibc library. -# -################################################################################ -# -# Sigh... I had to rework things because using --with-gxx-include-dir -# causes issues with include dir search order for g++. This seems to -# have something to do with "path translations" and possibly doesn't -# affect gcc-target. However, I haven't tested gcc-target yet so no -# guarantees. mjn3 - -GCC_BUILD_DIR3:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-final -$(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ) - $(Q)$(call MESSAGE,"Configuring gcc final") - mkdir -p $(GCC_BUILD_DIR3) - # Important! Required for limits.h to be fixed. - ln -snf ../include/ $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/sys-include - (cd $(GCC_BUILD_DIR3); rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - MAKEINFO=missing \ - $(GCC_SRC_DIR)/configure $(QUIET) \ - --prefix=$(HOST_DIR)/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --target=$(GNU_TARGET_NAME) \ - --enable-languages=$(GCC_CROSS_LANGUAGES) \ - --with-sysroot=$(STAGING_DIR) \ - --with-build-time-tools=$(HOST_DIR)/usr/$(GNU_TARGET_NAME)/bin \ - --disable-__cxa_atexit \ - $(GCC_OPTSPACE) \ - $(GCC_QUADMATH) \ - $(GCC_ENABLE_OPENMP) \ - --with-gnu-ld \ - --disable-libssp \ - --disable-multilib \ - $(GCC_TLS) \ - $(GCC_SHARED_LIBGCC) \ - $(GCC_WITH_HOST_GMP) \ - $(GCC_WITH_HOST_MPFR) \ - $(GCC_WITH_HOST_MPC) \ - $(DISABLE_NLS) \ - $(THREADS) \ - $(GCC_DECIMAL_FLOAT) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_CPU) \ - $(DISABLE_LARGEFILE) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - ) - touch $@ - -$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured - $(Q)$(call MESSAGE,"Building gcc final") - $(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR3) all - touch $@ - -$(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled - $(Q)$(call MESSAGE,"Installing gcc final") - $(HOST_MAKE_ENV) $(MAKE) \ - -C $(GCC_BUILD_DIR3) install - if [ -d "$(STAGING_DIR)/lib64" ]; then \ - if [ ! -e "$(STAGING_DIR)/lib" ]; then \ - mkdir -p "$(STAGING_DIR)/lib"; \ - fi; \ - mv "$(STAGING_DIR)/lib64/"* "$(STAGING_DIR)/lib/"; \ - rmdir "$(STAGING_DIR)/lib64"; \ - rm "$(STAGING_DIR)/usr/$(GNU_TARGET_NAME)/lib64";\ - fi - # Make sure we have 'cc'. - if [ ! -e $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-cc ]; then \ - ln -snf $(GNU_TARGET_NAME)-gcc \ - $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-cc; \ - fi - if [ ! -e $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/bin/cc ]; then \ - ln -snf gcc $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/bin/cc; \ - fi - # arch-linux-* symlinks - cd $(HOST_DIR)/usr/bin; for i in $(GNU_TARGET_NAME)-*; do \ - ln -snf $$i $(ARCH)-linux$${i##$(GNU_TARGET_NAME)}; \ - done - - mkdir -p $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/sbin - touch $@ - -$(STAMP_DIR)/gcc_libs_target_installed: $(GCC_BUILD_DIR3)/.installed - $(Q)$(call MESSAGE,"Installing gcc final libraries to staging and target") -ifeq ($(BR2_GCC_SHARED_LIBGCC),y) - # These go in /lib, so... - rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so* - -cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libgcc_s* \ - $(STAGING_DIR)/lib/ - -cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libgcc_s* \ - $(TARGET_DIR)/lib/ - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libgcc_s* -endif -ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -ifeq ($(BR2_GCC_SHARED_LIBGCC),y) - mkdir -p $(TARGET_DIR)/usr/lib - -cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libstdc++.so* \ - $(STAGING_DIR)/usr/lib/ - -cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libstdc++.so* \ - $(TARGET_DIR)/usr/lib/ - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libstdc++.so* -endif -endif -ifeq ($(BR2_GCC_ENABLE_OPENMP),y) - cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libgomp.so* $(STAGING_DIR)/usr/lib/ - cp -dpf $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib*/libgomp.so* $(TARGET_DIR)/usr/lib/ - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgomp.so* -endif - mkdir -p $(@D) - touch $@ - -cross_compiler:=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc -cross_compiler gcc: gcc_intermediate \ - uclibc $(GCC_BUILD_DIR3)/.installed \ - $(STAMP_DIR)/gcc_libs_target_installed - -gcc-source: $(DL_DIR)/$(GCC_SOURCE) - -gcc-clean: - rm -rf $(GCC_BUILD_DIR3) - for prog in cpp gcc gcc-[0-9]* protoize unprotoize gcov gccbug cc; do \ - rm -f $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-$$prog; \ - done - -gcc-dirclean: gcc_initial-dirclean - rm -rf $(GCC_BUILD_DIR3) - -################################################################################ -# -# Next build target gcc compiler -# -################################################################################ -GCC_BUILD_DIR4:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target - -$(GCC_BUILD_DIR4)/.prepared: $(STAMP_DIR)/gcc_libs_target_installed - mkdir -p $(GCC_BUILD_DIR4) - touch $@ - -$(GCC_BUILD_DIR4)/.configured: $(GCC_BUILD_DIR4)/.prepared - $(Q)$(call MESSAGE,"Configuring gcc on target") - (cd $(GCC_BUILD_DIR4); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - CFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ - CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ - CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ - BOOT_CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ - GCC_FOR_TARGET="$(TARGET_CC)" \ - CC_FOR_TARGET="$(TARGET_CC)" \ - CXX_FOR_TARGET="$(TARGET_CXX)" \ - $(GCC_SRC_DIR)/configure $(QUIET) \ - --prefix=/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --target=$(GNU_TARGET_NAME) \ - --enable-languages=$(GCC_TARGET_LANGUAGES) \ - --with-gxx-include-dir=/usr/include/c++ \ - --disable-__cxa_atexit \ - $(GCC_OPTSPACE) \ - $(GCC_QUADMATH) \ - $(GCC_ENABLE_OPENMP) \ - --with-gnu-ld \ - --disable-libssp \ - --disable-multilib \ - $(GCC_TLS) \ - $(GCC_SHARED_LIBGCC) \ - $(DISABLE_NLS) \ - $(THREADS) \ - $(GCC_DECIMAL_FLOAT) \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_CPU) \ - $(DISABLE_LARGEFILE) \ - $(EXTRA_GCC_CONFIG_OPTIONS) \ - $(EXTRA_TARGET_GCC_CONFIG_OPTIONS) \ - ) - touch $@ - -$(GCC_BUILD_DIR4)/.compiled: $(GCC_BUILD_DIR4)/.configured - $(Q)$(call MESSAGE,"Building gcc on target") - $(TARGET_MAKE_ENV) \ - $(TARGET_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR4) all - touch $@ - -GCC_LIB_SUBDIR=lib/gcc/$(GNU_TARGET_NAME)/$(GCC_VERSION) -ifeq ($(findstring x4.2,x$(GCC_VERSION)),x4.2) -GCC_INCLUDE_DIR:=include -else -GCC_INCLUDE_DIR:=include-fixed -endif - -$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled - $(Q)$(call MESSAGE,"Installing gcc on target") - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \ - $(MAKE1) -C $(GCC_BUILD_DIR4) install - # Remove broken specs file (cross compile flag is set). - rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs - - # Remove useless copies of gcc, c++, g++ - rm -f $(TARGET_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc* - rm -f $(TARGET_DIR)/usr/bin/$(GNU_TARGET_NAME)-g++* - rm -f $(TARGET_DIR)/usr/bin/$(GNU_TARGET_NAME)-c++* - - # Work around problem of missing syslimits.h - if [ ! -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h ]; then \ - echo "warning: working around missing syslimits.h"; \ - cp -f $(HOST_DIR)/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h \ - $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/; \ - fi - - # Make sure we have 'cc'. - if [ ! -e $(TARGET_DIR)/usr/bin/cc ]; then \ - ln -snf gcc $(TARGET_DIR)/usr/bin/cc; \ - fi - - # Copy C runtime initialization object files - cp -f $(STAGING_DIR)/usr/lib/*crt*.o $(TARGET_DIR)/usr/lib - - # These are in /lib, so... - rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so* - touch -c $@ - -gcc_target: $(STAMP_DIR)/gcc_libs_target_installed $(GCC_TARGET_PREREQ) binutils $(TARGET_DIR)/usr/bin/gcc - -gcc_target-clean: - rm -rf $(GCC_BUILD_DIR4) - rm -f $(TARGET_DIR)/usr/bin/$(GNU_TARGET_NAME)* - -gcc_target-dirclean: - rm -rf $(GCC_BUILD_DIR4) - -ifeq ($(BR2_PACKAGE_GCC_TARGET),y) -TARGETS+=gcc_target -endif diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk index a8dd58b31..b2eb9deb2 100644 --- a/toolchain/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot.mk @@ -1,4 +1,9 @@ # Include files required for the internal toolchain backend -include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/uClibc/uclibc.mk + +# Triggerring the build of the host-gcc-final will automaticaly do the +# build of binutils, uClibc, kernel headers and all the intermediate +# gcc steps. + +toolchain-buildroot: host-gcc-final diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 3d70fa19a..4ad0603a2 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -4,5 +4,5 @@ if BR2_TOOLCHAIN_BUILDROOT source "package/linux-headers/Config.in.host" source "toolchain/uClibc/Config.in" source "package/binutils/Config.in.host" -source "toolchain/gcc/Config.in" +source "package/gcc/Config.in.host" endif diff --git a/toolchain/toolchain-crosstool-ng.mk b/toolchain/toolchain-crosstool-ng.mk index 4f9c29c19..6ef73bb98 100644 --- a/toolchain/toolchain-crosstool-ng.mk +++ b/toolchain/toolchain-crosstool-ng.mk @@ -2,6 +2,5 @@ # Explicit ordering: include toolchain/helpers.mk -include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/toolchain-crosstool-ng/crosstool-ng.mk include toolchain/uClibc/uclibc.mk diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk index 40fc63313..1198a57d9 100644 --- a/toolchain/toolchain-external.mk +++ b/toolchain/toolchain-external.mk @@ -1,6 +1,5 @@ # Required includes for the external toolchain backend include toolchain/helpers.mk -include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/toolchain-external/ext-tool.mk include toolchain/uClibc/uclibc.mk diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index e06fafc85..06f5b2300 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -394,14 +394,14 @@ endif $(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.oldconfig $(Q)$(call MESSAGE,"Configuring uClibc") cp -f $(UCLIBC_DIR)/.oldconfig $(UCLIBC_DIR)/.config - mkdir -p $(TOOLCHAIN_DIR)/uClibc_dev/usr/include - mkdir -p $(TOOLCHAIN_DIR)/uClibc_dev/usr/lib - mkdir -p $(TOOLCHAIN_DIR)/uClibc_dev/lib + mkdir -p $(STAGING_DIR)/usr/include + mkdir -p $(STAGING_DIR)/usr/lib + mkdir -p $(STAGING_DIR)/lib $(MAKE1) -C $(UCLIBC_DIR) \ ARCH="$(UCLIBC_TARGET_ARCH)" \ - PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + PREFIX=$(STAGING_DIR) \ DEVEL_PREFIX=/usr/ \ - RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + RUNTIME_PREFIX=$(STAGING_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" \ @@ -430,26 +430,20 @@ $(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.config $(Q)$(call MESSAGE,"Installing uClibc headers") $(MAKE1) -C $(UCLIBC_DIR) \ ARCH="$(UCLIBC_TARGET_ARCH)" \ - PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + PREFIX=$(STAGING_DIR) \ DEVEL_PREFIX=/usr/ \ - RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + RUNTIME_PREFIX=$(STAGING_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" headers \ lib/crt1.o lib/crti.o lib/crtn.o \ install_headers - # Install the kernel headers to the first stage gcc include dir - # if necessary - if [ ! -f $(TOOLCHAIN_DIR)/uClibc_dev/usr/include/linux/version.h ]; then \ - cp -pLR $(STAGING_DIR)/usr/include/* \ - $(TOOLCHAIN_DIR)/uClibc_dev/usr/include/; \ - fi - $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(TOOLCHAIN_DIR)/uClibc_dev/usr/lib/libc.so - $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(TOOLCHAIN_DIR)/uClibc_dev/usr/lib/libm.so - cp -pLR $(UCLIBC_DIR)/lib/crt[1in].o $(TOOLCHAIN_DIR)/uClibc_dev/usr/lib/ + $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(STAGING_DIR)/usr/lib/libc.so + $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(STAGING_DIR)/usr/lib/libm.so + cp -pLR $(UCLIBC_DIR)/lib/crt[1in].o $(STAGING_DIR)/usr/lib/ touch $@ -$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(gcc_intermediate) +$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(HOST_GCC_INTERMEDIATE_TARGET_INSTALL_HOST) $(Q)$(call MESSAGE,"Building uClibc") $(MAKE1) -C $(UCLIBC_DIR) \ ARCH="$(UCLIBC_TARGET_ARCH)" \ @@ -465,9 +459,9 @@ $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(gcc_intermediate) uclibc-menuconfig: dirs $(UCLIBC_DIR)/.config $(MAKE1) -C $(UCLIBC_DIR) \ ARCH="$(UCLIBC_TARGET_ARCH)" \ - PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + PREFIX=$(STAGING_DIR) \ DEVEL_PREFIX=/usr/ \ - RUNTIME_PREFIX=$(TOOLCHAIN_DIR)/uClibc_dev/ \ + RUNTIME_PREFIX=$(STAGING_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" \ @@ -530,7 +524,7 @@ UCLIBC_TARGETS+=uclibc-test endif endif -uclibc: $(gcc_intermediate) $(STAGING_DIR)/usr/lib/libc.a $(UCLIBC_TARGETS) +uclibc: host-gcc-intermediate $(STAGING_DIR)/usr/lib/libc.a $(UCLIBC_TARGETS) uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE) @@ -543,7 +537,7 @@ uclibc-oldconfig: $(UCLIBC_DIR)/.oldconfig uclibc-update-config: uclibc-config cp -f $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG_FILE) -uclibc-configured: gcc_initial linux-headers $(UCLIBC_DIR)/.configured +uclibc-configured: host-gcc-initial linux-headers $(UCLIBC_DIR)/.configured uclibc-configured-source: uclibc-source -- cgit v1.2.3