aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch183
1 files changed, 0 insertions, 183 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch
deleted file mode 100644
index 80eebeec0c..0000000000
--- a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99444.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
-
- Issue #10089
-
- gcc/
- * expr.c (store_field): Avoid a direct store if the mode is larger
- than the size of the bit field.
- * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
- treat non-volatile bit fields like volatile ones.
- * toplev.c (process_options): Disallow combination of
- -fstrict-volatile-bitfields and ABI versions less than 2.
- * config/arm/arm.c (arm_option_override): Don't enable
- flag_strict_volatile_bitfields if the ABI version is less than 2.
- * config/h8300/h8300.c (h8300_option_override): Likewise.
- * config/rx/rx.c (rx_option_override): Likewise.
- * config/m32c/m32c.c (m32c_option_override): Likewise.
- * config/sh/sh.c (sh_option_override): Likewise.
-
- gcc/testsuite/
- * gcc.target/arm/volatile-bitfields-4.c: New test.
- * c-c++-common/abi-bf.c: New test.
-
-=== modified file 'gcc/config/arm/arm.c'
---- old/gcc/config/arm/arm.c 2010-12-10 15:30:47 +0000
-+++ new/gcc/config/arm/arm.c 2010-12-10 15:34:19 +0000
-@@ -1934,7 +1934,8 @@
- set_param_value ("gcse-unrestricted-cost", 2);
-
- /* ARM EABI defaults to strict volatile bitfields. */
-- if (TARGET_AAPCS_BASED && flag_strict_volatile_bitfields < 0)
-+ if (TARGET_AAPCS_BASED && flag_strict_volatile_bitfields < 0
-+ && abi_version_at_least(2))
- flag_strict_volatile_bitfields = 1;
-
- /* Register global variables with the garbage collector. */
-
-=== modified file 'gcc/config/h8300/h8300.c'
---- old/gcc/config/h8300/h8300.c 2010-11-04 12:43:52 +0000
-+++ new/gcc/config/h8300/h8300.c 2010-12-10 15:34:19 +0000
-@@ -405,7 +405,7 @@
- }
-
- /* This target defaults to strict volatile bitfields. */
-- if (flag_strict_volatile_bitfields < 0)
-+ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2))
- flag_strict_volatile_bitfields = 1;
- }
-
-
-=== modified file 'gcc/config/m32c/m32c.c'
---- old/gcc/config/m32c/m32c.c 2010-11-04 12:43:52 +0000
-+++ new/gcc/config/m32c/m32c.c 2010-12-10 15:34:19 +0000
-@@ -430,7 +430,7 @@
- flag_ivopts = 0;
-
- /* This target defaults to strict volatile bitfields. */
-- if (flag_strict_volatile_bitfields < 0)
-+ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2))
- flag_strict_volatile_bitfields = 1;
- }
-
-
-=== modified file 'gcc/config/rx/rx.c'
---- old/gcc/config/rx/rx.c 2010-11-04 12:43:52 +0000
-+++ new/gcc/config/rx/rx.c 2010-12-10 15:34:19 +0000
-@@ -2191,7 +2191,7 @@
- rx_option_override (void)
- {
- /* This target defaults to strict volatile bitfields. */
-- if (flag_strict_volatile_bitfields < 0)
-+ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2))
- flag_strict_volatile_bitfields = 1;
- }
-
-
-=== modified file 'gcc/config/sh/sh.c'
---- old/gcc/config/sh/sh.c 2010-11-04 12:43:52 +0000
-+++ new/gcc/config/sh/sh.c 2010-12-10 15:34:19 +0000
-@@ -952,7 +952,7 @@
- sh_fix_range (sh_fixed_range_str);
-
- /* This target defaults to strict volatile bitfields. */
-- if (flag_strict_volatile_bitfields < 0)
-+ if (flag_strict_volatile_bitfields < 0 && abi_version_at_least(2))
- flag_strict_volatile_bitfields = 1;
- }
-
-
-=== modified file 'gcc/expr.c'
---- old/gcc/expr.c 2010-11-04 12:43:52 +0000
-+++ new/gcc/expr.c 2010-12-10 15:34:19 +0000
-@@ -5848,6 +5848,8 @@
- || bitpos % GET_MODE_ALIGNMENT (mode))
- && SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (target)))
- || (bitpos % BITS_PER_UNIT != 0)))
-+ || (bitsize >= 0 && mode != BLKmode
-+ && GET_MODE_BITSIZE (mode) > bitsize)
- /* If the RHS and field are a constant size and the size of the
- RHS isn't the same size as the bitfield, we must use bitfield
- operations. */
-
-=== modified file 'gcc/stor-layout.c'
---- old/gcc/stor-layout.c 2010-11-26 12:03:32 +0000
-+++ new/gcc/stor-layout.c 2010-12-10 15:34:19 +0000
-@@ -621,12 +621,13 @@
- /* See if we can use an ordinary integer mode for a bit-field.
- Conditions are: a fixed size that is correct for another mode,
- occupying a complete byte or bytes on proper boundary,
-- and not volatile or not -fstrict-volatile-bitfields. */
-+ and not -fstrict-volatile-bitfields. If the latter is set,
-+ we unfortunately can't check TREE_THIS_VOLATILE, as a cast
-+ may make a volatile object later. */
- if (TYPE_SIZE (type) != 0
- && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
- && GET_MODE_CLASS (TYPE_MODE (type)) == MODE_INT
-- && !(TREE_THIS_VOLATILE (decl)
-- && flag_strict_volatile_bitfields > 0))
-+ && flag_strict_volatile_bitfields <= 0)
- {
- enum machine_mode xmode
- = mode_for_size_tree (DECL_SIZE (decl), MODE_INT, 1);
-
-=== added file 'gcc/testsuite/c-c++-common/abi-bf.c'
---- old/gcc/testsuite/c-c++-common/abi-bf.c 1970-01-01 00:00:00 +0000
-+++ new/gcc/testsuite/c-c++-common/abi-bf.c 2010-12-10 15:34:19 +0000
-@@ -0,0 +1,3 @@
-+/* { dg-warning "incompatible" } */
-+/* { dg-do compile } */
-+/* { dg-options "-fstrict-volatile-bitfields -fabi-version=1" } */
-
-=== added file 'gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c'
---- old/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c 1970-01-01 00:00:00 +0000
-+++ new/gcc/testsuite/gcc.target/arm/volatile-bitfields-4.c 2010-12-10 15:34:19 +0000
-@@ -0,0 +1,30 @@
-+/* { dg-require-effective-target arm_eabi } */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+/* { dg-final { scan-assembler-times "ldr\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" 2 } } */
-+/* { dg-final { scan-assembler-times "str\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" 2 } } */
-+/* { dg-final { scan-assembler-not "strb" } } */
-+
-+struct thing {
-+ unsigned a: 8;
-+ unsigned b: 8;
-+ unsigned c: 8;
-+ unsigned d: 8;
-+};
-+
-+struct thing2 {
-+ volatile unsigned a: 8;
-+ volatile unsigned b: 8;
-+ volatile unsigned c: 8;
-+ volatile unsigned d: 8;
-+};
-+
-+void test1(volatile struct thing *t)
-+{
-+ t->a = 5;
-+}
-+
-+void test2(struct thing2 *t)
-+{
-+ t->a = 5;
-+}
-
-=== modified file 'gcc/toplev.c'
---- old/gcc/toplev.c 2010-03-31 01:44:10 +0000
-+++ new/gcc/toplev.c 2010-12-10 15:34:19 +0000
-@@ -1851,6 +1851,13 @@
- sorry ("Graphite loop optimizations cannot be used");
- #endif
-
-+ if (flag_strict_volatile_bitfields > 0 && !abi_version_at_least (2))
-+ {
-+ warning (0, "-fstrict-volatile-bitfield disabled; "
-+ "it is incompatible with ABI versions < 2");
-+ flag_strict_volatile_bitfields = 0;
-+ }
-+
- /* Unrolling all loops implies that standard loop unrolling must also
- be done. */
- if (flag_unroll_all_loops)
-