* [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates
@ 2011-05-06 3:36 Nitin A Kamble
2011-05-06 3:36 ` [PATCH 01/10] gcc-4.6.0: Apply linaro patches Nitin A Kamble
` (10 more replies)
0 siblings, 11 replies; 13+ messages in thread
From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw)
To: openembedded-core, poky
From: Nitin A Kamble <nitin.a.kamble@intel.com>
These are few commits for gcc 4.6.0 & patch upstream status.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: nitin/misc
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc
Thanks,
Nitin A Kamble <nitin.a.kamble@intel.com>
---
Khem Raj (2):
gcc-4.6.0: Apply linaro patches
linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation
Nitin A Kamble (8):
libpcre: update upstream status for patches
patch-2.6.1: update patch upstream status
patch: update upstream status for patches
python-imaging: update upstream status for patches
subversion: update upstream status for patches
sat-solver: fix compilation issue with gcc 4.6.0
gcc-4.5.1: update upstream status of patches
binutils: update upstream status of patches
.../binutils/binutils-2.21/110-arm-eabi-conf.patch | 2 +
.../binutils-2.21/binutils-2.19.1-ld-sysroot.patch | 2 +
.../binutils/binutils-2.21/binutils-poison.patch | 2 +
.../binutils-uclibc-100-uclibc-conf.patch | 2 +
.../gcc/gcc-4.5.1/100-uclibc-conf.patch | 2 +
.../gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch | 2 +
.../gcc/gcc-4.5.1/200-uclibc-locale.patch | 2 +
.../gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch | 2 +
.../gcc-4.5.1/204-uclibc-locale-wchar_fix.patch | 2 +
.../gcc/gcc-4.5.1/205-uclibc-locale-update.patch | 2 +
.../gcc/gcc-4.5.1/301-missing-execinfo_h.patch | 2 +
.../gcc/gcc-4.5.1/302-c99-snprintf.patch | 2 +
.../gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch | 2 +
.../gcc/gcc-4.5.1/304-index_macro.patch | 2 +
.../gcc-4.5.1/305-libmudflap-susv3-legacy.patch | 2 +
.../gcc/gcc-4.5.1/306-libstdc++-namespace.patch | 2 +
.../gcc/gcc-4.5.1/307-locale_facets.patch | 2 +
.../gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch | 2 +
.../recipes-devtools/gcc/gcc-4.5.1/64bithack.patch | 2 +
.../gcc/gcc-4.5.1/740-sh-pr24836.patch | 2 +
.../gcc/gcc-4.5.1/800-arm-bigendian.patch | 2 +
.../gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch | 2 +
.../gcc/gcc-4.5.1/arm-bswapsi2.patch | 2 +
.../gcc/gcc-4.5.1/arm-nolibfloat.patch | 2 +
.../gcc/gcc-4.5.1/arm-softfloat.patch | 2 +
meta/recipes-devtools/gcc/gcc-4.6.0.inc | 4 +
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch | 51 ++
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch | 63 ++
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch | 32 +
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch | 28 +
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch | 653 ++++++++++++++++++++
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch | 126 ++++
.../gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch | 177 ++++++
.../gcc/gcc-4_6-branch-linaro-backports.inc | 9 +
.../patch/patch-2.6.1/global-reject-file.diff | 2 +
meta/recipes-devtools/patch/patch/debian.patch | 2 +
.../patch/patch/global-reject-file.diff | 2 +
meta/recipes-devtools/patch/patch/install.patch | 2 +
.../patch/patch/unified-reject-files.diff | 2 +
.../python/python-imaging/path.patch | 2 +
.../subversion/disable-revision-install.patch | 2 +
.../subversion/subversion/libtool2.patch | 2 +
.../subversion/subversion/neon-detection.patch | 2 +
.../sat-solver/fix_gcc-4.6.0_compile_issue.patch | 115 ++++
meta/recipes-extended/sat-solver/sat-solver_git.bb | 5 +-
.../perf-tool-Fix-gcc-4.6.0-issues.patch | 266 ++++++++
meta/recipes-kernel/linux/linux-yocto_git.bb | 4 +-
.../libpcre/files/fix-pcre-name-collision.patch | 1 +
.../recipes-support/libpcre/files/pcre-cross.patch | 2 +
49 files changed, 1602 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc
create mode 100644 meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch
create mode 100644 meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch
--
1.7.3.4
^ permalink raw reply [flat|nested] 13+ messages in thread* [PATCH 01/10] gcc-4.6.0: Apply linaro patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 05/10] python-imaging: update upstream status for patches Nitin A Kamble ` (9 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Khem Raj <raj.khem@gmail.com> We take the improvements done by linaro for gcc 4.6 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/recipes-devtools/gcc/gcc-4.6.0.inc | 4 + .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch | 51 ++ .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch | 63 ++ .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch | 32 + .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch | 28 + .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch | 653 ++++++++++++++++++++ .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch | 126 ++++ .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch | 177 ++++++ .../gcc/gcc-4_6-branch-linaro-backports.inc | 9 + 9 files changed, 1143 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0.inc b/meta/recipes-devtools/gcc/gcc-4.6.0.inc index 2c30d43..609b1df 100644 --- a/meta/recipes-devtools/gcc/gcc-4.6.0.inc +++ b/meta/recipes-devtools/gcc/gcc-4.6.0.inc @@ -7,6 +7,9 @@ require gcc-common.inc require gcc-4_6-branch-backports.inc +# Linaro patches for 4.6 branch +require gcc-4_6-branch-linaro-backports.inc + PR = "r1" DEPENDS =+ "mpfr gmp libmpc" @@ -22,6 +25,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ ${GCC-4_6-BRANCH-BACKPORTS} \ + ${GCC-4_6-BRANCH-LINARO-BACKPORTS} \ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ file://100-uclibc-conf.patch \ file://gcc-uclibc-locale-ctype_touplow_t.patch \ diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch new file mode 100644 index 0000000..4c573f4 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch @@ -0,0 +1,51 @@ +2011-02-21 Andrew Stubbs <ams@codesourcery.com> + Julian Brown <julian@codesourcery.com> + Mark Shinwell <shinwell@codesourcery.com> + + Forward-ported from Linaro GCC 4.5 (bzr99324). + + gcc/ + * config/arm/arm.h (arm_class_likely_spilled_p): Check against + LO_REGS only for Thumb-1. + (MODE_BASE_REG_CLASS): Restrict base registers to those which can + be used in short instructions when optimising for size on Thumb-2. + +=== modified file 'gcc/config/arm/arm.c' +--- old/gcc/config/arm/arm.c 2011-01-29 03:20:57 +0000 ++++ new/gcc/config/arm/arm.c 2011-02-21 14:04:51 +0000 +@@ -22304,14 +22304,16 @@ + + /* Implement TARGET_CLASS_LIKELY_SPILLED_P. + +- We need to define this for LO_REGS on thumb. Otherwise we can end up +- using r0-r4 for function arguments, r7 for the stack frame and don't +- have enough left over to do doubleword arithmetic. */ +- ++ We need to define this for LO_REGS on Thumb-1. Otherwise we can end up ++ using r0-r4 for function arguments, r7 for the stack frame and don't have ++ enough left over to do doubleword arithmetic. For Thumb-2 all the ++ potentially problematic instructions accept high registers so this is not ++ necessary. Care needs to be taken to avoid adding new Thumb-2 patterns ++ that require many low registers. */ + static bool + arm_class_likely_spilled_p (reg_class_t rclass) + { +- if ((TARGET_THUMB && rclass == LO_REGS) ++ if ((TARGET_THUMB1 && rclass == LO_REGS) + || rclass == CC_REG) + return true; + + +=== modified file 'gcc/config/arm/arm.h' +--- old/gcc/config/arm/arm.h 2011-01-29 03:20:57 +0000 ++++ new/gcc/config/arm/arm.h 2011-02-21 14:04:51 +0000 +@@ -1185,7 +1185,7 @@ + when addressing quantities in QI or HI mode; if we don't know the + mode, then we must be conservative. */ + #define MODE_BASE_REG_CLASS(MODE) \ +- (TARGET_32BIT ? CORE_REGS : \ ++ (TARGET_ARM || (TARGET_THUMB2 && !optimize_size) ? CORE_REGS : \ + (((MODE) == SImode) ? BASE_REGS : LO_REGS)) + + /* For Thumb we can not support SP+reg addressing, so we return LO_REGS + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch new file mode 100644 index 0000000..5271ffa --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch @@ -0,0 +1,63 @@ +2011-02-02 Richard Sandiford <richard.sandiford@linaro.org> + + gcc/ + PR target/47551 + * config/arm/arm.c (coproc_secondary_reload_class): Handle + structure modes. Don't check neon_vector_mem_operand for + vector or structure modes. + + gcc/testsuite/ + PR target/47551 + * gcc.target/arm/neon-modes-2.c: New test. + +=== modified file 'gcc/config/arm/arm.c' +--- old/gcc/config/arm/arm.c 2011-02-21 14:04:51 +0000 ++++ new/gcc/config/arm/arm.c 2011-03-02 11:38:43 +0000 +@@ -9139,11 +9139,14 @@ + return GENERAL_REGS; + } + ++ /* The neon move patterns handle all legitimate vector and struct ++ addresses. */ + if (TARGET_NEON ++ && MEM_P (x) + && (GET_MODE_CLASS (mode) == MODE_VECTOR_INT +- || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT) +- && neon_vector_mem_operand (x, 0)) +- return NO_REGS; ++ || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT ++ || VALID_NEON_STRUCT_MODE (mode))) ++ return NO_REGS; + + if (arm_coproc_mem_operand (x, wb) || s_register_operand (x, mode)) + return NO_REGS; + +=== added file 'gcc/testsuite/gcc.target/arm/neon-modes-2.c' +--- old/gcc/testsuite/gcc.target/arm/neon-modes-2.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.target/arm/neon-modes-2.c 2011-02-02 10:02:45 +0000 +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_neon_ok } */ ++/* { dg-options "-O1" } */ ++/* { dg-add-options arm_neon } */ ++ ++#include "arm_neon.h" ++ ++#define SETUP(A) x##A = vld3_u32 (ptr + A * 0x20) ++#define MODIFY(A) x##A = vld3_lane_u32 (ptr + A * 0x20 + 0x10, x##A, 1) ++#define STORE(A) vst3_u32 (ptr + A * 0x20, x##A) ++ ++#define MANY(A) A (0), A (1), A (2), A (3), A (4), A (5) ++ ++void ++bar (uint32_t *ptr, int y) ++{ ++ uint32x2x3_t MANY (SETUP); ++ int *x = __builtin_alloca (y); ++ int z[0x1000]; ++ foo (x, z); ++ MANY (MODIFY); ++ foo (x, z); ++ MANY (STORE); ++} + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch new file mode 100644 index 0000000..465d09c --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch @@ -0,0 +1,32 @@ +2011-03-22 Andrew Stubbs <ams@codesourcery.com> + + Backport from FSF: + + 2011-03-21 Daniel Jacobowitz <dan@codesourcery.com> + + gcc/ + * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test + for barrier handlers. + +=== modified file 'gcc/config/arm/unwind-arm.c' +--- old/gcc/config/arm/unwind-arm.c 2009-10-30 14:55:10 +0000 ++++ new/gcc/config/arm/unwind-arm.c 2011-03-22 10:59:10 +0000 +@@ -1196,8 +1196,6 @@ + ucbp->barrier_cache.bitpattern[4] = (_uw) &data[1]; + + if (data[0] & uint32_highbit) +- phase2_call_unexpected_after_unwind = 1; +- else + { + data += rtti_count + 1; + /* Setup for entry to the handler. */ +@@ -1207,6 +1205,8 @@ + _Unwind_SetGR (context, 0, (_uw) ucbp); + return _URC_INSTALL_CONTEXT; + } ++ else ++ phase2_call_unexpected_after_unwind = 1; + } + if (data[0] & uint32_highbit) + data++; + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch new file mode 100644 index 0000000..9b684aa --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch @@ -0,0 +1,28 @@ +2011-03-23 Andrew Stubbs <ams@codesourcery.com> + + Backport from FSF: + + 2011-03-23 Julian Brown <julian@codesourcery.com> + + gcc/ + * expr.c (expand_expr_real_1): Only use BLKmode for volatile + accesses which are not naturally aligned. + +=== modified file 'gcc/expr.c' +--- old/gcc/expr.c 2011-03-18 09:04:31 +0000 ++++ new/gcc/expr.c 2011-04-05 16:18:11 +0000 +@@ -9147,8 +9147,11 @@ + && modifier != EXPAND_CONST_ADDRESS + && modifier != EXPAND_INITIALIZER) + /* If the field is volatile, we always want an aligned +- access. */ +- || (volatilep && flag_strict_volatile_bitfields > 0) ++ access. Only do this if the access is not already naturally ++ aligned, otherwise "normal" (non-bitfield) volatile fields ++ become non-addressable. */ ++ || (volatilep && flag_strict_volatile_bitfields > 0 ++ && (bitpos % GET_MODE_ALIGNMENT (mode) != 0)) + /* If the field isn't aligned enough to fetch as a memref, + fetch it as a bit field. */ + || (mode1 != BLKmode + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch new file mode 100644 index 0000000..4b0079e --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch @@ -0,0 +1,653 @@ +2011-03-27 Ira Rosen <ira.rosen@linaro.org> + + gcc/ + * doc/invoke.texi (max-stores-to-sink): Document. + * params.h (MAX_STORES_TO_SINK): Define. + * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0 + if either vectorization or if-conversion is disabled. + * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from + tree-vect-data-refs.c vect_equal_offsets. + (dr_equal_offsets_p): New function. + (find_data_references_in_bb): Remove static. + * tree-data-ref.h (find_data_references_in_bb): Declare. + (dr_equal_offsets_p): Likewise. + * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c. + (vect_drs_dependent_in_basic_block): Update calls to + vect_equal_offsets. + (vect_check_interleaving): Likewise. + * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h. + (cond_if_else_store_replacement): Rename to... + (cond_if_else_store_replacement_1): ... this. Change arguments and + documentation. + (cond_if_else_store_replacement): New function. + * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies. + * params.def (PARAM_MAX_STORES_TO_SINK): Define. + + gcc/testsuite/ + * gcc.dg/vect/vect-cselim-1.c: New test. + * gcc.dg/vect/vect-cselim-2.c: New test. + +=== modified file 'gcc/Makefile.in' +--- old/gcc/Makefile.in 2011-03-26 09:20:34 +0000 ++++ new/gcc/Makefile.in 2011-04-18 11:31:29 +0000 +@@ -2422,7 +2422,8 @@ + tree-ssa-phiopt.o : tree-ssa-phiopt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) $(GGC_H) $(TREE_H) $(TM_P_H) $(BASIC_BLOCK_H) \ + $(TREE_FLOW_H) $(TREE_PASS_H) $(TREE_DUMP_H) langhooks.h $(FLAGS_H) \ +- $(DIAGNOSTIC_H) $(TIMEVAR_H) pointer-set.h domwalk.h ++ $(DIAGNOSTIC_H) $(TIMEVAR_H) pointer-set.h domwalk.h $(CFGLOOP_H) \ ++ $(TREE_DATA_REF_H) + tree-nrv.o : tree-nrv.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) $(TREE_H) $(FUNCTION_H) $(BASIC_BLOCK_H) $(FLAGS_H) \ + $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TIMEVAR_H) $(TREE_DUMP_H) $(TREE_PASS_H) \ + +=== modified file 'gcc/doc/invoke.texi' +--- old/gcc/doc/invoke.texi 2011-03-29 14:24:42 +0000 ++++ new/gcc/doc/invoke.texi 2011-04-18 11:31:29 +0000 +@@ -8909,6 +8909,11 @@ + The maximum number of namespaces to consult for suggestions when C++ + name lookup fails for an identifier. The default is 1000. + ++@item max-stores-to-sink ++The maximum number of conditional stores paires that can be sunk. Set to 0 ++if either vectorization (@option{-ftree-vectorize}) or if-conversion ++(@option{-ftree-loop-if-convert}) is disabled. The default is 2. ++ + @end table + @end table + + +=== modified file 'gcc/opts.c' +--- old/gcc/opts.c 2011-02-17 22:51:57 +0000 ++++ new/gcc/opts.c 2011-03-27 09:38:18 +0000 +@@ -823,6 +823,12 @@ + opts->x_flag_split_stack = 0; + } + } ++ ++ /* Set PARAM_MAX_STORES_TO_SINK to 0 if either vectorization or if-conversion ++ is disabled. */ ++ if (!opts->x_flag_tree_vectorize || !opts->x_flag_tree_loop_if_convert) ++ maybe_set_param_value (PARAM_MAX_STORES_TO_SINK, 0, ++ opts->x_param_values, opts_set->x_param_values); + } + + #define LEFT_COLUMN 27 + +=== modified file 'gcc/params.def' +--- old/gcc/params.def 2011-03-26 09:20:34 +0000 ++++ new/gcc/params.def 2011-04-18 11:31:29 +0000 +@@ -883,6 +883,13 @@ + "name lookup fails", + 1000, 0, 0) + ++/* Maximum number of conditional store pairs that can be sunk. */ ++DEFPARAM (PARAM_MAX_STORES_TO_SINK, ++ "max-stores-to-sink", ++ "Maximum number of conditional store pairs that can be sunk", ++ 2, 0, 0) ++ ++ + /* + Local variables: + mode:c + +=== modified file 'gcc/params.h' +--- old/gcc/params.h 2011-01-13 13:41:03 +0000 ++++ new/gcc/params.h 2011-03-27 09:38:18 +0000 +@@ -206,4 +206,6 @@ + PARAM_VALUE (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO) + #define MIN_NONDEBUG_INSN_UID \ + PARAM_VALUE (PARAM_MIN_NONDEBUG_INSN_UID) ++#define MAX_STORES_TO_SINK \ ++ PARAM_VALUE (PARAM_MAX_STORES_TO_SINK) + #endif /* ! GCC_PARAMS_H */ + +=== added file 'gcc/testsuite/gcc.dg/vect/vect-cselim-1.c' +--- old/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c 2011-03-27 09:38:18 +0000 +@@ -0,0 +1,86 @@ ++/* { dg-require-effective-target vect_int } */ ++ ++#include <stdarg.h> ++#include "tree-vect.h" ++ ++#define N 50 ++ ++typedef struct { ++ short a; ++ short b; ++} data; ++ ++data in1[N], in2[N], out[N]; ++short result[N*2] = {7,-7,9,-6,11,-5,13,-4,15,-3,17,-2,19,-1,21,0,23,1,25,2,27,3,29,4,31,5,33,6,35,7,37,8,39,9,41,10,43,11,45,12,47,13,49,14,51,15,53,16,55,17,57,18,59,19,61,20,63,21,65,22,67,23,69,24,71,25,73,26,75,27,77,28,79,29,81,30,83,31,85,32,87,33,89,34,91,35,93,36,95,37,97,38,99,39,101,40,103,41,105,42}; ++short out1[N], out2[N]; ++ ++__attribute__ ((noinline)) void ++foo () ++{ ++ int i; ++ short c, d; ++ ++ /* Vectorizable with conditional store sinking. */ ++ for (i = 0; i < N; i++) ++ { ++ c = in1[i].b; ++ d = in2[i].b; ++ ++ if (c >= d) ++ { ++ out[i].b = c; ++ out[i].a = d + 5; ++ } ++ else ++ { ++ out[i].b = d - 12; ++ out[i].a = c + d; ++ } ++ } ++ ++ /* Not vectorizable. */ ++ for (i = 0; i < N; i++) ++ { ++ c = in1[i].b; ++ d = in2[i].b; ++ ++ if (c >= d) ++ { ++ out1[i] = c; ++ } ++ else ++ { ++ out2[i] = c + d; ++ } ++ } ++} ++ ++int ++main (void) ++{ ++ int i; ++ ++ check_vect (); ++ ++ for (i = 0; i < N; i++) ++ { ++ in1[i].a = i; ++ in1[i].b = i + 2; ++ in2[i].a = 5; ++ in2[i].b = i + 5; ++ __asm__ volatile (""); ++ } ++ ++ foo (); ++ ++ for (i = 0; i < N; i++) ++ { ++ if (out[i].a != result[2*i] || out[i].b != result[2*i+1]) ++ abort (); ++ } ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ ++/* { dg-final { cleanup-tree-dump "vect" } } */ + +=== added file 'gcc/testsuite/gcc.dg/vect/vect-cselim-2.c' +--- old/gcc/testsuite/gcc.dg/vect/vect-cselim-2.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/vect-cselim-2.c 2011-03-27 09:38:18 +0000 +@@ -0,0 +1,65 @@ ++/* { dg-require-effective-target vect_int } */ ++ ++#include <stdarg.h> ++#include "tree-vect.h" ++ ++#define N 50 ++ ++int a[N], b[N], in1[N], in2[N]; ++int result[2*N] = {5,-7,7,-6,9,-5,11,-4,13,-3,15,-2,17,-1,19,0,21,1,23,2,25,3,27,4,29,5,31,6,33,7,35,8,37,9,39,10,41,11,43,12,45,13,47,14,49,15,51,16,53,17,55,18,57,19,59,20,61,21,63,22,65,23,67,24,69,25,71,26,73,27,75,28,77,29,79,30,81,31,83,32,85,33,87,34,89,35,91,36,93,37,95,38,97,39,99,40,101,41,103,42}; ++ ++__attribute__ ((noinline)) void ++foo (int *pa, int *pb) ++{ ++ int i; ++ int c, d; ++ ++ /* Store sinking should not work here since the pointers may alias. */ ++ for (i = 0; i < N; i++) ++ { ++ c = in1[i]; ++ d = in2[i]; ++ ++ if (c >= d) ++ { ++ *pa = c; ++ *pb = d + 5; ++ } ++ else ++ { ++ *pb = d - 12; ++ *pa = c + d; ++ } ++ ++ pa++; ++ pb++; ++ } ++} ++ ++int ++main (void) ++{ ++ int i; ++ ++ check_vect (); ++ ++ for (i = 0; i < N; i++) ++ { ++ in1[i] = i; ++ in2[i] = i + 5; ++ __asm__ volatile (""); ++ } ++ ++ foo (a, b); ++ ++ for (i = 0; i < N; i++) ++ { ++ if (a[i] != result[2*i] || b[i] != result[2*i+1]) ++ abort (); ++ } ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ ++/* { dg-final { cleanup-tree-dump "vect" } } */ + +=== modified file 'gcc/tree-data-ref.c' +--- old/gcc/tree-data-ref.c 2011-02-05 01:39:20 +0000 ++++ new/gcc/tree-data-ref.c 2011-03-27 09:38:18 +0000 +@@ -991,6 +991,48 @@ + return dr; + } + ++/* Check if OFFSET1 and OFFSET2 (DR_OFFSETs of some data-refs) are identical ++ expressions. */ ++static bool ++dr_equal_offsets_p1 (tree offset1, tree offset2) ++{ ++ bool res; ++ ++ STRIP_NOPS (offset1); ++ STRIP_NOPS (offset2); ++ ++ if (offset1 == offset2) ++ return true; ++ ++ if (TREE_CODE (offset1) != TREE_CODE (offset2) ++ || (!BINARY_CLASS_P (offset1) && !UNARY_CLASS_P (offset1))) ++ return false; ++ ++ res = dr_equal_offsets_p1 (TREE_OPERAND (offset1, 0), ++ TREE_OPERAND (offset2, 0)); ++ ++ if (!res || !BINARY_CLASS_P (offset1)) ++ return res; ++ ++ res = dr_equal_offsets_p1 (TREE_OPERAND (offset1, 1), ++ TREE_OPERAND (offset2, 1)); ++ ++ return res; ++} ++ ++/* Check if DRA and DRB have equal offsets. */ ++bool ++dr_equal_offsets_p (struct data_reference *dra, ++ struct data_reference *drb) ++{ ++ tree offset1, offset2; ++ ++ offset1 = DR_OFFSET (dra); ++ offset2 = DR_OFFSET (drb); ++ ++ return dr_equal_offsets_p1 (offset1, offset2); ++} ++ + /* Returns true if FNA == FNB. */ + + static bool +@@ -4294,7 +4336,7 @@ + DATAREFS. Returns chrec_dont_know when failing to analyze a + difficult case, returns NULL_TREE otherwise. */ + +-static tree ++tree + find_data_references_in_bb (struct loop *loop, basic_block bb, + VEC (data_reference_p, heap) **datarefs) + { + +=== modified file 'gcc/tree-data-ref.h' +--- old/gcc/tree-data-ref.h 2011-01-25 21:24:23 +0000 ++++ new/gcc/tree-data-ref.h 2011-03-27 09:38:18 +0000 +@@ -426,10 +426,14 @@ + extern void compute_all_dependences (VEC (data_reference_p, heap) *, + VEC (ddr_p, heap) **, VEC (loop_p, heap) *, + bool); ++extern tree find_data_references_in_bb (struct loop *, basic_block, ++ VEC (data_reference_p, heap) **); + + extern void create_rdg_vertices (struct graph *, VEC (gimple, heap) *); + extern bool dr_may_alias_p (const struct data_reference *, + const struct data_reference *); ++extern bool dr_equal_offsets_p (struct data_reference *, ++ struct data_reference *); + + + /* Return true when the base objects of data references A and B are + +=== modified file 'gcc/tree-ssa-phiopt.c' +--- old/gcc/tree-ssa-phiopt.c 2010-11-03 15:18:50 +0000 ++++ new/gcc/tree-ssa-phiopt.c 2011-03-27 09:38:18 +0000 +@@ -34,6 +34,8 @@ + #include "langhooks.h" + #include "pointer-set.h" + #include "domwalk.h" ++#include "cfgloop.h" ++#include "tree-data-ref.h" + + static unsigned int tree_ssa_phiopt (void); + static unsigned int tree_ssa_phiopt_worker (bool); +@@ -1292,35 +1294,18 @@ + return true; + } + +-/* Do the main work of conditional store replacement. We already know +- that the recognized pattern looks like so: +- +- split: +- if (cond) goto THEN_BB; else goto ELSE_BB (edge E1) +- THEN_BB: +- X = Y; +- goto JOIN_BB; +- ELSE_BB: +- X = Z; +- fallthrough (edge E0) +- JOIN_BB: +- some more +- +- We check that THEN_BB and ELSE_BB contain only one store +- that the stores have a "simple" RHS. */ ++/* Do the main work of conditional store replacement. */ + + static bool +-cond_if_else_store_replacement (basic_block then_bb, basic_block else_bb, +- basic_block join_bb) ++cond_if_else_store_replacement_1 (basic_block then_bb, basic_block else_bb, ++ basic_block join_bb, gimple then_assign, ++ gimple else_assign) + { +- gimple then_assign = last_and_only_stmt (then_bb); +- gimple else_assign = last_and_only_stmt (else_bb); + tree lhs_base, lhs, then_rhs, else_rhs; + source_location then_locus, else_locus; + gimple_stmt_iterator gsi; + gimple newphi, new_stmt; + +- /* Check if then_bb and else_bb contain only one store each. */ + if (then_assign == NULL + || !gimple_assign_single_p (then_assign) + || else_assign == NULL +@@ -1385,6 +1370,190 @@ + return true; + } + ++/* Conditional store replacement. We already know ++ that the recognized pattern looks like so: ++ ++ split: ++ if (cond) goto THEN_BB; else goto ELSE_BB (edge E1) ++ THEN_BB: ++ ... ++ X = Y; ++ ... ++ goto JOIN_BB; ++ ELSE_BB: ++ ... ++ X = Z; ++ ... ++ fallthrough (edge E0) ++ JOIN_BB: ++ some more ++ ++ We check that it is safe to sink the store to JOIN_BB by verifying that ++ there are no read-after-write or write-after-write dependencies in ++ THEN_BB and ELSE_BB. */ ++ ++static bool ++cond_if_else_store_replacement (basic_block then_bb, basic_block else_bb, ++ basic_block join_bb) ++{ ++ gimple then_assign = last_and_only_stmt (then_bb); ++ gimple else_assign = last_and_only_stmt (else_bb); ++ VEC (data_reference_p, heap) *then_datarefs, *else_datarefs; ++ VEC (ddr_p, heap) *then_ddrs, *else_ddrs; ++ gimple then_store, else_store; ++ bool found, ok = false, res; ++ struct data_dependence_relation *ddr; ++ data_reference_p then_dr, else_dr; ++ int i, j; ++ tree then_lhs, else_lhs; ++ VEC (gimple, heap) *then_stores, *else_stores; ++ basic_block blocks[3]; ++ ++ if (MAX_STORES_TO_SINK == 0) ++ return false; ++ ++ /* Handle the case with single statement in THEN_BB and ELSE_BB. */ ++ if (then_assign && else_assign) ++ return cond_if_else_store_replacement_1 (then_bb, else_bb, join_bb, ++ then_assign, else_assign); ++ ++ /* Find data references. */ ++ then_datarefs = VEC_alloc (data_reference_p, heap, 1); ++ else_datarefs = VEC_alloc (data_reference_p, heap, 1); ++ if ((find_data_references_in_bb (NULL, then_bb, &then_datarefs) ++ == chrec_dont_know) ++ || !VEC_length (data_reference_p, then_datarefs) ++ || (find_data_references_in_bb (NULL, else_bb, &else_datarefs) ++ == chrec_dont_know) ++ || !VEC_length (data_reference_p, else_datarefs)) ++ { ++ free_data_refs (then_datarefs); ++ free_data_refs (else_datarefs); ++ return false; ++ } ++ ++ /* Find pairs of stores with equal LHS. */ ++ then_stores = VEC_alloc (gimple, heap, 1); ++ else_stores = VEC_alloc (gimple, heap, 1); ++ FOR_EACH_VEC_ELT (data_reference_p, then_datarefs, i, then_dr) ++ { ++ if (DR_IS_READ (then_dr)) ++ continue; ++ ++ then_store = DR_STMT (then_dr); ++ then_lhs = gimple_assign_lhs (then_store); ++ found = false; ++ ++ FOR_EACH_VEC_ELT (data_reference_p, else_datarefs, j, else_dr) ++ { ++ if (DR_IS_READ (else_dr)) ++ continue; ++ ++ else_store = DR_STMT (else_dr); ++ else_lhs = gimple_assign_lhs (else_store); ++ ++ if (operand_equal_p (then_lhs, else_lhs, 0)) ++ { ++ found = true; ++ break; ++ } ++ } ++ ++ if (!found) ++ continue; ++ ++ VEC_safe_push (gimple, heap, then_stores, then_store); ++ VEC_safe_push (gimple, heap, else_stores, else_store); ++ } ++ ++ /* No pairs of stores found. */ ++ if (!VEC_length (gimple, then_stores) ++ || VEC_length (gimple, then_stores) > (unsigned) MAX_STORES_TO_SINK) ++ { ++ free_data_refs (then_datarefs); ++ free_data_refs (else_datarefs); ++ VEC_free (gimple, heap, then_stores); ++ VEC_free (gimple, heap, else_stores); ++ return false; ++ } ++ ++ /* Compute and check data dependencies in both basic blocks. */ ++ then_ddrs = VEC_alloc (ddr_p, heap, 1); ++ else_ddrs = VEC_alloc (ddr_p, heap, 1); ++ compute_all_dependences (then_datarefs, &then_ddrs, NULL, false); ++ compute_all_dependences (else_datarefs, &else_ddrs, NULL, false); ++ blocks[0] = then_bb; ++ blocks[1] = else_bb; ++ blocks[2] = join_bb; ++ renumber_gimple_stmt_uids_in_blocks (blocks, 3); ++ ++ /* Check that there are no read-after-write or write-after-write dependencies ++ in THEN_BB. */ ++ FOR_EACH_VEC_ELT (ddr_p, then_ddrs, i, ddr) ++ { ++ struct data_reference *dra = DDR_A (ddr); ++ struct data_reference *drb = DDR_B (ddr); ++ ++ if (DDR_ARE_DEPENDENT (ddr) != chrec_known ++ && ((DR_IS_READ (dra) && DR_IS_WRITE (drb) ++ && gimple_uid (DR_STMT (dra)) > gimple_uid (DR_STMT (drb))) ++ || (DR_IS_READ (drb) && DR_IS_WRITE (dra) ++ && gimple_uid (DR_STMT (drb)) > gimple_uid (DR_STMT (dra))) ++ || (DR_IS_WRITE (dra) && DR_IS_WRITE (drb)))) ++ { ++ free_dependence_relations (then_ddrs); ++ free_dependence_relations (else_ddrs); ++ free_data_refs (then_datarefs); ++ free_data_refs (else_datarefs); ++ VEC_free (gimple, heap, then_stores); ++ VEC_free (gimple, heap, else_stores); ++ return false; ++ } ++ } ++ ++ /* Check that there are no read-after-write or write-after-write dependencies ++ in ELSE_BB. */ ++ FOR_EACH_VEC_ELT (ddr_p, else_ddrs, i, ddr) ++ { ++ struct data_reference *dra = DDR_A (ddr); ++ struct data_reference *drb = DDR_B (ddr); ++ ++ if (DDR_ARE_DEPENDENT (ddr) != chrec_known ++ && ((DR_IS_READ (dra) && DR_IS_WRITE (drb) ++ && gimple_uid (DR_STMT (dra)) > gimple_uid (DR_STMT (drb))) ++ || (DR_IS_READ (drb) && DR_IS_WRITE (dra) ++ && gimple_uid (DR_STMT (drb)) > gimple_uid (DR_STMT (dra))) ++ || (DR_IS_WRITE (dra) && DR_IS_WRITE (drb)))) ++ { ++ free_dependence_relations (then_ddrs); ++ free_dependence_relations (else_ddrs); ++ free_data_refs (then_datarefs); ++ free_data_refs (else_datarefs); ++ VEC_free (gimple, heap, then_stores); ++ VEC_free (gimple, heap, else_stores); ++ return false; ++ } ++ } ++ ++ /* Sink stores with same LHS. */ ++ FOR_EACH_VEC_ELT (gimple, then_stores, i, then_store) ++ { ++ else_store = VEC_index (gimple, else_stores, i); ++ res = cond_if_else_store_replacement_1 (then_bb, else_bb, join_bb, ++ then_store, else_store); ++ ok = ok || res; ++ } ++ ++ free_dependence_relations (then_ddrs); ++ free_dependence_relations (else_ddrs); ++ free_data_refs (then_datarefs); ++ free_data_refs (else_datarefs); ++ VEC_free (gimple, heap, then_stores); ++ VEC_free (gimple, heap, else_stores); ++ ++ return ok; ++} ++ + /* Always do these optimizations if we have SSA + trees to work on. */ + static bool + +=== modified file 'gcc/tree-vect-data-refs.c' +--- old/gcc/tree-vect-data-refs.c 2011-02-25 11:18:14 +0000 ++++ new/gcc/tree-vect-data-refs.c 2011-03-27 09:38:18 +0000 +@@ -289,39 +289,6 @@ + } + } + +- +-/* Function vect_equal_offsets. +- +- Check if OFFSET1 and OFFSET2 are identical expressions. */ +- +-static bool +-vect_equal_offsets (tree offset1, tree offset2) +-{ +- bool res; +- +- STRIP_NOPS (offset1); +- STRIP_NOPS (offset2); +- +- if (offset1 == offset2) +- return true; +- +- if (TREE_CODE (offset1) != TREE_CODE (offset2) +- || (!BINARY_CLASS_P (offset1) && !UNARY_CLASS_P (offset1))) +- return false; +- +- res = vect_equal_offsets (TREE_OPERAND (offset1, 0), +- TREE_OPERAND (offset2, 0)); +- +- if (!res || !BINARY_CLASS_P (offset1)) +- return res; +- +- res = vect_equal_offsets (TREE_OPERAND (offset1, 1), +- TREE_OPERAND (offset2, 1)); +- +- return res; +-} +- +- + /* Check dependence between DRA and DRB for basic block vectorization. + If the accesses share same bases and offsets, we can compare their initial + constant offsets to decide whether they differ or not. In case of a read- +@@ -352,7 +319,7 @@ + || TREE_CODE (DR_BASE_ADDRESS (drb)) != ADDR_EXPR + || TREE_OPERAND (DR_BASE_ADDRESS (dra), 0) + != TREE_OPERAND (DR_BASE_ADDRESS (drb),0))) +- || !vect_equal_offsets (DR_OFFSET (dra), DR_OFFSET (drb))) ++ || !dr_equal_offsets_p (dra, drb)) + return true; + + /* Check the types. */ +@@ -402,7 +369,7 @@ + || TREE_CODE (DR_BASE_ADDRESS (drb)) != ADDR_EXPR + || TREE_OPERAND (DR_BASE_ADDRESS (dra), 0) + != TREE_OPERAND (DR_BASE_ADDRESS (drb),0))) +- || !vect_equal_offsets (DR_OFFSET (dra), DR_OFFSET (drb)) ++ || !dr_equal_offsets_p (dra, drb) + || !tree_int_cst_compare (DR_INIT (dra), DR_INIT (drb)) + || DR_IS_READ (dra) != DR_IS_READ (drb)) + return false; + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch new file mode 100644 index 0000000..017b1df --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch @@ -0,0 +1,126 @@ +2011-04-21 Andrew Stubbs <ams@codesourcery.com> + + Backport from FSF: + + 2008-12-03 Daniel Jacobowitz <dan@codesourcery.com> + + gcc/testsuite/ + * gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New. + * lib/target-supports.exp (check_effective_target_vect_shift_char): New + function. + +=== added file 'gcc/testsuite/gcc.dg/vect/vect-shift-3.c' +--- old/gcc/testsuite/gcc.dg/vect/vect-shift-3.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/vect-shift-3.c 2011-04-21 13:51:06 +0000 +@@ -0,0 +1,37 @@ ++/* { dg-require-effective-target vect_shift } */ ++/* { dg-require-effective-target vect_int } */ ++ ++#include "tree-vect.h" ++ ++#define N 32 ++ ++unsigned short dst[N] __attribute__((aligned(N))); ++unsigned short src[N] __attribute__((aligned(N))); ++ ++__attribute__ ((noinline)) ++void array_shift(void) ++{ ++ int i; ++ for (i = 0; i < N; i++) ++ dst[i] = src[i] >> 3; ++} ++ ++int main() ++{ ++ volatile int i; ++ check_vect (); ++ ++ for (i = 0; i < N; i++) ++ src[i] = i << 3; ++ ++ array_shift (); ++ ++ for (i = 0; i < N; i++) ++ if (dst[i] != i) ++ abort (); ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ ++/* { dg-final { cleanup-tree-dump "vect" } } */ + +=== added file 'gcc/testsuite/gcc.dg/vect/vect-shift-4.c' +--- old/gcc/testsuite/gcc.dg/vect/vect-shift-4.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/vect-shift-4.c 2011-04-21 13:51:06 +0000 +@@ -0,0 +1,37 @@ ++/* { dg-require-effective-target vect_shift_char } */ ++/* { dg-require-effective-target vect_int } */ ++ ++#include "tree-vect.h" ++ ++#define N 32 ++ ++unsigned char dst[N] __attribute__((aligned(N))); ++unsigned char src[N] __attribute__((aligned(N))); ++ ++__attribute__ ((noinline)) ++void array_shift(void) ++{ ++ int i; ++ for (i = 0; i < N; i++) ++ dst[i] = src[i] >> 3; ++} ++ ++int main() ++{ ++ volatile int i; ++ check_vect (); ++ ++ for (i = 0; i < N; i++) ++ src[i] = i << 3; ++ ++ array_shift (); ++ ++ for (i = 0; i < N; i++) ++ if (dst[i] != i) ++ abort (); ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ ++/* { dg-final { cleanup-tree-dump "vect" } } */ + +=== modified file 'gcc/testsuite/lib/target-supports.exp' +--- old/gcc/testsuite/lib/target-supports.exp 2011-02-19 15:31:15 +0000 ++++ new/gcc/testsuite/lib/target-supports.exp 2011-04-21 13:51:06 +0000 +@@ -2308,6 +2308,26 @@ + } + + ++# Return 1 if the target supports hardware vector shift operation for char. ++ ++proc check_effective_target_vect_shift_char { } { ++ global et_vect_shift_char_saved ++ ++ if [info exists et_vect_shift_char_saved] { ++ verbose "check_effective_target_vect_shift_char: using cached result" 2 ++ } else { ++ set et_vect_shift_char_saved 0 ++ if { ([istarget powerpc*-*-*] ++ && ![istarget powerpc-*-linux*paired*]) ++ || [check_effective_target_arm32] } { ++ set et_vect_shift_char_saved 1 ++ } ++ } ++ ++ verbose "check_effective_target_vect_shift_char: returning $et_vect_shift_char_saved" 2 ++ return $et_vect_shift_char_saved ++} ++ + # Return 1 if the target supports hardware vectors of long, 0 otherwise. + # + # This can change for different subtargets so do not cache the result. + diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch new file mode 100644 index 0000000..3dde3b2 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch @@ -0,0 +1,177 @@ +2011-04-27 Ira Rosen <ira.rosen@linaro.org> + + Backport from FSF: + + 2011-04-03 Richard Guenther <rguenther@suse.de> + Ira Rosen <ira.rosen@linaro.org> + + gcc/ + * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all + non-variable offsets and compare the remaining bases of the two + accesses instead of looking for exact same data-ref. + + gcc/testsuite/ + * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: New test. + * gcc.dg/vect/vect.exp: Run if-cvt-stores-vect* tests with + -ftree-loop-if-convert-stores. + +=== added file 'gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c' +--- old/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 1970-01-01 00:00:00 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 2011-04-24 07:45:49 +0000 +@@ -0,0 +1,69 @@ ++/* { dg-require-effective-target vect_int } */ ++ ++#include <stdarg.h> ++#include "tree-vect.h" ++ ++#define N 50 ++ ++typedef struct { ++ short a; ++ short b; ++} data; ++ ++data in1[N], in2[N], out[N]; ++short result[N*2] = {10,-7,11,-6,12,-5,13,-4,14,-3,15,-2,16,-1,17,0,18,1,19,2,20,3,21,4,22,5,23,6,24,7,25,8,26,9,27,10,28,11,29,12,30,13,31,14,32,15,33,16,34,17,35,18,36,19,37,20,38,21,39,22,40,23,41,24,42,25,43,26,44,27,45,28,46,29,47,30,48,31,49,32,50,33,51,34,52,35,53,36,54,37,55,38,56,39,57,40,58,41,59,42}; ++short out1[N], out2[N]; ++ ++__attribute__ ((noinline)) void ++foo () ++{ ++ int i; ++ short c, d; ++ ++ for (i = 0; i < N; i++) ++ { ++ c = in1[i].b; ++ d = in2[i].b; ++ ++ if (c >= d) ++ { ++ out[i].b = in1[i].a; ++ out[i].a = d + 5; ++ } ++ else ++ { ++ out[i].b = d - 12; ++ out[i].a = in2[i].a + d; ++ } ++ } ++} ++ ++int ++main (void) ++{ ++ int i; ++ ++ check_vect (); ++ ++ for (i = 0; i < N; i++) ++ { ++ in1[i].a = i; ++ in1[i].b = i + 2; ++ in2[i].a = 5; ++ in2[i].b = i + 5; ++ __asm__ volatile (""); ++ } ++ ++ foo (); ++ ++ for (i = 0; i < N; i++) ++ { ++ if (out[i].a != result[2*i] || out[i].b != result[2*i+1]) ++ abort (); ++ } ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align || {! vect_strided } } } } } */ ++/* { dg-final { cleanup-tree-dump "vect" } } */ + +=== modified file 'gcc/testsuite/gcc.dg/vect/vect.exp' +--- old/gcc/testsuite/gcc.dg/vect/vect.exp 2010-11-22 21:49:19 +0000 ++++ new/gcc/testsuite/gcc.dg/vect/vect.exp 2011-04-24 07:45:49 +0000 +@@ -210,6 +210,12 @@ + dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/ggc-*.\[cS\]]] \ + "" $DEFAULT_VECTCFLAGS + ++# -ftree-loop-if-convert-stores ++set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS ++lappend DEFAULT_VECTCFLAGS "-ftree-loop-if-convert-stores" ++dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/if-cvt-stores-vect-*.\[cS\]]] \ ++ "" $DEFAULT_VECTCFLAGS ++ + # With -O3. + # Don't allow IPA cloning, because it throws our counts out of whack. + set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS + +=== modified file 'gcc/tree-if-conv.c' +--- old/gcc/tree-if-conv.c 2011-02-23 16:49:52 +0000 ++++ new/gcc/tree-if-conv.c 2011-04-24 07:45:49 +0000 +@@ -464,8 +464,8 @@ + /* Returns true when the memory references of STMT are read or written + unconditionally. In other words, this function returns true when + for every data reference A in STMT there exist other accesses to +- the same data reference with predicates that add up (OR-up) to the +- true predicate: this ensures that the data reference A is touched ++ a data reference with the same base with predicates that add up (OR-up) to ++ the true predicate: this ensures that the data reference A is touched + (read or written) on every iteration of the if-converted loop. */ + + static bool +@@ -489,21 +489,38 @@ + continue; + + for (j = 0; VEC_iterate (data_reference_p, drs, j, b); j++) +- if (DR_STMT (b) != stmt +- && same_data_refs (a, b)) +- { +- tree cb = bb_predicate (gimple_bb (DR_STMT (b))); +- +- if (DR_RW_UNCONDITIONALLY (b) == 1 +- || is_true_predicate (cb) +- || is_true_predicate (ca = fold_or_predicates (EXPR_LOCATION (cb), +- ca, cb))) +- { +- DR_RW_UNCONDITIONALLY (a) = 1; +- DR_RW_UNCONDITIONALLY (b) = 1; +- found = true; +- break; +- } ++ { ++ tree ref_base_a = DR_REF (a); ++ tree ref_base_b = DR_REF (b); ++ ++ if (DR_STMT (b) == stmt) ++ continue; ++ ++ while (TREE_CODE (ref_base_a) == COMPONENT_REF ++ || TREE_CODE (ref_base_a) == IMAGPART_EXPR ++ || TREE_CODE (ref_base_a) == REALPART_EXPR) ++ ref_base_a = TREE_OPERAND (ref_base_a, 0); ++ ++ while (TREE_CODE (ref_base_b) == COMPONENT_REF ++ || TREE_CODE (ref_base_b) == IMAGPART_EXPR ++ || TREE_CODE (ref_base_b) == REALPART_EXPR) ++ ref_base_b = TREE_OPERAND (ref_base_b, 0); ++ ++ if (!operand_equal_p (ref_base_a, ref_base_b, 0)) ++ { ++ tree cb = bb_predicate (gimple_bb (DR_STMT (b))); ++ ++ if (DR_RW_UNCONDITIONALLY (b) == 1 ++ || is_true_predicate (cb) ++ || is_true_predicate (ca ++ = fold_or_predicates (EXPR_LOCATION (cb), ca, cb))) ++ { ++ DR_RW_UNCONDITIONALLY (a) = 1; ++ DR_RW_UNCONDITIONALLY (b) = 1; ++ found = true; ++ break; ++ } ++ } + } + + if (!found) + diff --git a/meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc b/meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc new file mode 100644 index 0000000..3160e35 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc @@ -0,0 +1,9 @@ +GCC-4_6-BRANCH-LINARO-BACKPORTS = " \ +file://linaro/gcc-4.6-linaro-r106720.patch \ +file://linaro/gcc-4.6-linaro-r106723.patch \ +file://linaro/gcc-4.6-linaro-r106729.patch \ +file://linaro/gcc-4.6-linaro-r106731.patch \ +file://linaro/gcc-4.6-linaro-r106733.patch \ +file://linaro/gcc-4.6-linaro-r106737.patch \ +file://linaro/gcc-4.6-linaro-r106738.patch \ +" -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 05/10] python-imaging: update upstream status for patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble 2011-05-06 3:36 ` [PATCH 01/10] gcc-4.6.0: Apply linaro patches Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 03/10] patch-2.6.1: update patch upstream status Nitin A Kamble ` (8 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../python/python-imaging/path.patch | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/python/python-imaging/path.patch b/meta/recipes-devtools/python/python-imaging/path.patch index 264dcc0..30bf692 100644 --- a/meta/recipes-devtools/python/python-imaging/path.patch +++ b/meta/recipes-devtools/python/python-imaging/path.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: Imaging-1.1.7/setup.py =================================================================== --- Imaging-1.1.7.orig/setup.py -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 03/10] patch-2.6.1: update patch upstream status 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble 2011-05-06 3:36 ` [PATCH 01/10] gcc-4.6.0: Apply linaro patches Nitin A Kamble 2011-05-06 3:36 ` [PATCH 05/10] python-imaging: update upstream status for patches Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 04/10] patch: update upstream status for patches Nitin A Kamble ` (7 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../patch/patch-2.6.1/global-reject-file.diff | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/patch/patch-2.6.1/global-reject-file.diff b/meta/recipes-devtools/patch/patch-2.6.1/global-reject-file.diff index cd3a600..c88bc80 100644 --- a/meta/recipes-devtools/patch/patch-2.6.1/global-reject-file.diff +++ b/meta/recipes-devtools/patch/patch-2.6.1/global-reject-file.diff @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [debian patch]" + Index: patch-2.6.1/patch.man =================================================================== --- patch-2.6.1.orig/patch.man -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 04/10] patch: update upstream status for patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (2 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 03/10] patch-2.6.1: update patch upstream status Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 06/10] subversion: " Nitin A Kamble ` (6 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- meta/recipes-devtools/patch/patch/debian.patch | 2 ++ .../patch/patch/global-reject-file.diff | 2 ++ meta/recipes-devtools/patch/patch/install.patch | 2 ++ .../patch/patch/unified-reject-files.diff | 2 ++ 4 files changed, 8 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/patch/patch/debian.patch b/meta/recipes-devtools/patch/patch/debian.patch index 4601858..e0106dc 100644 --- a/meta/recipes-devtools/patch/patch/debian.patch +++ b/meta/recipes-devtools/patch/patch/debian.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [debian patch]" + --- patch-2.5.9.orig/m4/hash.m4 +++ patch-2.5.9/m4/hash.m4 @@ -0,0 +1,15 @@ diff --git a/meta/recipes-devtools/patch/patch/global-reject-file.diff b/meta/recipes-devtools/patch/patch/global-reject-file.diff index 66065fc..d837896 100644 --- a/meta/recipes-devtools/patch/patch/global-reject-file.diff +++ b/meta/recipes-devtools/patch/patch/global-reject-file.diff @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [debian patch]" + Index: patch-2.5.9/patch.man =================================================================== --- patch-2.5.9.orig/patch.man diff --git a/meta/recipes-devtools/patch/patch/install.patch b/meta/recipes-devtools/patch/patch/install.patch index c959189..0359ccd 100644 --- a/meta/recipes-devtools/patch/patch/install.patch +++ b/meta/recipes-devtools/patch/patch/install.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: patch-2.5.4/Makefile.in =================================================================== --- patch-2.5.4.orig/Makefile.in 2005-03-09 07:23:54.779311824 -0500 diff --git a/meta/recipes-devtools/patch/patch/unified-reject-files.diff b/meta/recipes-devtools/patch/patch/unified-reject-files.diff index 6bfa00d..1608b5e 100644 --- a/meta/recipes-devtools/patch/patch/unified-reject-files.diff +++ b/meta/recipes-devtools/patch/patch/unified-reject-files.diff @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [debian patch]" + Generate unified diff style reject files. Also include the C function names in reject files whenever possible. -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 06/10] subversion: update upstream status for patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (3 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 04/10] patch: update upstream status for patches Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 02/10] libpcre: " Nitin A Kamble ` (5 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../subversion/disable-revision-install.patch | 2 ++ .../subversion/subversion/libtool2.patch | 2 ++ .../subversion/subversion/neon-detection.patch | 2 ++ 3 files changed, 6 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch b/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch index ad716d0..ffe6330 100644 --- a/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch +++ b/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: subversion-1.6.15/Makefile.in =================================================================== --- subversion-1.6.15.orig/Makefile.in 2010-11-17 06:47:23.000000000 -0800 diff --git a/meta/recipes-devtools/subversion/subversion/libtool2.patch b/meta/recipes-devtools/subversion/subversion/libtool2.patch index 08343b0..12872db 100644 --- a/meta/recipes-devtools/subversion/subversion/libtool2.patch +++ b/meta/recipes-devtools/subversion/subversion/libtool2.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: subversion-1.5.5/configure.ac =================================================================== --- subversion-1.5.5.orig/configure.ac 2008-08-26 18:27:56.000000000 +0100 diff --git a/meta/recipes-devtools/subversion/subversion/neon-detection.patch b/meta/recipes-devtools/subversion/subversion/neon-detection.patch index eaf6de0..3d28fb2 100644 --- a/meta/recipes-devtools/subversion/subversion/neon-detection.patch +++ b/meta/recipes-devtools/subversion/subversion/neon-detection.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: subversion-1.6.13/build/ac-macros/neon.m4 =================================================================== --- subversion-1.6.13.orig/build/ac-macros/neon.m4 -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 02/10] libpcre: update upstream status for patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (4 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 06/10] subversion: " Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 10/10] binutils: update upstream status of patches Nitin A Kamble ` (4 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../libpcre/files/fix-pcre-name-collision.patch | 1 + .../recipes-support/libpcre/files/pcre-cross.patch | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/meta/recipes-support/libpcre/files/fix-pcre-name-collision.patch b/meta/recipes-support/libpcre/files/fix-pcre-name-collision.patch index 6548353..4b21ffa 100644 --- a/meta/recipes-support/libpcre/files/fix-pcre-name-collision.patch +++ b/meta/recipes-support/libpcre/files/fix-pcre-name-collision.patch @@ -1,3 +1,4 @@ +Upstream-Status="Inappropriate [debian patch]" This patch address a namespace collision with libc. diff --git a/meta/recipes-support/libpcre/files/pcre-cross.patch b/meta/recipes-support/libpcre/files/pcre-cross.patch index 0626fb3..1867395 100644 --- a/meta/recipes-support/libpcre/files/pcre-cross.patch +++ b/meta/recipes-support/libpcre/files/pcre-cross.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [configuration]" + To be upstreamable, this patch requires check for *_FOR_BUILD, otherwise it needs to pass special variables. -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 10/10] binutils: update upstream status of patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (5 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 02/10] libpcre: " Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 Nitin A Kamble ` (3 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../binutils/binutils-2.21/110-arm-eabi-conf.patch | 2 ++ .../binutils-2.21/binutils-2.19.1-ld-sysroot.patch | 2 ++ .../binutils/binutils-2.21/binutils-poison.patch | 2 ++ .../binutils-uclibc-100-uclibc-conf.patch | 2 ++ 4 files changed, 8 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch index eace3e9..e17be35 100644 --- a/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch +++ b/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + --- /tmp/configure.ac 2008-06-22 14:14:59.000000000 +0200 +++ binutils-2.18.50.0.7/configure.ac 2008-06-22 14:15:30.000000000 +0200 @@ -561,7 +561,7 @@ diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch index adcabb4..e6bea3c 100644 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch +++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + http://sourceware.org/bugzilla/show_bug.cgi?id=10340 Signed-off-by: Sven Rebhan <odinshorse@googlemail.com> diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch index 1fe713a..6d8fd42 100644 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch +++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [distribution: codesourcery]" + Patch originally created by Mark Hatle, forward-ported to binutils 2.21 by Scott Garman. diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch index 8de04e0..64ed132 100644 --- a/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch +++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + --- binutils-2.18.orig/configure +++ binutils-2.18/configure @@ -2206,7 +2206,7 @@ -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (6 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 10/10] binutils: update upstream status of patches Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:36 ` [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation Nitin A Kamble ` (2 subsequent siblings) 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../sat-solver/fix_gcc-4.6.0_compile_issue.patch | 115 ++++++++++++++++++++ meta/recipes-extended/sat-solver/sat-solver_git.bb | 5 +- 2 files changed, 119 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch diff --git a/meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch b/meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch new file mode 100644 index 0000000..11c727d --- /dev/null +++ b/meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch @@ -0,0 +1,115 @@ +Upstream-Status="Pending" + +Fix the following compilation issues with gcc 4.6.0 + +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_updateinfoxml.c: In function 'startElement': +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_updateinfoxml.c:278:25: error: variable 'status' set but not used [-Werror=unused-but-set-variable] +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_updateinfoxml.c:386:36: error: variable 'src' set but not used [-Werror=unused-but-set-variable] +| cc1: all warnings being treated as errors +| +| make[2]: *** [ext/CMakeFiles/satsolverext.dir/repo_updateinfoxml.o] Error 1 +| make[2]: *** Waiting for unfinished jobs.... +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/src/transaction.c: In function 'transaction_add_obsoleted': +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/src/transaction.c:1933:21: error: variable 'oldcount' set but not used [-Werror=unused-but-set-variable] +| cc1: all warnings being treated as errors +| +| make[2]: *** [src/CMakeFiles/satsolver.dir/transaction.o] Error 1 +| make[2]: Leaving directory `/build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git' +| make[1]: *** [src/CMakeFiles/satsolver.dir/all] Error 2 +| make[1]: *** Waiting for unfinished jobs.... +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c: In function 'rpm_byfp': +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c:2406:20: error: variable 'headerend' set but not used [-Werror=unused-but-set-variable] +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c: In function 'parsekeydata': +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c:2833:29: error: variable 'scr' set but not used [-Werror=unused-but-set-variable] +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c:2669:7: error: variable 'useridl' set but not used [-Werror=unused-but-set-variable] +| /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git/ext/repo_rpmdb.c:2667:7: error: variable 'pubkeyl' set but not used [-Werror=unused-but-set-variable] +| cc1: all warnings being treated as errors +| +| make[2]: *** [ext/CMakeFiles/satsolverext.dir/repo_rpmdb.o] Error 1 +| make[2]: Leaving directory `/build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git' +| make[1]: *** [ext/CMakeFiles/satsolverext.dir/all] Error 2 +| make[1]: Leaving directory `/build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/git' +| make: *** [all] Error 2 +| FATAL: oe_runmake failed +| ERROR: Function 'do_compile' failed (see /build_disk/poky_build/build_gcc_4.6.0/tmp/work/qemux86-poky-linux/sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9/temp/log.do_compile.21830 for further information) +NOTE: package sat-solver-0.0-git1+0a7378d5f482f477a01cf1690d76871ab8bdcc32-r9: task do_compile: Failed + +Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/05 + +Index: git/src/transaction.c +=================================================================== +--- git.orig/src/transaction.c ++++ git/src/transaction.c +@@ -1930,7 +1930,7 @@ transaction_add_obsoleted(Transaction *t + Repo *installed = pool->installed; + Id p; + Solvable *s; +- int i, j, k, max, oldcount; ++ int i, j, k, max; + Map done; + Queue obsq, *steps; + +@@ -1945,7 +1945,6 @@ transaction_add_obsoleted(Transaction *t + return; + /* make room */ + steps = &trans->steps; +- oldcount = steps->count; + queue_insertn(steps, 0, max); + + /* now add em */ +Index: git/ext/repo_updateinfoxml.c +=================================================================== +--- git.orig/ext/repo_updateinfoxml.c ++++ git/ext/repo_updateinfoxml.c +@@ -275,7 +275,7 @@ startElement(void *userData, const char + */ + case STATE_UPDATE: + { +- const char *from = 0, *status = 0, *type = 0, *version = 0; ++ const char *from = 0, __attribute__((__unused__)) *status = 0, *type = 0, *version = 0; + for (; *atts; atts += 2) + { + if (!strcmp(*atts, "from")) +@@ -383,7 +383,7 @@ startElement(void *userData, const char + */ + case STATE_PACKAGE: + { +- const char *arch = 0, *name = 0, *src = 0; ++ const char *arch = 0, *name = 0, __attribute__((__unused__)) *src = 0; + Id evr = makeevr_atts(pool, pd, atts); /* parse "epoch", "version", "release" */ + Id n, a = 0; + Id rel_id; +Index: git/ext/repo_rpmdb.c +=================================================================== +--- git.orig/ext/repo_rpmdb.c ++++ git/ext/repo_rpmdb.c +@@ -2403,7 +2403,7 @@ void * + rpm_byfp(FILE *fp, const char *name, void **statep) + { + struct rpm_by_state *state = *statep; +- int headerstart, headerend; ++ int headerstart, __attribute__((__unused__))headerend; + RpmHead *rpmhead; + int sigdsize, sigcnt, l; + unsigned char lead[4096]; +@@ -2664,9 +2664,9 @@ parsekeydata(Solvable *s, Repodata *data + unsigned char keyid[8]; + unsigned int kcr = 0, maxex = 0; + unsigned char *pubkey = 0; +- int pubkeyl = 0; ++ int __attribute__((__unused__)) pubkeyl = 0; + unsigned char *userid = 0; +- int useridl = 0; ++ int __attribute__((__unused__)) useridl = 0; + + for (; pl; p += l, pl -= l) + { +@@ -2830,7 +2830,7 @@ parsekeydata(Solvable *s, Repodata *data + { + int j, ql, haveissuer; + unsigned char *q; +- unsigned int ex = 0, scr = 0; ++ unsigned int ex = 0, __attribute__((__unused__))scr = 0; + unsigned char issuer[8]; + + // printf("V4 signature packet\n"); diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb index a174e76..c608bb7 100644 --- a/meta/recipes-extended/sat-solver/sat-solver_git.bb +++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb @@ -8,7 +8,9 @@ DEPENDS = "libcheck rpm zlib expat db" SRCREV = "0a7378d5f482f477a01cf1690d76871ab8bdcc32" PV = "0.0-git${SRCPV}" -PR = "r9" +PR = "r10" + +PARALLEL_MAKE="" SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ file://sat-solver_rpm5.patch \ @@ -16,6 +18,7 @@ SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ file://cmake.patch \ file://db5.patch \ file://sat-solver_core.patch \ + file://fix_gcc-4.6.0_compile_issue.patch \ " S = "${WORKDIR}/git" -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (7 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-06 3:41 ` Bruce Ashfield 2011-05-06 3:36 ` [PATCH 09/10] gcc-4.5.1: update upstream status of patches Nitin A Kamble 2011-05-09 16:16 ` [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Saul Wold 10 siblings, 1 reply; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../perf-tool-Fix-gcc-4.6.0-issues.patch | 266 ++++++++++++++++++++ meta/recipes-kernel/linux/linux-yocto_git.bb | 4 +- 2 files changed, 269 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch diff --git a/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch b/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch new file mode 100644 index 0000000..c3510ad --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch @@ -0,0 +1,266 @@ +Backported to linux-yocto kernel git version + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + +From patchwork Tue Apr 19 20:09:19 2011 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [70/70] perf tool: Fix gcc 4.6.0 issues +Date: Tue, 19 Apr 2011 20:09:19 -0000 +From: Greg Kroah-Hartman <gregkh@suse.de> +X-Patchwork-Id: 719212 +Message-Id: <20110419201050.665258193@clark.kroah.org> +To: linux-kernel@vger.kernel.org, stable@kernel.org +Cc: stable-review@kernel.org, torvalds@linux-foundation.org, + akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, + Ingo Molnar <mingo@redhat.com>, Kyle McMartin <kyle@redhat.com>, + Arnaldo Carvalho de Melo <acme@redhat.com>, Thomas Meyer <thomas@m3y3r.de> + +2.6.38-stable review patch. If anyone has any objections, please let us know. + +------------------ + +From: Kyle McMartin <kyle@mcmartin.ca> + +commit fb7d0b3cefb80a105f7fd26bbc62e0cbf9192822 upstream. + +GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf +due to the -Werror=unused-but-set-variable flag. + +I've gone through and annotated some of the assignments that had side +effects (ie: return value from a function) with the __used annotation, +and in some cases, just removed unused code. + +In a few cases, we were assigning something useful, but not using it in +later parts of the function. + +kyle@dreadnought:~/src% gcc --version +gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3) + +Cc: Ingo Molnar <mingo@redhat.com> +LKML-Reference: <20110124161304.GK27353@bombadil.infradead.org> +Signed-off-by: Kyle McMartin <kyle@redhat.com> +[ committer note: Fixed up the annotation fixes, as that code moved recently ] +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> +[Backported to 2.6.38.2 by deleting unused but set variables] +Signed-off-by: Thomas Meyer <thomas@m3y3r.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- +tools/perf/bench/sched-pipe.c | 2 +- + tools/perf/builtin-sched.c | 12 +++--------- + tools/perf/builtin-top.c | 5 +---- + tools/perf/util/header.c | 2 +- + tools/perf/util/hist.c | 3 --- + tools/perf/util/scripting-engines/trace-event-python.c | 3 +-- + tools/perf/util/symbol.c | 4 ++-- + tools/perf/util/trace-event-parse.c | 2 +- + tools/perf/util/ui/browsers/map.c | 2 +- + 9 files changed, 11 insertions(+), 24 deletions(-) + + + +-- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/ + +Index: linux/tools/perf/bench/sched-pipe.c +=================================================================== +--- linux.orig/tools/perf/bench/sched-pipe.c ++++ linux/tools/perf/bench/sched-pipe.c +@@ -55,7 +55,7 @@ int bench_sched_pipe(int argc, const cha + * discarding returned value of read(), write() + * causes error in building environment for perf + */ +- int ret, wait_stat; ++ int __used ret, wait_stat; + pid_t pid, retpid; + + argc = parse_options(argc, argv, options, +Index: linux/tools/perf/builtin-sched.c +=================================================================== +--- linux.orig/tools/perf/builtin-sched.c ++++ linux/tools/perf/builtin-sched.c +@@ -369,11 +369,6 @@ static void + process_sched_event(struct task_desc *this_task __used, struct sched_atom *atom) + { + int ret = 0; +- u64 now; +- long long delta; +- +- now = get_nsecs(); +- delta = start_time + atom->timestamp - now; + + switch (atom->type) { + case SCHED_EVENT_RUN: +@@ -561,7 +556,7 @@ static void wait_for_tasks(void) + + static void run_one_test(void) + { +- u64 T0, T1, delta, avg_delta, fluct, std_dev; ++ u64 T0, T1, delta, avg_delta, fluct; + + T0 = get_nsecs(); + wait_for_tasks(); +@@ -577,7 +572,6 @@ static void run_one_test(void) + else + fluct = delta - avg_delta; + sum_fluct += fluct; +- std_dev = sum_fluct / nr_runs / sqrt(nr_runs); + if (!run_avg) + run_avg = delta; + run_avg = (run_avg*9 + delta)/10; +@@ -798,7 +792,7 @@ replay_switch_event(struct trace_switch_ + u64 timestamp, + struct thread *thread __used) + { +- struct task_desc *prev, *next; ++ struct task_desc *prev, __used *next; + u64 timestamp0; + s64 delta; + +@@ -1403,7 +1397,7 @@ map_switch_event(struct trace_switch_eve + u64 timestamp, + struct thread *thread __used) + { +- struct thread *sched_out, *sched_in; ++ struct thread *sched_out __used, *sched_in; + int new_shortname; + u64 timestamp0; + s64 delta; +Index: linux/tools/perf/builtin-top.c +=================================================================== +--- linux.orig/tools/perf/builtin-top.c ++++ linux/tools/perf/builtin-top.c +@@ -180,7 +180,6 @@ static int parse_source(struct sym_entry + FILE *file; + char command[PATH_MAX*2]; + const char *path; +- u64 len; + + if (!syme) + return -1; +@@ -209,8 +208,6 @@ static int parse_source(struct sym_entry + } + path = map->dso->long_name; + +- len = sym->end - sym->start; +- + sprintf(command, + "objdump --start-address=%#0*Lx --stop-address=%#0*Lx -dS %s", + BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start), +@@ -1263,7 +1260,7 @@ static int __cmd_top(void) + { + pthread_t thread; + int i, counter; +- int ret; ++ int ret __used; + /* + * FIXME: perf_session__new should allow passing a O_MMAP, so that all this + * mmap reading, etc is encapsulated in it. Use O_WRONLY for now. +Index: linux/tools/perf/util/header.c +=================================================================== +--- linux.orig/tools/perf/util/header.c ++++ linux/tools/perf/util/header.c +@@ -1113,7 +1113,7 @@ int event__synthesize_tracing_data(int f + { + event_t ev; + ssize_t size = 0, aligned_size = 0, padding; +- int err = 0; ++ int err __used = 0; + + memset(&ev, 0, sizeof(ev)); + +Index: linux/tools/perf/util/hist.c +=================================================================== +--- linux.orig/tools/perf/util/hist.c ++++ linux/tools/perf/util/hist.c +@@ -1091,7 +1091,6 @@ int hist_entry__annotate(struct hist_ent + char command[PATH_MAX * 2]; + FILE *file; + int err = 0; +- u64 len; + + if (filename == NULL) { + if (dso->has_build_id) { +@@ -1128,8 +1127,6 @@ fallback: + filename, sym->name, map->unmap_ip(map, sym->start), + map->unmap_ip(map, sym->end)); + +- len = sym->end - sym->start; +- + pr_debug("annotating [%p] %30s : [%p] %30s\n", + dso, dso->long_name, sym, sym->name); + +Index: linux/tools/perf/util/scripting-engines/trace-event-python.c +=================================================================== +--- linux.orig/tools/perf/util/scripting-engines/trace-event-python.c ++++ linux/tools/perf/util/scripting-engines/trace-event-python.c +@@ -248,8 +248,7 @@ static void python_process_event(int cpu + context = PyCObject_FromVoidPtr(scripting_context, NULL); + + PyTuple_SetItem(t, n++, PyString_FromString(handler_name)); +- PyTuple_SetItem(t, n++, +- PyCObject_FromVoidPtr(scripting_context, NULL)); ++ PyTuple_SetItem(t, n++, context); + + if (handler) { + PyTuple_SetItem(t, n++, PyInt_FromLong(cpu)); +Index: linux/tools/perf/util/symbol.c +=================================================================== +--- linux.orig/tools/perf/util/symbol.c ++++ linux/tools/perf/util/symbol.c +@@ -1481,8 +1481,8 @@ int dso__load(struct dso *self, struct m + snprintf(name, size, "%s", self->long_name); + break; + case DSO__ORIG_GUEST_KMODULE: +- if (map->groups && map->groups->machine) +- root_dir = map->groups->machine->root_dir; ++ if (map->groups && machine) ++ root_dir = machine->root_dir; + else + root_dir = ""; + snprintf(name, size, "%s%s", root_dir, self->long_name); +Index: linux/tools/perf/util/trace-event-parse.c +=================================================================== +--- linux.orig/tools/perf/util/trace-event-parse.c ++++ linux/tools/perf/util/trace-event-parse.c +@@ -153,7 +153,7 @@ void parse_proc_kallsyms(char *file, uns + char *next = NULL; + char *addr_str; + char ch; +- int ret; ++ int ret __used; + int i; + + line = strtok_r(file, "\n", &next); +Index: linux/tools/perf/util/ui/browsers/map.c +=================================================================== +--- linux.orig/tools/perf/util/ui/browsers/map.c ++++ linux/tools/perf/util/ui/browsers/map.c +@@ -40,7 +40,7 @@ static int ui_entry__read(const char *ti + out_free_form: + newtPopWindow(); + newtFormDestroy(form); +- return 0; ++ return err; + } + + struct map_browser { +Index: linux/tools/perf/builtin-stat.c +=================================================================== +--- linux.orig/tools/perf/builtin-stat.c ++++ linux/tools/perf/builtin-stat.c +@@ -211,7 +211,7 @@ static void read_counter(int counter) + u64 count[3], single_count[3]; + int cpu; + size_t res, nv; +- int scaled; ++ int scaled __used; + int i, thread; + + count[0] = count[1] = count[2] = 0; diff --git a/meta/recipes-kernel/linux/linux-yocto_git.bb b/meta/recipes-kernel/linux/linux-yocto_git.bb index 3b4e77e..e08d2df 100644 --- a/meta/recipes-kernel/linux/linux-yocto_git.bb +++ b/meta/recipes-kernel/linux/linux-yocto_git.bb @@ -35,7 +35,9 @@ PR = "r17" PV = "${LINUX_VERSION}+git${SRCPV}" SRCREV_FORMAT = "meta_machine" -SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" +SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta \ + file://perf-tool-Fix-gcc-4.6.0-issues.patch \ + " COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|mpc8315e-rdb|routerstationpro|beagleboard)" -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation 2011-05-06 3:36 ` [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation Nitin A Kamble @ 2011-05-06 3:41 ` Bruce Ashfield 0 siblings, 0 replies; 13+ messages in thread From: Bruce Ashfield @ 2011-05-06 3:41 UTC (permalink / raw) To: Patches and discussions about the oe-core layer; +Cc: poky On Thu, May 5, 2011 at 11:36 PM, Nitin A Kamble <nitin.a.kamble@intel.com> wrote: > From: Khem Raj <raj.khem@gmail.com> This has already been merged into the kernel tree itself, so can be dropped from this series. Bruce > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > .../perf-tool-Fix-gcc-4.6.0-issues.patch | 266 ++++++++++++++++++++ > meta/recipes-kernel/linux/linux-yocto_git.bb | 4 +- > 2 files changed, 269 insertions(+), 1 deletions(-) > create mode 100644 meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch > > diff --git a/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch b/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch > new file mode 100644 > index 0000000..c3510ad > --- /dev/null > +++ b/meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch > @@ -0,0 +1,266 @@ > +Backported to linux-yocto kernel git version > + > +Signed-off-by: Khem Raj <raj.khem@gmail.com> > + > + > +From patchwork Tue Apr 19 20:09:19 2011 > +Content-Type: text/plain; charset="utf-8" > +MIME-Version: 1.0 > +Content-Transfer-Encoding: 7bit > +Subject: [70/70] perf tool: Fix gcc 4.6.0 issues > +Date: Tue, 19 Apr 2011 20:09:19 -0000 > +From: Greg Kroah-Hartman <gregkh@suse.de> > +X-Patchwork-Id: 719212 > +Message-Id: <20110419201050.665258193@clark.kroah.org> > +To: linux-kernel@vger.kernel.org, stable@kernel.org > +Cc: stable-review@kernel.org, torvalds@linux-foundation.org, > + akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, > + Ingo Molnar <mingo@redhat.com>, Kyle McMartin <kyle@redhat.com>, > + Arnaldo Carvalho de Melo <acme@redhat.com>, Thomas Meyer <thomas@m3y3r.de> > + > +2.6.38-stable review patch. If anyone has any objections, please let us know. > + > +------------------ > + > +From: Kyle McMartin <kyle@mcmartin.ca> > + > +commit fb7d0b3cefb80a105f7fd26bbc62e0cbf9192822 upstream. > + > +GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf > +due to the -Werror=unused-but-set-variable flag. > + > +I've gone through and annotated some of the assignments that had side > +effects (ie: return value from a function) with the __used annotation, > +and in some cases, just removed unused code. > + > +In a few cases, we were assigning something useful, but not using it in > +later parts of the function. > + > +kyle@dreadnought:~/src% gcc --version > +gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3) > + > +Cc: Ingo Molnar <mingo@redhat.com> > +LKML-Reference: <20110124161304.GK27353@bombadil.infradead.org> > +Signed-off-by: Kyle McMartin <kyle@redhat.com> > +[ committer note: Fixed up the annotation fixes, as that code moved recently ] > +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> > +[Backported to 2.6.38.2 by deleting unused but set variables] > +Signed-off-by: Thomas Meyer <thomas@m3y3r.de> > +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > + > +--- > +tools/perf/bench/sched-pipe.c | 2 +- > + tools/perf/builtin-sched.c | 12 +++--------- > + tools/perf/builtin-top.c | 5 +---- > + tools/perf/util/header.c | 2 +- > + tools/perf/util/hist.c | 3 --- > + tools/perf/util/scripting-engines/trace-event-python.c | 3 +-- > + tools/perf/util/symbol.c | 4 ++-- > + tools/perf/util/trace-event-parse.c | 2 +- > + tools/perf/util/ui/browsers/map.c | 2 +- > + 9 files changed, 11 insertions(+), 24 deletions(-) > + > + > + > +-- > +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > +the body of a message to majordomo@vger.kernel.org > +More majordomo info at http://vger.kernel.org/majordomo-info.html > +Please read the FAQ at http://www.tux.org/lkml/ > + > +Index: linux/tools/perf/bench/sched-pipe.c > +=================================================================== > +--- linux.orig/tools/perf/bench/sched-pipe.c > ++++ linux/tools/perf/bench/sched-pipe.c > +@@ -55,7 +55,7 @@ int bench_sched_pipe(int argc, const cha > + * discarding returned value of read(), write() > + * causes error in building environment for perf > + */ > +- int ret, wait_stat; > ++ int __used ret, wait_stat; > + pid_t pid, retpid; > + > + argc = parse_options(argc, argv, options, > +Index: linux/tools/perf/builtin-sched.c > +=================================================================== > +--- linux.orig/tools/perf/builtin-sched.c > ++++ linux/tools/perf/builtin-sched.c > +@@ -369,11 +369,6 @@ static void > + process_sched_event(struct task_desc *this_task __used, struct sched_atom *atom) > + { > + int ret = 0; > +- u64 now; > +- long long delta; > +- > +- now = get_nsecs(); > +- delta = start_time + atom->timestamp - now; > + > + switch (atom->type) { > + case SCHED_EVENT_RUN: > +@@ -561,7 +556,7 @@ static void wait_for_tasks(void) > + > + static void run_one_test(void) > + { > +- u64 T0, T1, delta, avg_delta, fluct, std_dev; > ++ u64 T0, T1, delta, avg_delta, fluct; > + > + T0 = get_nsecs(); > + wait_for_tasks(); > +@@ -577,7 +572,6 @@ static void run_one_test(void) > + else > + fluct = delta - avg_delta; > + sum_fluct += fluct; > +- std_dev = sum_fluct / nr_runs / sqrt(nr_runs); > + if (!run_avg) > + run_avg = delta; > + run_avg = (run_avg*9 + delta)/10; > +@@ -798,7 +792,7 @@ replay_switch_event(struct trace_switch_ > + u64 timestamp, > + struct thread *thread __used) > + { > +- struct task_desc *prev, *next; > ++ struct task_desc *prev, __used *next; > + u64 timestamp0; > + s64 delta; > + > +@@ -1403,7 +1397,7 @@ map_switch_event(struct trace_switch_eve > + u64 timestamp, > + struct thread *thread __used) > + { > +- struct thread *sched_out, *sched_in; > ++ struct thread *sched_out __used, *sched_in; > + int new_shortname; > + u64 timestamp0; > + s64 delta; > +Index: linux/tools/perf/builtin-top.c > +=================================================================== > +--- linux.orig/tools/perf/builtin-top.c > ++++ linux/tools/perf/builtin-top.c > +@@ -180,7 +180,6 @@ static int parse_source(struct sym_entry > + FILE *file; > + char command[PATH_MAX*2]; > + const char *path; > +- u64 len; > + > + if (!syme) > + return -1; > +@@ -209,8 +208,6 @@ static int parse_source(struct sym_entry > + } > + path = map->dso->long_name; > + > +- len = sym->end - sym->start; > +- > + sprintf(command, > + "objdump --start-address=%#0*Lx --stop-address=%#0*Lx -dS %s", > + BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start), > +@@ -1263,7 +1260,7 @@ static int __cmd_top(void) > + { > + pthread_t thread; > + int i, counter; > +- int ret; > ++ int ret __used; > + /* > + * FIXME: perf_session__new should allow passing a O_MMAP, so that all this > + * mmap reading, etc is encapsulated in it. Use O_WRONLY for now. > +Index: linux/tools/perf/util/header.c > +=================================================================== > +--- linux.orig/tools/perf/util/header.c > ++++ linux/tools/perf/util/header.c > +@@ -1113,7 +1113,7 @@ int event__synthesize_tracing_data(int f > + { > + event_t ev; > + ssize_t size = 0, aligned_size = 0, padding; > +- int err = 0; > ++ int err __used = 0; > + > + memset(&ev, 0, sizeof(ev)); > + > +Index: linux/tools/perf/util/hist.c > +=================================================================== > +--- linux.orig/tools/perf/util/hist.c > ++++ linux/tools/perf/util/hist.c > +@@ -1091,7 +1091,6 @@ int hist_entry__annotate(struct hist_ent > + char command[PATH_MAX * 2]; > + FILE *file; > + int err = 0; > +- u64 len; > + > + if (filename == NULL) { > + if (dso->has_build_id) { > +@@ -1128,8 +1127,6 @@ fallback: > + filename, sym->name, map->unmap_ip(map, sym->start), > + map->unmap_ip(map, sym->end)); > + > +- len = sym->end - sym->start; > +- > + pr_debug("annotating [%p] %30s : [%p] %30s\n", > + dso, dso->long_name, sym, sym->name); > + > +Index: linux/tools/perf/util/scripting-engines/trace-event-python.c > +=================================================================== > +--- linux.orig/tools/perf/util/scripting-engines/trace-event-python.c > ++++ linux/tools/perf/util/scripting-engines/trace-event-python.c > +@@ -248,8 +248,7 @@ static void python_process_event(int cpu > + context = PyCObject_FromVoidPtr(scripting_context, NULL); > + > + PyTuple_SetItem(t, n++, PyString_FromString(handler_name)); > +- PyTuple_SetItem(t, n++, > +- PyCObject_FromVoidPtr(scripting_context, NULL)); > ++ PyTuple_SetItem(t, n++, context); > + > + if (handler) { > + PyTuple_SetItem(t, n++, PyInt_FromLong(cpu)); > +Index: linux/tools/perf/util/symbol.c > +=================================================================== > +--- linux.orig/tools/perf/util/symbol.c > ++++ linux/tools/perf/util/symbol.c > +@@ -1481,8 +1481,8 @@ int dso__load(struct dso *self, struct m > + snprintf(name, size, "%s", self->long_name); > + break; > + case DSO__ORIG_GUEST_KMODULE: > +- if (map->groups && map->groups->machine) > +- root_dir = map->groups->machine->root_dir; > ++ if (map->groups && machine) > ++ root_dir = machine->root_dir; > + else > + root_dir = ""; > + snprintf(name, size, "%s%s", root_dir, self->long_name); > +Index: linux/tools/perf/util/trace-event-parse.c > +=================================================================== > +--- linux.orig/tools/perf/util/trace-event-parse.c > ++++ linux/tools/perf/util/trace-event-parse.c > +@@ -153,7 +153,7 @@ void parse_proc_kallsyms(char *file, uns > + char *next = NULL; > + char *addr_str; > + char ch; > +- int ret; > ++ int ret __used; > + int i; > + > + line = strtok_r(file, "\n", &next); > +Index: linux/tools/perf/util/ui/browsers/map.c > +=================================================================== > +--- linux.orig/tools/perf/util/ui/browsers/map.c > ++++ linux/tools/perf/util/ui/browsers/map.c > +@@ -40,7 +40,7 @@ static int ui_entry__read(const char *ti > + out_free_form: > + newtPopWindow(); > + newtFormDestroy(form); > +- return 0; > ++ return err; > + } > + > + struct map_browser { > +Index: linux/tools/perf/builtin-stat.c > +=================================================================== > +--- linux.orig/tools/perf/builtin-stat.c > ++++ linux/tools/perf/builtin-stat.c > +@@ -211,7 +211,7 @@ static void read_counter(int counter) > + u64 count[3], single_count[3]; > + int cpu; > + size_t res, nv; > +- int scaled; > ++ int scaled __used; > + int i, thread; > + > + count[0] = count[1] = count[2] = 0; > diff --git a/meta/recipes-kernel/linux/linux-yocto_git.bb b/meta/recipes-kernel/linux/linux-yocto_git.bb > index 3b4e77e..e08d2df 100644 > --- a/meta/recipes-kernel/linux/linux-yocto_git.bb > +++ b/meta/recipes-kernel/linux/linux-yocto_git.bb > @@ -35,7 +35,9 @@ PR = "r17" > PV = "${LINUX_VERSION}+git${SRCPV}" > SRCREV_FORMAT = "meta_machine" > > -SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" > +SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta \ > + file://perf-tool-Fix-gcc-4.6.0-issues.patch \ > + " > > COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|mpc8315e-rdb|routerstationpro|beagleboard)" > > -- > 1.7.3.4 > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core > -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 09/10] gcc-4.5.1: update upstream status of patches 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (8 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation Nitin A Kamble @ 2011-05-06 3:36 ` Nitin A Kamble 2011-05-09 16:16 ` [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Saul Wold 10 siblings, 0 replies; 13+ messages in thread From: Nitin A Kamble @ 2011-05-06 3:36 UTC (permalink / raw) To: openembedded-core, poky From: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> --- .../gcc/gcc-4.5.1/100-uclibc-conf.patch | 2 ++ .../gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch | 2 ++ .../gcc/gcc-4.5.1/200-uclibc-locale.patch | 2 ++ .../gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch | 2 ++ .../gcc-4.5.1/204-uclibc-locale-wchar_fix.patch | 2 ++ .../gcc/gcc-4.5.1/205-uclibc-locale-update.patch | 2 ++ .../gcc/gcc-4.5.1/301-missing-execinfo_h.patch | 2 ++ .../gcc/gcc-4.5.1/302-c99-snprintf.patch | 2 ++ .../gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch | 2 ++ .../gcc/gcc-4.5.1/304-index_macro.patch | 2 ++ .../gcc-4.5.1/305-libmudflap-susv3-legacy.patch | 2 ++ .../gcc/gcc-4.5.1/306-libstdc++-namespace.patch | 2 ++ .../gcc/gcc-4.5.1/307-locale_facets.patch | 2 ++ .../gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch | 2 ++ .../recipes-devtools/gcc/gcc-4.5.1/64bithack.patch | 2 ++ .../gcc/gcc-4.5.1/740-sh-pr24836.patch | 2 ++ .../gcc/gcc-4.5.1/800-arm-bigendian.patch | 2 ++ .../gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch | 2 ++ .../gcc/gcc-4.5.1/arm-bswapsi2.patch | 2 ++ .../gcc/gcc-4.5.1/arm-nolibfloat.patch | 2 ++ .../gcc/gcc-4.5.1/arm-softfloat.patch | 2 ++ 21 files changed, 42 insertions(+), 0 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/100-uclibc-conf.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/100-uclibc-conf.patch index 0b79960..87716ff 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/100-uclibc-conf.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/100-uclibc-conf.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.3.1/contrib/regression/objs-gcc.sh =================================================================== --- gcc-4.3.1.orig/contrib/regression/objs-gcc.sh 2007-12-24 15:18:57.000000000 -0800 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch index f9d8ad9..530d815 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Corrects sub machine arch corectly Index: gcc-4.5.0/gcc/config.gcc diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/200-uclibc-locale.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/200-uclibc-locale.patch index 32de11f..042cda5 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/200-uclibc-locale.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/200-uclibc-locale.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/libstdc++-v3/acinclude.m4 =================================================================== --- gcc-4.5.0.orig/libstdc++-v3/acinclude.m4 2010-04-05 18:27:44.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch index f39e652..eaa4a2b 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h =================================================================== --- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-16 01:29:20.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/204-uclibc-locale-wchar_fix.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/204-uclibc-locale-wchar_fix.patch index 160ab35..e44414d 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/204-uclibc-locale-wchar_fix.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/204-uclibc-locale-wchar_fix.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + --- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100 +++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:37:27 +0100 @@ -401,7 +401,7 @@ diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/205-uclibc-locale-update.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/205-uclibc-locale-update.patch index 48eaa1d..3c8fecf 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/205-uclibc-locale-update.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/205-uclibc-locale-update.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc =================================================================== --- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-09-17 22:35:28.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/301-missing-execinfo_h.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/301-missing-execinfo_h.patch index aaa5cee..133f9a6 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/301-missing-execinfo_h.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/301-missing-execinfo_h.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/boehm-gc/include/gc.h =================================================================== --- gcc-4.5.0.orig/boehm-gc/include/gc.h 2007-04-23 14:10:09.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/302-c99-snprintf.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/302-c99-snprintf.patch index 12be2da..a5b68e2 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/302-c99-snprintf.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/302-c99-snprintf.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/libstdc++-v3/include/c_std/cstdio =================================================================== --- gcc-4.5.0.orig/libstdc++-v3/include/c_std/cstdio 2010-02-04 10:20:34.000000000 -0800 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch index 56aa78c..19d6203 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: gcc-4.5.0/libstdc++-v3/configure =================================================================== --- gcc-4.5.0.orig/libstdc++-v3/configure 2010-06-25 10:48:37.488384191 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/304-index_macro.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/304-index_macro.patch index bbb6563..1e0bc29 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/304-index_macro.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/304-index_macro.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/libstdc++-v3/include/ext/rope =================================================================== --- gcc-4.5.0.orig/libstdc++-v3/include/ext/rope 2009-04-09 08:00:19.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/305-libmudflap-susv3-legacy.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/305-libmudflap-susv3-legacy.patch index f890acb..3b06731 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/305-libmudflap-susv3-legacy.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/305-libmudflap-susv3-legacy.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + Index: gcc-4.5.0/libmudflap/mf-hooks2.c =================================================================== --- gcc-4.5.0.orig/libmudflap/mf-hooks2.c 2009-04-09 08:00:19.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/306-libstdc++-namespace.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/306-libstdc++-namespace.patch index 75c7401..5fa2323 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/306-libstdc++-namespace.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/306-libstdc++-namespace.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/libstdc++-v3/config/locale/uclibc/messages_members.h =================================================================== --- gcc-4.5.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2010-06-25 10:49:07.024632961 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/307-locale_facets.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/307-locale_facets.patch index 774fcfa..21b14ef 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/307-locale_facets.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/307-locale_facets.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + This patch fixes a bug into ostream::operator<<(double) due to the wrong size passed into the __convert_from_v method. The wrong size is then passed to std::snprintf function, that, on uClibc, doens't handle sized 0 buffer. diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch index 23fce75..31d3b18 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + --- gcc-4.1.0/libstdc++-v3/fragment.am 2005-03-21 11:40:14.000000000 -0600 +++ gcc-4.1.0-patched/libstdc++-v3/fragment.am 2005-04-25 20:14:39.856251785 -0500 @@ -21,5 +21,5 @@ diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/64bithack.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/64bithack.patch index 067676a..0ee6b78 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/64bithack.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/64bithack.patch @@ -1,3 +1,5 @@ +Upstream-Status="Inappropriate [embedded specific]" + By default gcc places 64 bit libs in a lib64 directory. This makes it use "lib" instead. diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/740-sh-pr24836.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/740-sh-pr24836.patch index d848892..6506cb7 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/740-sh-pr24836.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/740-sh-pr24836.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/800-arm-bigendian.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/800-arm-bigendian.patch index 77d02c3..e4b1f55 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/800-arm-bigendian.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/800-arm-bigendian.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + By Lennert Buytenhek <buytenh@wantstofly.org> Adds support for arm*b-linux* big-endian ARM targets diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch index c4641dc..a766aee 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Hi, The attached patch makes sure that we create smaller object code for diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-bswapsi2.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-bswapsi2.patch index 7ac61a6..a72aaaf 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-bswapsi2.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-bswapsi2.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5/gcc/config/arm/arm.md =================================================================== --- gcc-4.5.orig/gcc/config/arm/arm.md 2010-06-17 09:13:07.000000000 -0700 diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-nolibfloat.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-nolibfloat.patch index 99f2b20..88e4e3b 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-nolibfloat.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-nolibfloat.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + # Dimitry Andric <dimitry@andric.com>, 2004-05-01 # # * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-softfloat.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-softfloat.patch index 181d4fb..dc8b7a5 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1/arm-softfloat.patch +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/arm-softfloat.patch @@ -1,3 +1,5 @@ +Upstream-Status="Pending" + Index: gcc-4.5.0/gcc/config/arm/t-linux =================================================================== --- gcc-4.5.0.orig/gcc/config/arm/t-linux 2009-04-21 12:03:23.000000000 -0700 -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble ` (9 preceding siblings ...) 2011-05-06 3:36 ` [PATCH 09/10] gcc-4.5.1: update upstream status of patches Nitin A Kamble @ 2011-05-09 16:16 ` Saul Wold 10 siblings, 0 replies; 13+ messages in thread From: Saul Wold @ 2011-05-09 16:16 UTC (permalink / raw) To: Patches and discussions about the oe-core layer; +Cc: poky On 05/05/2011 08:36 PM, Nitin A Kamble wrote: > From: Nitin A Kamble<nitin.a.kamble@intel.com> > > These are few commits for gcc 4.6.0& patch upstream status. > > Pull URL: git://git.pokylinux.org/poky-contrib.git > Branch: nitin/misc > Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc > > Thanks, > Nitin A Kamble<nitin.a.kamble@intel.com> > --- > > > Khem Raj (2): > gcc-4.6.0: Apply linaro patches > linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation > > Nitin A Kamble (8): > libpcre: update upstream status for patches > patch-2.6.1: update patch upstream status > patch: update upstream status for patches > python-imaging: update upstream status for patches > subversion: update upstream status for patches > sat-solver: fix compilation issue with gcc 4.6.0 > gcc-4.5.1: update upstream status of patches > binutils: update upstream status of patches > > .../binutils/binutils-2.21/110-arm-eabi-conf.patch | 2 + > .../binutils-2.21/binutils-2.19.1-ld-sysroot.patch | 2 + > .../binutils/binutils-2.21/binutils-poison.patch | 2 + > .../binutils-uclibc-100-uclibc-conf.patch | 2 + > .../gcc/gcc-4.5.1/100-uclibc-conf.patch | 2 + > .../gcc/gcc-4.5.1/103-uclibc-conf-noupstream.patch | 2 + > .../gcc/gcc-4.5.1/200-uclibc-locale.patch | 2 + > .../gcc/gcc-4.5.1/203-uclibc-locale-no__x.patch | 2 + > .../gcc-4.5.1/204-uclibc-locale-wchar_fix.patch | 2 + > .../gcc/gcc-4.5.1/205-uclibc-locale-update.patch | 2 + > .../gcc/gcc-4.5.1/301-missing-execinfo_h.patch | 2 + > .../gcc/gcc-4.5.1/302-c99-snprintf.patch | 2 + > .../gcc/gcc-4.5.1/303-c99-complex-ugly-hack.patch | 2 + > .../gcc/gcc-4.5.1/304-index_macro.patch | 2 + > .../gcc-4.5.1/305-libmudflap-susv3-legacy.patch | 2 + > .../gcc/gcc-4.5.1/306-libstdc++-namespace.patch | 2 + > .../gcc/gcc-4.5.1/307-locale_facets.patch | 2 + > .../gcc/gcc-4.5.1/602-sdk-libstdc++-includes.patch | 2 + > .../recipes-devtools/gcc/gcc-4.5.1/64bithack.patch | 2 + > .../gcc/gcc-4.5.1/740-sh-pr24836.patch | 2 + > .../gcc/gcc-4.5.1/800-arm-bigendian.patch | 2 + > .../gcc/gcc-4.5.1/904-flatten-switch-stmt-00.patch | 2 + > .../gcc/gcc-4.5.1/arm-bswapsi2.patch | 2 + > .../gcc/gcc-4.5.1/arm-nolibfloat.patch | 2 + > .../gcc/gcc-4.5.1/arm-softfloat.patch | 2 + > meta/recipes-devtools/gcc/gcc-4.6.0.inc | 4 + > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch | 51 ++ > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch | 63 ++ > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch | 32 + > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch | 28 + > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch | 653 ++++++++++++++++++++ > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch | 126 ++++ > .../gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch | 177 ++++++ > .../gcc/gcc-4_6-branch-linaro-backports.inc | 9 + > .../patch/patch-2.6.1/global-reject-file.diff | 2 + > meta/recipes-devtools/patch/patch/debian.patch | 2 + > .../patch/patch/global-reject-file.diff | 2 + > meta/recipes-devtools/patch/patch/install.patch | 2 + > .../patch/patch/unified-reject-files.diff | 2 + > .../python/python-imaging/path.patch | 2 + > .../subversion/disable-revision-install.patch | 2 + > .../subversion/subversion/libtool2.patch | 2 + > .../subversion/subversion/neon-detection.patch | 2 + > .../sat-solver/fix_gcc-4.6.0_compile_issue.patch | 115 ++++ > meta/recipes-extended/sat-solver/sat-solver_git.bb | 5 +- > .../perf-tool-Fix-gcc-4.6.0-issues.patch | 266 ++++++++ > meta/recipes-kernel/linux/linux-yocto_git.bb | 4 +- > .../libpcre/files/fix-pcre-name-collision.patch | 1 + > .../recipes-support/libpcre/files/pcre-cross.patch | 2 + > 49 files changed, 1602 insertions(+), 2 deletions(-) > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106720.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106723.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106729.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106731.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106733.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106737.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/linaro/gcc-4.6-linaro-r106738.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc > create mode 100644 meta/recipes-extended/sat-solver/sat-solver/fix_gcc-4.6.0_compile_issue.patch > create mode 100644 meta/recipes-kernel/linux/linux-yocto/perf-tool-Fix-gcc-4.6.0-issues.patch > Merged in oe-core and Master Thanks Sau! ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2011-05-09 16:19 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-05-06 3:36 [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Nitin A Kamble 2011-05-06 3:36 ` [PATCH 01/10] gcc-4.6.0: Apply linaro patches Nitin A Kamble 2011-05-06 3:36 ` [PATCH 05/10] python-imaging: update upstream status for patches Nitin A Kamble 2011-05-06 3:36 ` [PATCH 03/10] patch-2.6.1: update patch upstream status Nitin A Kamble 2011-05-06 3:36 ` [PATCH 04/10] patch: update upstream status for patches Nitin A Kamble 2011-05-06 3:36 ` [PATCH 06/10] subversion: " Nitin A Kamble 2011-05-06 3:36 ` [PATCH 02/10] libpcre: " Nitin A Kamble 2011-05-06 3:36 ` [PATCH 10/10] binutils: update upstream status of patches Nitin A Kamble 2011-05-06 3:36 ` [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 Nitin A Kamble 2011-05-06 3:36 ` [PATCH 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation Nitin A Kamble 2011-05-06 3:41 ` Bruce Ashfield 2011-05-06 3:36 ` [PATCH 09/10] gcc-4.5.1: update upstream status of patches Nitin A Kamble 2011-05-09 16:16 ` [PATCH 00/10] gcc-4.6.0 related fixes & patch upstream status updates Saul Wold
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox