]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc-4.5.0: import an arm fix patch from OE
authorNitin A Kamble <nitin.a.kamble@intel.com>
Tue, 27 Jul 2010 19:35:33 +0000 (12:35 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 30 Jul 2010 13:50:31 +0000 (14:50 +0100)
And bump PRs of affected recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
meta/packages/gcc/gcc-4.5.0.inc
meta/packages/gcc/gcc-4.5.0/gcc-pr43698-arm-rev-instr.patch [new file with mode: 0644]
meta/packages/gcc/gcc-cross-canadian_4.5.0.bb
meta/packages/gcc/gcc-cross-initial_4.5.0.bb
meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb
meta/packages/gcc/gcc-cross_4.5.0.bb
meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb
meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb
meta/packages/gcc/gcc-crosssdk_4.5.0.bb
meta/packages/gcc/gcc-runtime_4.5.0.bb
meta/packages/gcc/gcc_4.5.0.bb

index 9d66940bf980676b49704683736c409c2f0fef9c..60dd48d4bd0a9774f3c7cda795eaad16230e71dd 100644 (file)
@@ -14,6 +14,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
           file://gcc-flags-for-build.patch \
           file://libstdc++-emit-__cxa_end_cleanup-in-text.patch \
           file://arm-bswapsi2.patch \
+          file://gcc-pr43698-arm-rev-instr.patch \
                \
            file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
            file://fedora/gcc43-ia64-libunwind.patch;striplevel=0 \
diff --git a/meta/packages/gcc/gcc-4.5.0/gcc-pr43698-arm-rev-instr.patch b/meta/packages/gcc/gcc-4.5.0/gcc-pr43698-arm-rev-instr.patch
new file mode 100644 (file)
index 0000000..61c883e
--- /dev/null
@@ -0,0 +1,117 @@
+backport http://gcc.gnu.org/viewcvs?view=revision&revision=162404
+from trunk
+
+Which fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43698
+
+2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+        PR target/43698
+        * config/arm/arm.md: Split arm_rev into *arm_rev
+        and *thumb1_rev. Set *arm_rev to be predicable.
+
+2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+        PR target/43698
+        * gcc.target/arm/pr43698.c: New test.
+
+
+/scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+Usage: date [OPTION]... [+FORMAT]
+Display the current time in the given FORMAT.
+
+  -d, --date=STRING         display time described by STRING, not `now'
+  -f, --file=DATEFILE       like --date once for each line of DATEFILE
+  -R, --rfc-822             output RFC-822 compliant date string
+  -u, --utc, --universal    print or set Coordinated Universal Time
+      --help                display this help and exit
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /bin/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /bin/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /bin/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /scratch/oe/sysroots/i686-linux/usr/share/quilt/compat/date
+date is /bin/date
+date
+Khem
+Index: gcc-4.5/gcc/config/arm/arm.md
+===================================================================
+--- gcc-4.5.orig/gcc/config/arm/arm.md 2010-07-20 20:31:25.000000000 -0700
++++ gcc-4.5/gcc/config/arm/arm.md      2010-07-22 14:55:54.303169081 -0700
+@@ -11197,15 +11197,21 @@
+    (set_attr "length" "4")]
+ )
+-(define_insn "arm_rev"
++(define_insn "*arm_rev"
+   [(set (match_operand:SI 0 "s_register_operand" "=r")
+       (bswap:SI (match_operand:SI 1 "s_register_operand" "r")))]
+-  "TARGET_EITHER && arm_arch6"
+-  "rev\t%0, %1"
+-  [(set (attr "length")
+-        (if_then_else (eq_attr "is_thumb" "yes")
+-                    (const_int 2)
+-                    (const_int 4)))]
++  "TARGET_32BIT && arm_arch6"
++  "rev%?\t%0, %1"
++  [(set_attr "predicable" "yes")
++   (set_attr "length" "4")]
++)
++
++(define_insn "*thumb1_rev"
++  [(set (match_operand:SI 0 "s_register_operand" "=l")
++      (bswap:SI (match_operand:SI 1 "s_register_operand" "l")))]
++  "TARGET_THUMB1 && arm_arch6"
++   "rev\t%0, %1"
++  [(set_attr "length" "2")]
+ )
+ (define_expand "arm_legacy_rev"
+Index: gcc-4.5/gcc/testsuite/gcc.target/arm/pr43698.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.5/gcc/testsuite/gcc.target/arm/pr43698.c     2010-07-22 14:56:35.406670213 -0700
+@@ -0,0 +1,39 @@
++/* { dg-do run } */
++/* { dg-options "-Os -march=armv7-a" } */
++#include <stdint.h>
++#include <stdlib.h>
++
++
++char do_reverse_endian = 0;
++
++#  define bswap_32(x) \
++  ((((x) & 0xff000000) >> 24) | \
++   (((x) & 0x00ff0000) >>  8) | \
++   (((x) & 0x0000ff00) <<  8) | \
++   (((x) & 0x000000ff) << 24))
++
++#define EGET(X) \
++  (__extension__ ({ \
++      uint64_t __res; \
++      if (!do_reverse_endian) {    __res = (X); \
++      } else if (sizeof(X) == 4) { __res = bswap_32((X)); \
++      } \
++      __res; \
++    }))
++
++void __attribute__((noinline)) X(char **phdr, char **data, int *phoff)
++{
++  *phdr = *data + EGET(*phoff);
++}
++
++int main()
++{
++  char *phdr;
++  char *data = (char *)0x40164000;
++  int phoff = 0x34;
++  X(&phdr, &data, &phoff);
++  if (phdr != (char *)0x40164034)
++    abort ();
++  exit (0);
++}
++
index 98e239d92c3f29917108e9fd6dc351685e3ccdc9..37c64fb4eee5d3c34498f39b3e3bc74308a44428 100644 (file)
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
 require gcc-configure-sdk.inc
 require gcc-package-sdk.inc
 
-PR = "r1"
+PR = "r2"
 
 DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
 RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
index a121782233966259840b0d1e1bb1f1abf87af982..b2c257d9d40e4e731f5655b672ef4fe41c650dde 100644 (file)
@@ -1,5 +1,5 @@
 require gcc-cross_${PV}.bb
 require gcc-cross-initial.inc
 
-PR = "r1"
+PR = "r2"
 
index 7aaa5b051285ba196e02a7044fee2096c4da6fc6..10681dad4b5d0961405ef999dd3f73b9b3c52d11 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross_${PV}.bb
 require gcc-cross-intermediate.inc
-PR = "r1"
+PR = "r2"
 
index 148d304fe5d873c36aa0d225b0de4245b707ea71..a5a80b765df64a00bfbd287dae6a913030ed561f 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 
 require gcc-${PV}.inc
 require gcc-cross4.inc
index 0fc5faab3e8e0be8fb56b09ea301acb4edc177f3..240caf56f78be399232b9c66d13f6a0302401cdb 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross-initial_${PV}.bb
 require gcc-crosssdk-initial.inc
 
-PR = "r1"
+PR = "r2"
index 4260c358adff68838fb9ac48ea78d2e1e842d3f0..a6653ddfcc0f8c2fee3d907352f8211e78e235f8 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross-intermediate_${PV}.bb
 require gcc-crosssdk-intermediate.inc
 
-PR = "r1"
+PR = "r2"
index a23a66258aa75a6537966bdc82ce919aa2a2fb9f..129e8d31a4b9c0c8a0d43d02cfdf81f7fd5f6bb2 100644 (file)
@@ -1,4 +1,4 @@
 require gcc-cross_${PV}.bb
 require gcc-crosssdk.inc
 
-PR = "r1"
+PR = "r2"
index ca22e8be38db1b0b380ab418ce17591212cf83ca..093f9bf9638416c8a4dfb53735944726105b75dc 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 
 require gcc-${PV}.inc
 require gcc-configure-runtime.inc
index 43bceb44c4a726c95b262bdb1a254794b6e0d3dd..3a1edec607414ed436552b3f24a9128ff8a87b2f 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 
 require gcc-${PV}.inc
 require gcc-configure-target.inc