From fc77598368d0a275de87dfb82fd3ca9bf38b8e0a Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sun, 19 Dec 2010 21:09:00 +0100 Subject: [PATCH] toolchain/gcc: bump 4.5.x version Signed-off-by: Peter Korsgaard --- toolchain/gcc/4.5.1/840-arm-pr45070.patch | 184 ------------------ .../{4.5.1 => 4.5.2}/100-uclibc-conf.patch | 0 .../301-missing-execinfo_h.patch | 0 .../{4.5.1 => 4.5.2}/302-c99-snprintf.patch | 0 .../305-libmudflap-susv3-legacy.patch | 0 .../810-arm-softfloat-libgcc.patch | 0 .../820-arm-unbreak-armv4t.patch | 0 .../{4.5.1 => 4.5.2}/830-arm-pr43440.patch | 0 .../{4.5.1 => 4.5.2}/850-arm-pr44392.patch | 0 ...werpc-link-with-math-lib.patch.conditional | 0 toolchain/gcc/Config.in | 2 +- 11 files changed, 1 insertion(+), 185 deletions(-) delete mode 100644 toolchain/gcc/4.5.1/840-arm-pr45070.patch rename toolchain/gcc/{4.5.1 => 4.5.2}/100-uclibc-conf.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/301-missing-execinfo_h.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/302-c99-snprintf.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/305-libmudflap-susv3-legacy.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/810-arm-softfloat-libgcc.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/820-arm-unbreak-armv4t.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/830-arm-pr43440.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/850-arm-pr44392.patch (100%) rename toolchain/gcc/{4.5.1 => 4.5.2}/powerpc-link-with-math-lib.patch.conditional (100%) diff --git a/toolchain/gcc/4.5.1/840-arm-pr45070.patch b/toolchain/gcc/4.5.1/840-arm-pr45070.patch deleted file mode 100644 index 80a573387e..0000000000 --- a/toolchain/gcc/4.5.1/840-arm-pr45070.patch +++ /dev/null @@ -1,184 +0,0 @@ -Miscompiled c++ class with packed attribute on ARM with -Os optimizations - -http://gcc.gnu.org/PR45070 -https://bugs.gentoo.org/331641 - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -3036,7 +3036,7 @@ tree-switch-conversion.o : tree-switch-conversion.c $(CONFIG_H) $(SYSTEM_H) \ - $(TREE_H) $(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) $(TREE_INLINE_H) \ - $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(GIMPLE_H) \ - $(TREE_PASS_H) $(FLAGS_H) $(EXPR_H) $(BASIC_BLOCK_H) output.h \ -- $(GGC_H) $(OBSTACK_H) $(PARAMS_H) $(CPPLIB_H) $(PARAMS_H) -+ $(GGC_H) $(OBSTACK_H) $(PARAMS_H) $(CPPLIB_H) $(PARAMS_H) langhooks.h - tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \ - $(TM_H) $(RTL_H) $(REAL_H) $(FLAGS_H) $(TREE_FLOW_H) $(GIMPLE_H) \ - tree-iterator.h $(TREE_PASS_H) tree-ssa-propagate.h $(DIAGNOSTIC_H) ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -13705,7 +13705,8 @@ arm_output_epilogue (rtx sibling) - && !crtl->tail_call_emit) - { - unsigned long mask; -- mask = (1 << (arm_size_return_regs() / 4)) - 1; -+ /* Preserve return values, of any size. */ -+ mask = (1 << ((arm_size_return_regs() + 3) / 4)) - 1; - mask ^= 0xf; - mask &= ~saved_regs_mask; - reg = 0; ---- a/gcc/config/arm/linux-atomic.c -+++ b/gcc/config/arm/linux-atomic.c -@@ -56,7 +56,7 @@ typedef void (__kernel_dmb_t) (void); - \ - do { \ - tmp = *ptr; \ -- failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ -+ failure = __kernel_cmpxchg (tmp, PFX_OP (tmp INF_OP val), ptr); \ - } while (failure != 0); \ - \ - return tmp; \ -@@ -88,8 +88,8 @@ FETCH_AND_OP_WORD (nand, ~, &) - \ - do { \ - oldval = *wordptr; \ -- newval = ((PFX_OP ((oldval & mask) >> shift) \ -- INF_OP (unsigned int) val) << shift) & mask; \ -+ newval = ((PFX_OP (((oldval & mask) >> shift) \ -+ INF_OP (unsigned int) val)) << shift) & mask; \ - newval |= oldval & ~mask; \ - failure = __kernel_cmpxchg (oldval, newval, wordptr); \ - } while (failure != 0); \ -@@ -97,19 +97,19 @@ FETCH_AND_OP_WORD (nand, ~, &) - return (RETURN & mask) >> shift; \ - } - --SUBWORD_SYNC_OP (add, , +, short, 2, oldval) --SUBWORD_SYNC_OP (sub, , -, short, 2, oldval) --SUBWORD_SYNC_OP (or, , |, short, 2, oldval) --SUBWORD_SYNC_OP (and, , &, short, 2, oldval) --SUBWORD_SYNC_OP (xor, , ^, short, 2, oldval) --SUBWORD_SYNC_OP (nand, ~, &, short, 2, oldval) -+SUBWORD_SYNC_OP (add, , +, unsigned short, 2, oldval) -+SUBWORD_SYNC_OP (sub, , -, unsigned short, 2, oldval) -+SUBWORD_SYNC_OP (or, , |, unsigned short, 2, oldval) -+SUBWORD_SYNC_OP (and, , &, unsigned short, 2, oldval) -+SUBWORD_SYNC_OP (xor, , ^, unsigned short, 2, oldval) -+SUBWORD_SYNC_OP (nand, ~, &, unsigned short, 2, oldval) - --SUBWORD_SYNC_OP (add, , +, char, 1, oldval) --SUBWORD_SYNC_OP (sub, , -, char, 1, oldval) --SUBWORD_SYNC_OP (or, , |, char, 1, oldval) --SUBWORD_SYNC_OP (and, , &, char, 1, oldval) --SUBWORD_SYNC_OP (xor, , ^, char, 1, oldval) --SUBWORD_SYNC_OP (nand, ~, &, char, 1, oldval) -+SUBWORD_SYNC_OP (add, , +, unsigned char, 1, oldval) -+SUBWORD_SYNC_OP (sub, , -, unsigned char, 1, oldval) -+SUBWORD_SYNC_OP (or, , |, unsigned char, 1, oldval) -+SUBWORD_SYNC_OP (and, , &, unsigned char, 1, oldval) -+SUBWORD_SYNC_OP (xor, , ^, unsigned char, 1, oldval) -+SUBWORD_SYNC_OP (nand, ~, &, unsigned char, 1, oldval) - - #define OP_AND_FETCH_WORD(OP, PFX_OP, INF_OP) \ - int HIDDEN \ -@@ -119,10 +119,10 @@ SUBWORD_SYNC_OP (nand, ~, &, char, 1, oldval) - \ - do { \ - tmp = *ptr; \ -- failure = __kernel_cmpxchg (tmp, PFX_OP tmp INF_OP val, ptr); \ -+ failure = __kernel_cmpxchg (tmp, PFX_OP (tmp INF_OP val), ptr); \ - } while (failure != 0); \ - \ -- return PFX_OP tmp INF_OP val; \ -+ return PFX_OP (tmp INF_OP val); \ - } - - OP_AND_FETCH_WORD (add, , +) -@@ -132,19 +132,19 @@ OP_AND_FETCH_WORD (and, , &) - OP_AND_FETCH_WORD (xor, , ^) - OP_AND_FETCH_WORD (nand, ~, &) - --SUBWORD_SYNC_OP (add, , +, short, 2, newval) --SUBWORD_SYNC_OP (sub, , -, short, 2, newval) --SUBWORD_SYNC_OP (or, , |, short, 2, newval) --SUBWORD_SYNC_OP (and, , &, short, 2, newval) --SUBWORD_SYNC_OP (xor, , ^, short, 2, newval) --SUBWORD_SYNC_OP (nand, ~, &, short, 2, newval) -+SUBWORD_SYNC_OP (add, , +, unsigned short, 2, newval) -+SUBWORD_SYNC_OP (sub, , -, unsigned short, 2, newval) -+SUBWORD_SYNC_OP (or, , |, unsigned short, 2, newval) -+SUBWORD_SYNC_OP (and, , &, unsigned short, 2, newval) -+SUBWORD_SYNC_OP (xor, , ^, unsigned short, 2, newval) -+SUBWORD_SYNC_OP (nand, ~, &, unsigned short, 2, newval) - --SUBWORD_SYNC_OP (add, , +, char, 1, newval) --SUBWORD_SYNC_OP (sub, , -, char, 1, newval) --SUBWORD_SYNC_OP (or, , |, char, 1, newval) --SUBWORD_SYNC_OP (and, , &, char, 1, newval) --SUBWORD_SYNC_OP (xor, , ^, char, 1, newval) --SUBWORD_SYNC_OP (nand, ~, &, char, 1, newval) -+SUBWORD_SYNC_OP (add, , +, unsigned char, 1, newval) -+SUBWORD_SYNC_OP (sub, , -, unsigned char, 1, newval) -+SUBWORD_SYNC_OP (or, , |, unsigned char, 1, newval) -+SUBWORD_SYNC_OP (and, , &, unsigned char, 1, newval) -+SUBWORD_SYNC_OP (xor, , ^, unsigned char, 1, newval) -+SUBWORD_SYNC_OP (nand, ~, &, unsigned char, 1, newval) - - int HIDDEN - __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval) -@@ -194,8 +194,8 @@ __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval) - } \ - } - --SUBWORD_VAL_CAS (short, 2) --SUBWORD_VAL_CAS (char, 1) -+SUBWORD_VAL_CAS (unsigned short, 2) -+SUBWORD_VAL_CAS (unsigned char, 1) - - typedef unsigned char bool; - -@@ -216,8 +216,8 @@ __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval) - return (oldval == actual_oldval); \ - } - --SUBWORD_BOOL_CAS (short, 2) --SUBWORD_BOOL_CAS (char, 1) -+SUBWORD_BOOL_CAS (unsigned short, 2) -+SUBWORD_BOOL_CAS (unsigned char, 1) - - void HIDDEN - __sync_synchronize (void) -@@ -259,8 +259,8 @@ __sync_lock_test_and_set_4 (int *ptr, int val) - return (oldval & mask) >> shift; \ - } - --SUBWORD_TEST_AND_SET (short, 2) --SUBWORD_TEST_AND_SET (char, 1) -+SUBWORD_TEST_AND_SET (unsigned short, 2) -+SUBWORD_TEST_AND_SET (unsigned char, 1) - - #define SYNC_LOCK_RELEASE(TYPE, WIDTH) \ - void HIDDEN \ ---- a/gcc/tree-switch-conversion.c -+++ b/gcc/tree-switch-conversion.c -@@ -96,6 +96,7 @@ eight) times the number of the actual switch branches. */ - #include "diagnostic.h" - #include "tree-dump.h" - #include "timevar.h" -+#include "langhooks.h" - - /* The main structure of the pass. */ - struct switch_conv_info -@@ -693,9 +694,11 @@ gen_inbound_check (gimple swtch) - - /* Make sure we do not generate arithmetics in a subrange. */ - if (TREE_TYPE (TREE_TYPE (info.index_expr))) -- utype = unsigned_type_for (TREE_TYPE (TREE_TYPE (info.index_expr))); -+ utype = lang_hooks.types.type_for_mode -+ (TYPE_MODE (TREE_TYPE (TREE_TYPE (info.index_expr))), 1); - else -- utype = unsigned_type_for (TREE_TYPE (info.index_expr)); -+ utype = lang_hooks.types.type_for_mode -+ (TYPE_MODE (TREE_TYPE (info.index_expr)), 1); - - /* (end of) block 0 */ - gsi = gsi_for_stmt (info.arr_ref_first); diff --git a/toolchain/gcc/4.5.1/100-uclibc-conf.patch b/toolchain/gcc/4.5.2/100-uclibc-conf.patch similarity index 100% rename from toolchain/gcc/4.5.1/100-uclibc-conf.patch rename to toolchain/gcc/4.5.2/100-uclibc-conf.patch diff --git a/toolchain/gcc/4.5.1/301-missing-execinfo_h.patch b/toolchain/gcc/4.5.2/301-missing-execinfo_h.patch similarity index 100% rename from toolchain/gcc/4.5.1/301-missing-execinfo_h.patch rename to toolchain/gcc/4.5.2/301-missing-execinfo_h.patch diff --git a/toolchain/gcc/4.5.1/302-c99-snprintf.patch b/toolchain/gcc/4.5.2/302-c99-snprintf.patch similarity index 100% rename from toolchain/gcc/4.5.1/302-c99-snprintf.patch rename to toolchain/gcc/4.5.2/302-c99-snprintf.patch diff --git a/toolchain/gcc/4.5.1/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.5.2/305-libmudflap-susv3-legacy.patch similarity index 100% rename from toolchain/gcc/4.5.1/305-libmudflap-susv3-legacy.patch rename to toolchain/gcc/4.5.2/305-libmudflap-susv3-legacy.patch diff --git a/toolchain/gcc/4.5.1/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch similarity index 100% rename from toolchain/gcc/4.5.1/810-arm-softfloat-libgcc.patch rename to toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch diff --git a/toolchain/gcc/4.5.1/820-arm-unbreak-armv4t.patch b/toolchain/gcc/4.5.2/820-arm-unbreak-armv4t.patch similarity index 100% rename from toolchain/gcc/4.5.1/820-arm-unbreak-armv4t.patch rename to toolchain/gcc/4.5.2/820-arm-unbreak-armv4t.patch diff --git a/toolchain/gcc/4.5.1/830-arm-pr43440.patch b/toolchain/gcc/4.5.2/830-arm-pr43440.patch similarity index 100% rename from toolchain/gcc/4.5.1/830-arm-pr43440.patch rename to toolchain/gcc/4.5.2/830-arm-pr43440.patch diff --git a/toolchain/gcc/4.5.1/850-arm-pr44392.patch b/toolchain/gcc/4.5.2/850-arm-pr44392.patch similarity index 100% rename from toolchain/gcc/4.5.1/850-arm-pr44392.patch rename to toolchain/gcc/4.5.2/850-arm-pr44392.patch diff --git a/toolchain/gcc/4.5.1/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.5.2/powerpc-link-with-math-lib.patch.conditional similarity index 100% rename from toolchain/gcc/4.5.1/powerpc-link-with-math-lib.patch.conditional rename to toolchain/gcc/4.5.2/powerpc-link-with-math-lib.patch.conditional diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index e7ac0e8e9e..7a1905fb55 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -53,7 +53,7 @@ config BR2_GCC_VERSION default "4.2.4" if BR2_GCC_VERSION_4_2_4 default "4.3.5" if BR2_GCC_VERSION_4_3_X default "4.4.5" if BR2_GCC_VERSION_4_4_X - default "4.5.1" if BR2_GCC_VERSION_4_5_X + default "4.5.2" if BR2_GCC_VERSION_4_5_X default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP config BR2_EXTRA_GCC_CONFIG_OPTIONS -- 2.30.2