aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch128
1 files changed, 0 insertions, 128 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch
deleted file mode 100644
index 17839c03dc..0000000000
--- a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99425.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-2010-10-26 Jie Zhang <jie@codesourcery.com>
-
- Issue #1259
-
- Backport from mainline:
-
- gcc/
- 2010-10-26 Jie Zhang <jie@codesourcery.com>
-
- * stor-layout.c (layout_decl): Use the field's type to
- determine the mode and keep DECL_BIT_FIELD for a volatile
- bit-field.
- * config/arm/arm.c (arm_override_options): Default to
- -fstrict-volatile-bitfields.
-
- gcc/testsuite/
- 2010-10-26 Jie Zhang <jie@codesourcery.com>
-
- * gcc.target/arm/volatile-bitfields-1.c: New test.
- * gcc.target/arm/volatile-bitfields-2.c: New test.
- * gcc.target/arm/volatile-bitfields-3.c: New test.
-
-=== modified file 'gcc/config/arm/arm.c'
---- old/gcc/config/arm/arm.c 2010-11-04 10:45:05 +0000
-+++ new/gcc/config/arm/arm.c 2010-11-04 12:49:37 +0000
-@@ -1933,6 +1933,10 @@
- calculation, which is 2 instructions. */
- set_param_value ("gcse-unrestricted-cost", 2);
-
-+ /* ARM EABI defaults to strict volatile bitfields. */
-+ if (TARGET_AAPCS_BASED && flag_strict_volatile_bitfields < 0)
-+ flag_strict_volatile_bitfields = 1;
-+
- /* Register global variables with the garbage collector. */
- arm_add_gc_roots ();
-
-
-=== modified file 'gcc/stor-layout.c'
---- old/gcc/stor-layout.c 2010-04-02 18:54:46 +0000
-+++ new/gcc/stor-layout.c 2010-11-04 12:49:37 +0000
-@@ -593,11 +593,14 @@
- }
-
- /* See if we can use an ordinary integer mode for a bit-field.
-- Conditions are: a fixed size that is correct for another mode
-- and occupying a complete byte or bytes on proper boundary. */
-+ 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. */
- if (TYPE_SIZE (type) != 0
- && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
-- && GET_MODE_CLASS (TYPE_MODE (type)) == MODE_INT)
-+ && GET_MODE_CLASS (TYPE_MODE (type)) == MODE_INT
-+ && !(TREE_THIS_VOLATILE (decl)
-+ && flag_strict_volatile_bitfields > 0))
- {
- enum machine_mode xmode
- = mode_for_size_tree (DECL_SIZE (decl), MODE_INT, 1);
-
-=== added file 'gcc/testsuite/gcc.target/arm/volatile-bitfields-1.c'
---- old/gcc/testsuite/gcc.target/arm/volatile-bitfields-1.c 1970-01-01 00:00:00 +0000
-+++ new/gcc/testsuite/gcc.target/arm/volatile-bitfields-1.c 2010-11-04 12:49:37 +0000
-@@ -0,0 +1,18 @@
-+/* { dg-require-effective-target arm_eabi } */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef struct {
-+ char a:1;
-+ char b:7;
-+ int c;
-+} BitStruct;
-+
-+volatile BitStruct bits;
-+
-+int foo ()
-+{
-+ return bits.b;
-+}
-+
-+/* { dg-final { scan-assembler "ldrb\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" } } */
-
-=== added file 'gcc/testsuite/gcc.target/arm/volatile-bitfields-2.c'
---- old/gcc/testsuite/gcc.target/arm/volatile-bitfields-2.c 1970-01-01 00:00:00 +0000
-+++ new/gcc/testsuite/gcc.target/arm/volatile-bitfields-2.c 2010-11-04 12:49:37 +0000
-@@ -0,0 +1,18 @@
-+/* { dg-require-effective-target arm_eabi } */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef struct {
-+ volatile unsigned long a:8;
-+ volatile unsigned long b:8;
-+ volatile unsigned long c:16;
-+} BitStruct;
-+
-+BitStruct bits;
-+
-+unsigned long foo ()
-+{
-+ return bits.b;
-+}
-+
-+/* { dg-final { scan-assembler "ldr\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" } } */
-
-=== added file 'gcc/testsuite/gcc.target/arm/volatile-bitfields-3.c'
---- old/gcc/testsuite/gcc.target/arm/volatile-bitfields-3.c 1970-01-01 00:00:00 +0000
-+++ new/gcc/testsuite/gcc.target/arm/volatile-bitfields-3.c 2010-11-04 12:49:37 +0000
-@@ -0,0 +1,18 @@
-+/* { dg-require-effective-target arm_eabi } */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef struct {
-+ volatile unsigned long a:8;
-+ volatile unsigned long b:8;
-+ volatile unsigned long c:16;
-+} BitStruct;
-+
-+BitStruct bits;
-+
-+unsigned long foo ()
-+{
-+ return bits.c;
-+}
-+
-+/* { dg-final { scan-assembler "ldr\[\\t \]+\[^\n\]*,\[\\t \]*\\\[\[^\n\]*\\\]" } } */
-