Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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 06/10] subversion: 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 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
                   ` (3 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 05/10] python-imaging: update upstream status for patches 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>
---
 .../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 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
                   ` (4 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 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>
---
 .../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 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
  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 04/10] patch: " 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>
---
 .../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 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
  2011-05-06  3:36 ` [PATCH 01/10] gcc-4.6.0: Apply linaro patches Nitin A Kamble
  2011-05-06  3:36 ` [PATCH 06/10] subversion: 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
                   ` (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>
---
 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 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
                   ` (2 preceding siblings ...)
  2011-05-06  3:36 ` [PATCH 04/10] patch: " 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
                   ` (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>
---
 .../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 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
                   ` (8 preceding siblings ...)
  2011-05-06  3:36 ` [PATCH 09/10] gcc-4.5.1: update upstream status of patches 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>
---
 .../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 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 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 07/10] linux-yocto_git.bb: Backport upstream fix for gcc 4.6 compilation 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 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
                   ` (7 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-06  3:36 ` [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 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

* [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
                   ` (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:41   ` Bruce Ashfield
  2011-05-06  3:36 ` [PATCH 09/10] gcc-4.5.1: update upstream status of patches Nitin A Kamble
                   ` (2 subsequent siblings)
  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

* 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 08/10] sat-solver: fix compilation issue with gcc 4.6.0 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 06/10] subversion: update upstream status for patches Nitin A Kamble
2011-05-06  3:36 ` [PATCH 04/10] patch: " Nitin A Kamble
2011-05-06  3:36 ` [PATCH 02/10] libpcre: " 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 05/10] python-imaging: update upstream status for patches 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 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-06  3:36 ` [PATCH 08/10] sat-solver: fix compilation issue with gcc 4.6.0 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