* [PATCH 0/3] gcc update and bug fix
@ 2011-10-18 1:38 Khem Raj
2011-10-18 1:39 ` [PATCH 1/3] bluez4: Add glib-2.0 to DEPENDS Khem Raj
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Khem Raj @ 2011-10-18 1:38 UTC (permalink / raw)
To: openembedded-core
This patchset does two things for gcc
1. Updates to latest from FSF gcc-4_6-branch
2. Backport the fix for PR46934
The changes that come from FSF gcc are listed here
http://sakrah.homelinux.org/files/gcc-4.6-ChangeLog-r180099_r180099.txt
3. Bluez4 needed glib.h therefore depend on glib-2.0
The following changes since commit 8bc098475f58b60bfb24ec0fd338e49ac2387c50:
gcc-4.6: Backport PR46934 fix (2011-10-17 18:00:29 -0700)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/gcc-update
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-update
Khem Raj (3):
bluez4: Add glib-2.0 to DEPENDS
gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
gcc-4.6: Backport PR46934 fix
meta/recipes-connectivity/bluez/bluez4.inc | 2 +-
meta/recipes-connectivity/bluez/bluez4_4.96.bb | 2 +-
meta/recipes-devtools/gcc/gcc-4.6.inc | 5 +-
meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch | 392 +++++++++++++++++++++++
4 files changed, 397 insertions(+), 4 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch
--
1.7.5.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] bluez4: Add glib-2.0 to DEPENDS
2011-10-18 1:38 [PATCH 0/3] gcc update and bug fix Khem Raj
@ 2011-10-18 1:39 ` Khem Raj
2011-10-18 1:39 ` [PATCH 2/3] gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch Khem Raj
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Khem Raj @ 2011-10-18 1:39 UTC (permalink / raw)
To: openembedded-core
Fixes
| attrib/utils.c:25:18: fatal error: glib.h: No such file or directory
| compilation terminated.
| make[1]: *** [attrib/utils.o] Error 1
| make[1]: *** Waiting for unfinished jobs....
| attrib/interactive.c:27:18: fatal error: glib.h: No such file or
directory
| compilation terminated.
| make[1]: *** [attrib/interactive.o] Error 1
| make: *** [all] Error 2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-connectivity/bluez/bluez4.inc | 2 +-
meta/recipes-connectivity/bluez/bluez4_4.96.bb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-connectivity/bluez/bluez4.inc b/meta/recipes-connectivity/bluez/bluez4.inc
index fc515f6..9158687 100644
--- a/meta/recipes-connectivity/bluez/bluez4.inc
+++ b/meta/recipes-connectivity/bluez/bluez4.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \
file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
-DEPENDS = "udev alsa-lib libusb dbus-glib"
+DEPENDS = "udev alsa-lib libusb dbus-glib glib-2.0"
RDEPENDS_${PN}-dev = "bluez-hcidump"
ASNEEDED = ""
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.96.bb b/meta/recipes-connectivity/bluez/bluez4_4.96.bb
index 52268cf..88ec7a4 100644
--- a/meta/recipes-connectivity/bluez/bluez4_4.96.bb
+++ b/meta/recipes-connectivity/bluez/bluez4_4.96.bb
@@ -1,6 +1,6 @@
require bluez4.inc
-PR = "r3"
+PR = "r4"
SRC_URI += "file://bluetooth.conf"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
2011-10-18 1:38 [PATCH 0/3] gcc update and bug fix Khem Raj
2011-10-18 1:39 ` [PATCH 1/3] bluez4: Add glib-2.0 to DEPENDS Khem Raj
@ 2011-10-18 1:39 ` Khem Raj
2011-10-18 1:39 ` [PATCH 3/3] gcc-4.6: Backport PR46934 fix Khem Raj
2011-10-20 17:19 ` [PATCH 0/3] gcc update and bug fix Saul Wold
3 siblings, 0 replies; 9+ messages in thread
From: Khem Raj @ 2011-10-18 1:39 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/gcc/gcc-4.6.inc | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 8ca3174..0fb6287 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -18,7 +18,7 @@ PV = "4.6.1+svnr${SRCPV}"
BINV = "4.6.2"
-SRCREV = 178924
+SRCREV = 180099
BRANCH = "gcc-4_6-branch"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.6' ], d)}"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/3] gcc-4.6: Backport PR46934 fix
2011-10-18 1:38 [PATCH 0/3] gcc update and bug fix Khem Raj
2011-10-18 1:39 ` [PATCH 1/3] bluez4: Add glib-2.0 to DEPENDS Khem Raj
2011-10-18 1:39 ` [PATCH 2/3] gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch Khem Raj
@ 2011-10-18 1:39 ` Khem Raj
2011-10-18 7:54 ` Martin Jansa
2011-10-18 14:18 ` Koen Kooi
2011-10-20 17:19 ` [PATCH 0/3] gcc update and bug fix Saul Wold
3 siblings, 2 replies; 9+ messages in thread
From: Khem Raj @ 2011-10-18 1:39 UTC (permalink / raw)
To: openembedded-core
We have been hitting this issue on ARM/thumb and
have a workaround in place to compile samba
http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
This backport should fix the gcc bug
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/gcc/gcc-4.6.inc | 3 +-
meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch | 392 +++++++++++++++++++++++
2 files changed, 394 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 0fb6287..fbc90ea 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-PR = "r14"
+PR = "r15"
# Third digit in PV should be incremented after a minor release
# happens from this branch on gcc e.g. currently its 4.6.0
@@ -69,6 +69,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
file://powerpc-e5500.patch \
file://fix-for-ice-50099.patch \
file://gcc-with-linker-hash-style.patch \
+ file://pr46934.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch b/meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch
new file mode 100644
index 0000000..afd3eef
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch
@@ -0,0 +1,392 @@
+2011-09-19 chengbin <bin.cheng@arm.com>
+
+ Backport r174035 from mainline
+ 2011-05-22 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/48689
+ * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
+ CODE_CONTAINS_STRUCT (TS_COMMON).
+
+ Backport r172297 from mainline
+ 2011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/48250
+ * config/arm/arm.c (arm_legitimize_reload_address): Update cases
+ to use sign-magnitude offsets. Reject unsupported unaligned
+ cases. Add detailed description in comments.
+ * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
+ condition from TARGET_32BIT to TARGET_ARM.
+
+ Backport r171978 from mainline
+ 2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
+ for size.
+
+ Backport r171632 from mainline
+ 2011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * builtins.c (expand_builtin_memset_args): Use gen_int_mode
+ instead of GEN_INT.
+
+ Backport r171379 from mainline
+ 2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/46934
+ * config/arm/arm.md (casesi): Use the gen_int_mode() function
+ to subtract lower bound instead of GEN_INT().
+
+ Backport r171251 from mainline
+ 2011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
+ for barrier handlers.
+
+ Backport r171096 from mainline
+ 2011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/43872
+ * config/arm/arm.c (arm_get_frame_offsets): Adjust early
+ return condition with !cfun->calls_alloca.
+
+Index: gcc-4_6-branch/gcc/builtins.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/builtins.c 2011-10-17 17:45:32.050502963 -0700
++++ gcc-4_6-branch/gcc/builtins.c 2011-10-17 17:46:11.154696878 -0700
+@@ -3972,6 +3972,7 @@
+ {
+ tree fndecl, fn;
+ enum built_in_function fcode;
++ enum machine_mode val_mode;
+ char c;
+ unsigned int dest_align;
+ rtx dest_mem, dest_addr, len_rtx;
+@@ -4006,14 +4007,14 @@
+
+ len_rtx = expand_normal (len);
+ dest_mem = get_memory_rtx (dest, len);
++ val_mode = TYPE_MODE (unsigned_char_type_node);
+
+ if (TREE_CODE (val) != INTEGER_CST)
+ {
+ rtx val_rtx;
+
+ val_rtx = expand_normal (val);
+- val_rtx = convert_to_mode (TYPE_MODE (unsigned_char_type_node),
+- val_rtx, 0);
++ val_rtx = convert_to_mode (val_mode, val_rtx, 0);
+
+ /* Assume that we can memset by pieces if we can store
+ * the coefficients by pieces (in the required modes).
+@@ -4024,8 +4025,7 @@
+ builtin_memset_read_str, &c, dest_align,
+ true))
+ {
+- val_rtx = force_reg (TYPE_MODE (unsigned_char_type_node),
+- val_rtx);
++ val_rtx = force_reg (val_mode, val_rtx);
+ store_by_pieces (dest_mem, tree_low_cst (len, 1),
+ builtin_memset_gen_str, val_rtx, dest_align,
+ true, 0);
+@@ -4051,7 +4051,8 @@
+ true))
+ store_by_pieces (dest_mem, tree_low_cst (len, 1),
+ builtin_memset_read_str, &c, dest_align, true, 0);
+- else if (!set_storage_via_setmem (dest_mem, len_rtx, GEN_INT (c),
++ else if (!set_storage_via_setmem (dest_mem, len_rtx,
++ gen_int_mode (c, val_mode),
+ dest_align, expected_align,
+ expected_size))
+ goto do_libcall;
+Index: gcc-4_6-branch/gcc/config/arm/arm.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config/arm/arm.c 2011-10-17 17:45:41.914551883 -0700
++++ gcc-4_6-branch/gcc/config/arm/arm.c 2011-10-17 17:48:35.447412371 -0700
+@@ -6406,23 +6406,126 @@
+ HOST_WIDE_INT val = INTVAL (XEXP (*p, 1));
+ HOST_WIDE_INT low, high;
+
+- if (mode == DImode || (mode == DFmode && TARGET_SOFT_FLOAT))
+- low = ((val & 0xf) ^ 0x8) - 0x8;
+- else if (TARGET_MAVERICK && TARGET_HARD_FLOAT)
+- /* Need to be careful, -256 is not a valid offset. */
+- low = val >= 0 ? (val & 0xff) : -((-val) & 0xff);
+- else if (mode == SImode
+- || (mode == SFmode && TARGET_SOFT_FLOAT)
+- || ((mode == HImode || mode == QImode) && ! arm_arch4))
+- /* Need to be careful, -4096 is not a valid offset. */
+- low = val >= 0 ? (val & 0xfff) : -((-val) & 0xfff);
+- else if ((mode == HImode || mode == QImode) && arm_arch4)
+- /* Need to be careful, -256 is not a valid offset. */
+- low = val >= 0 ? (val & 0xff) : -((-val) & 0xff);
+- else if (GET_MODE_CLASS (mode) == MODE_FLOAT
+- && TARGET_HARD_FLOAT && TARGET_FPA)
+- /* Need to be careful, -1024 is not a valid offset. */
+- low = val >= 0 ? (val & 0x3ff) : -((-val) & 0x3ff);
++ /* Detect coprocessor load/stores. */
++ bool coproc_p = ((TARGET_HARD_FLOAT
++ && (TARGET_VFP || TARGET_FPA || TARGET_MAVERICK)
++ && (mode == SFmode || mode == DFmode
++ || (mode == DImode && TARGET_MAVERICK)))
++ || (TARGET_REALLY_IWMMXT
++ && VALID_IWMMXT_REG_MODE (mode))
++ || (TARGET_NEON
++ && (VALID_NEON_DREG_MODE (mode)
++ || VALID_NEON_QREG_MODE (mode))));
++
++ /* For some conditions, bail out when lower two bits are unaligned. */
++ if ((val & 0x3) != 0
++ /* Coprocessor load/store indexes are 8-bits + '00' appended. */
++ && (coproc_p
++ /* For DI, and DF under soft-float: */
++ || ((mode == DImode || mode == DFmode)
++ /* Without ldrd, we use stm/ldm, which does not
++ fair well with unaligned bits. */
++ && (! TARGET_LDRD
++ /* Thumb-2 ldrd/strd is [-1020,+1020] in steps of 4. */
++ || TARGET_THUMB2))))
++ return false;
++
++ /* When breaking down a [reg+index] reload address into [(reg+high)+low],
++ of which the (reg+high) gets turned into a reload add insn,
++ we try to decompose the index into high/low values that can often
++ also lead to better reload CSE.
++ For example:
++ ldr r0, [r2, #4100] // Offset too large
++ ldr r1, [r2, #4104] // Offset too large
++
++ is best reloaded as:
++ add t1, r2, #4096
++ ldr r0, [t1, #4]
++ add t2, r2, #4096
++ ldr r1, [t2, #8]
++
++ which post-reload CSE can simplify in most cases to eliminate the
++ second add instruction:
++ add t1, r2, #4096
++ ldr r0, [t1, #4]
++ ldr r1, [t1, #8]
++
++ The idea here is that we want to split out the bits of the constant
++ as a mask, rather than as subtracting the maximum offset that the
++ respective type of load/store used can handle.
++
++ When encountering negative offsets, we can still utilize it even if
++ the overall offset is positive; sometimes this may lead to an immediate
++ that can be constructed with fewer instructions.
++ For example:
++ ldr r0, [r2, #0x3FFFFC]
++
++ This is best reloaded as:
++ add t1, r2, #0x400000
++ ldr r0, [t1, #-4]
++
++ The trick for spotting this for a load insn with N bits of offset
++ (i.e. bits N-1:0) is to look at bit N; if it is set, then chose a
++ negative offset that is going to make bit N and all the bits below
++ it become zero in the remainder part.
++
++ The SIGN_MAG_LOW_ADDR_BITS macro below implements this, with respect
++ to sign-magnitude addressing (i.e. separate +- bit, or 1's complement),
++ used in most cases of ARM load/store instructions. */
++
++#define SIGN_MAG_LOW_ADDR_BITS(VAL, N) \
++ (((VAL) & ((1 << (N)) - 1)) \
++ ? (((VAL) & ((1 << ((N) + 1)) - 1)) ^ (1 << (N))) - (1 << (N)) \
++ : 0)
++
++ if (coproc_p)
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 10);
++ else if (GET_MODE_SIZE (mode) == 8)
++ {
++ if (TARGET_LDRD)
++ low = (TARGET_THUMB2
++ ? SIGN_MAG_LOW_ADDR_BITS (val, 10)
++ : SIGN_MAG_LOW_ADDR_BITS (val, 8));
++ else
++ /* For pre-ARMv5TE (without ldrd), we use ldm/stm(db/da/ib)
++ to access doublewords. The supported load/store offsets are
++ -8, -4, and 4, which we try to produce here. */
++ low = ((val & 0xf) ^ 0x8) - 0x8;
++ }
++ else if (GET_MODE_SIZE (mode) < 8)
++ {
++ /* NEON element load/stores do not have an offset. */
++ if (TARGET_NEON_FP16 && mode == HFmode)
++ return false;
++
++ if (TARGET_THUMB2)
++ {
++ /* Thumb-2 has an asymmetrical index range of (-256,4096).
++ Try the wider 12-bit range first, and re-try if the result
++ is out of range. */
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 12);
++ if (low < -255)
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 8);
++ }
++ else
++ {
++ if (mode == HImode || mode == HFmode)
++ {
++ if (arm_arch4)
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 8);
++ else
++ {
++ /* The storehi/movhi_bytes fallbacks can use only
++ [-4094,+4094] of the full ldrb/strb index range. */
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 12);
++ if (low == 4095 || low == -4095)
++ return false;
++ }
++ }
++ else
++ low = SIGN_MAG_LOW_ADDR_BITS (val, 12);
++ }
++ }
+ else
+ return false;
+
+@@ -15415,7 +15518,10 @@
+ offsets->soft_frame = offsets->saved_regs + CALLER_INTERWORKING_SLOT_SIZE;
+ /* A leaf function does not need any stack alignment if it has nothing
+ on the stack. */
+- if (leaf && frame_size == 0)
++ if (leaf && frame_size == 0
++ /* However if it calls alloca(), we have a dynamically allocated
++ block of BIGGEST_ALIGNMENT on stack, so still do stack alignment. */
++ && ! cfun->calls_alloca)
+ {
+ offsets->outgoing_args = offsets->soft_frame;
+ offsets->locals_base = offsets->soft_frame;
+Index: gcc-4_6-branch/gcc/config/arm/arm.h
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config/arm/arm.h 2011-10-17 17:45:41.910551858 -0700
++++ gcc-4_6-branch/gcc/config/arm/arm.h 2011-10-17 17:48:35.447412371 -0700
+@@ -2041,7 +2041,8 @@
+ /* Try to generate sequences that don't involve branches, we can then use
+ conditional instructions */
+ #define BRANCH_COST(speed_p, predictable_p) \
+- (TARGET_32BIT ? 4 : (optimize > 0 ? 2 : 0))
++ (TARGET_32BIT ? (TARGET_THUMB2 && !speed_p ? 1 : 4) \
++ : (optimize > 0 ? 2 : 0))
+ \f
+ /* Position Independent Code. */
+ /* We decide which register to use based on the compilation options and
+Index: gcc-4_6-branch/gcc/config/arm/arm.md
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config/arm/arm.md 2011-10-17 17:46:11.002696119 -0700
++++ gcc-4_6-branch/gcc/config/arm/arm.md 2011-10-17 17:46:11.202697111 -0700
+@@ -6187,7 +6187,7 @@
+ [(match_operand:DF 0 "arm_reload_memory_operand" "=o")
+ (match_operand:DF 1 "s_register_operand" "r")
+ (match_operand:SI 2 "s_register_operand" "=&r")]
+- "TARGET_32BIT"
++ "TARGET_THUMB2"
+ "
+ {
+ enum rtx_code code = GET_CODE (XEXP (operands[0], 0));
+@@ -8359,7 +8359,8 @@
+ rtx reg = gen_reg_rtx (SImode);
+
+ emit_insn (gen_addsi3 (reg, operands[0],
+- GEN_INT (-INTVAL (operands[1]))));
++ gen_int_mode (-INTVAL (operands[1]),
++ SImode)));
+ operands[0] = reg;
+ }
+
+Index: gcc-4_6-branch/gcc/config/arm/unwind-arm.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config/arm/unwind-arm.c 2011-10-17 17:45:41.390549278 -0700
++++ gcc-4_6-branch/gcc/config/arm/unwind-arm.c 2011-10-17 17:46:11.000000000 -0700
+@@ -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++;
+Index: gcc-4_6-branch/gcc/fold-const.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/fold-const.c 2011-10-17 17:45:32.050502963 -0700
++++ gcc-4_6-branch/gcc/fold-const.c 2011-10-17 17:46:11.178696990 -0700
+@@ -13788,7 +13788,8 @@
+ if (TREE_CODE_CLASS (code) != tcc_type
+ && TREE_CODE_CLASS (code) != tcc_declaration
+ && code != TREE_LIST
+- && code != SSA_NAME)
++ && code != SSA_NAME
++ && CODE_CONTAINS_STRUCT (code, TS_COMMON))
+ fold_checksum_tree (TREE_CHAIN (expr), ctx, ht);
+ switch (TREE_CODE_CLASS (code))
+ {
+Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr40887.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr40887.c 2011-06-24 08:13:47.000000000 -0700
++++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr40887.c 2011-10-17 17:46:11.182697014 -0700
+@@ -1,5 +1,6 @@
+ /* { dg-options "-O2 -march=armv5te" } */
+ /* { dg-final { scan-assembler "blx" } } */
++/* { dg-prune-output "switch .* conflicts with" } */
+
+ int (*indirect_func)();
+
+Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr42575.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr42575.c 2011-06-24 08:13:47.000000000 -0700
++++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr42575.c 2011-10-17 17:46:11.182697014 -0700
+@@ -1,4 +1,4 @@
+-/* { dg-options "-O2 -march=armv7-a" } */
++/* { dg-options "-O2" } */
+ /* Make sure RA does good job allocating registers and avoids
+ unnecessary moves. */
+ /* { dg-final { scan-assembler-not "mov" } } */
+Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr43698.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr43698.c 2011-06-24 08:13:47.000000000 -0700
++++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr43698.c 2011-10-17 17:46:11.182697014 -0700
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-Os -march=armv7-a" } */
++/* { dg-options "-Os" } */
+ #include <stdint.h>
+ #include <stdlib.h>
+
+Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr44788.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr44788.c 2011-06-24 08:13:47.000000000 -0700
++++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr44788.c 2011-10-17 17:46:11.182697014 -0700
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_thumb2_ok } */
+-/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -march=armv7-a -mfpu=vfp3 -mfloat-abi=softfp" } */
++/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -mfpu=vfp3 -mfloat-abi=softfp" } */
+
+ void joint_decode(float* mlt_buffer1, int t) {
+ int i;
+Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/sync-1.c
+===================================================================
+--- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/sync-1.c 2011-06-24 08:13:47.000000000 -0700
++++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/sync-1.c 2011-10-17 17:46:11.182697014 -0700
+@@ -1,5 +1,6 @@
+-/* { dg-do run } */
+-/* { dg-options "-O2 -march=armv7-a" } */
++
++/* { dg-do run { target sync_int_long } } */
++/* { dg-options "-O2" } */
+
+ volatile int mem;
+
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] gcc-4.6: Backport PR46934 fix
2011-10-18 1:39 ` [PATCH 3/3] gcc-4.6: Backport PR46934 fix Khem Raj
@ 2011-10-18 7:54 ` Martin Jansa
2011-10-18 14:18 ` Koen Kooi
1 sibling, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2011-10-18 7:54 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 651 bytes --]
On Mon, Oct 17, 2011 at 06:39:27PM -0700, Khem Raj wrote:
> We have been hitting this issue on ARM/thumb and
> have a workaround in place to compile samba
> http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
> This backport should fix the gcc bug
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
I can confirm that samba build with this works again (without forcing
ARM mode), I'm going to run more build tests with it but for now:
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
(holds also for 2/3)
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] gcc-4.6: Backport PR46934 fix
2011-10-18 1:39 ` [PATCH 3/3] gcc-4.6: Backport PR46934 fix Khem Raj
2011-10-18 7:54 ` Martin Jansa
@ 2011-10-18 14:18 ` Koen Kooi
2011-10-18 16:47 ` Saul Wold
1 sibling, 1 reply; 9+ messages in thread
From: Koen Kooi @ 2011-10-18 14:18 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
Op 18 okt. 2011, om 03:39 heeft Khem Raj het volgende geschreven:
> We have been hitting this issue on ARM/thumb and
> have a workaround in place to compile samba
> http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
> This backport should fix the gcc bug
Can I have a rough ETA when this is going into master? There are meta-oe patches depending on this. No rush, this is just to order my patch queue more intelligently :)
regards,
Koen
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] gcc-4.6: Backport PR46934 fix
2011-10-18 14:18 ` Koen Kooi
@ 2011-10-18 16:47 ` Saul Wold
2011-10-18 16:54 ` Koen Kooi
0 siblings, 1 reply; 9+ messages in thread
From: Saul Wold @ 2011-10-18 16:47 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer; +Cc: Koen Kooi
On 10/18/2011 07:18 AM, Koen Kooi wrote:
>
> Op 18 okt. 2011, om 03:39 heeft Khem Raj het volgende geschreven:
>
>> We have been hitting this issue on ARM/thumb and
>> have a workaround in place to compile samba
>> http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
>> This backport should fix the gcc bug
>
> Can I have a rough ETA when this is going into master? There are meta-oe patches depending on this. No rush, this is just to order my patch queue more intelligently :)
>
Koen,
We are working on it, I am doing builds with these changes to day and
will submit a consolidated pull for tonight and if all goes well RP will
pull tomorrow.
Sau!
> regards,
>
> Koen
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] gcc-4.6: Backport PR46934 fix
2011-10-18 16:47 ` Saul Wold
@ 2011-10-18 16:54 ` Koen Kooi
0 siblings, 0 replies; 9+ messages in thread
From: Koen Kooi @ 2011-10-18 16:54 UTC (permalink / raw)
To: Saul Wold; +Cc: Patches and discussions about the oe-core layer
Op 18 okt. 2011, om 18:47 heeft Saul Wold het volgende geschreven:
> On 10/18/2011 07:18 AM, Koen Kooi wrote:
>>
>> Op 18 okt. 2011, om 03:39 heeft Khem Raj het volgende geschreven:
>>
>>> We have been hitting this issue on ARM/thumb and
>>> have a workaround in place to compile samba
>>> http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
>>> This backport should fix the gcc bug
>>
>> Can I have a rough ETA when this is going into master? There are meta-oe patches depending on this. No rush, this is just to order my patch queue more intelligently :)
>>
> Koen,
>
> We are working on it, I am doing builds with these changes to day and will submit a consolidated pull for tonight and if all goes well RP will pull tomorrow.
Thanks! I'll check again after tomorrow :)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/3] gcc update and bug fix
2011-10-18 1:38 [PATCH 0/3] gcc update and bug fix Khem Raj
` (2 preceding siblings ...)
2011-10-18 1:39 ` [PATCH 3/3] gcc-4.6: Backport PR46934 fix Khem Raj
@ 2011-10-20 17:19 ` Saul Wold
3 siblings, 0 replies; 9+ messages in thread
From: Saul Wold @ 2011-10-20 17:19 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On 10/17/2011 06:38 PM, Khem Raj wrote:
> This patchset does two things for gcc
> 1. Updates to latest from FSF gcc-4_6-branch
> 2. Backport the fix for PR46934
>
> The changes that come from FSF gcc are listed here
> http://sakrah.homelinux.org/files/gcc-4.6-ChangeLog-r180099_r180099.txt
>
> 3. Bluez4 needed glib.h therefore depend on glib-2.0
>
> The following changes since commit 8bc098475f58b60bfb24ec0fd338e49ac2387c50:
>
> gcc-4.6: Backport PR46934 fix (2011-10-17 18:00:29 -0700)
>
> are available in the git repository at:
> git://git.openembedded.org/openembedded-core-contrib kraj/gcc-update
> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-update
>
> Khem Raj (3):
> bluez4: Add glib-2.0 to DEPENDS
> gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
> gcc-4.6: Backport PR46934 fix
>
> meta/recipes-connectivity/bluez/bluez4.inc | 2 +-
> meta/recipes-connectivity/bluez/bluez4_4.96.bb | 2 +-
> meta/recipes-devtools/gcc/gcc-4.6.inc | 5 +-
> meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch | 392 +++++++++++++++++++++++
> 4 files changed, 397 insertions(+), 4 deletions(-)
> create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/pr46934.patch
>
Merged into OE-Core
Thanks
Sau!
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-10-20 17:25 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-18 1:38 [PATCH 0/3] gcc update and bug fix Khem Raj
2011-10-18 1:39 ` [PATCH 1/3] bluez4: Add glib-2.0 to DEPENDS Khem Raj
2011-10-18 1:39 ` [PATCH 2/3] gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch Khem Raj
2011-10-18 1:39 ` [PATCH 3/3] gcc-4.6: Backport PR46934 fix Khem Raj
2011-10-18 7:54 ` Martin Jansa
2011-10-18 14:18 ` Koen Kooi
2011-10-18 16:47 ` Saul Wold
2011-10-18 16:54 ` Koen Kooi
2011-10-20 17:19 ` [PATCH 0/3] gcc update and bug fix Saul Wold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox