summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Walle <walle@corscience.de>2011-08-15 10:27:47 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2011-08-15 13:32:42 +0200
commitadc0b71ba420e2863fca43e255d9eb4a22538115 (patch)
tree65bb59b69524ec6074c670295d1fb308c1809b11
parent955f311c74ac12c3eee97da0ecc6e05b78b9e9c1 (diff)
downloadOSELAS.Toolchain-adc0b71ba420e2863fca43e255d9eb4a22538115.tar.gz
OSELAS.Toolchain-adc0b71ba420e2863fca43e255d9eb4a22538115.tar.xz
gcc-4.5.2: Fix ICE on ARM
This patch fixes an ICE when compiling a kernel for ARM. It's from upstream gcc SVN, so it should be safe. Signed-off-by: Bernhard Walle <walle@corscience.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> (cherry picked from commit 68dc5f51f8644c624805d2270f1c5321396c7aad) Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--patches/gcc-4.5.2/0016-Fix-ICE-on-ARM.patch51
-rw-r--r--patches/gcc-4.5.2/series1
2 files changed, 52 insertions, 0 deletions
diff --git a/patches/gcc-4.5.2/0016-Fix-ICE-on-ARM.patch b/patches/gcc-4.5.2/0016-Fix-ICE-on-ARM.patch
new file mode 100644
index 0000000..191b61a
--- /dev/null
+++ b/patches/gcc-4.5.2/0016-Fix-ICE-on-ARM.patch
@@ -0,0 +1,51 @@
+From: Bernhard Walle <walle@corscience.de>
+Date: Wed, 11 May 2011 16:26:14 +0200
+Subject: [PATCH] Fix ICE on ARM
+
+Upstream Bug URL: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45447
+
+svn log -c 168270 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch/
+
+r168270 | qiyao | 2010-12-27 13:45:02 +0100 (Mo, 27. Dez 2010) | 10 Zeilen
+
+Backport from mainline:
+gcc/
+ PR target/45447
+ * config/arm/arm.c (arm_build_builtin_va_list): Assign
+ va_list_name to TYPE_STUB_DECL (va_list_type).
+
+gcc/testsuite/
+ PR target/45447
+ * gcc.target/arm/pr45447.c: New test.
+
+Signed-off-by: Bernhard Walle <walle@corscience.de>
+---
+ gcc/config/arm/arm.c | 1 +
+ gcc/testsuite/gcc.target/arm/pr45447.c | 3 +++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/arm/pr45447.c
+
+diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
+index c65f59e..144cf79 100644
+--- a/gcc/config/arm/arm.c
++++ b/gcc/config/arm/arm.c
+@@ -1114,6 +1114,7 @@ arm_build_builtin_va_list (void)
+ va_list_type);
+ DECL_ARTIFICIAL (va_list_name) = 1;
+ TYPE_NAME (va_list_type) = va_list_name;
++ TYPE_STUB_DECL (va_list_type) = va_list_name;
+ /* Create the __ap field. */
+ ap_field = build_decl (BUILTINS_LOCATION,
+ FIELD_DECL,
+diff --git a/gcc/testsuite/gcc.target/arm/pr45447.c b/gcc/testsuite/gcc.target/arm/pr45447.c
+new file mode 100644
+index 0000000..cb4a442
+--- /dev/null
++++ b/gcc/testsuite/gcc.target/arm/pr45447.c
+@@ -0,0 +1,3 @@
++/* { dg-do compile } */
++/* { dg-options "-g -femit-struct-debug-baseonly" } */
++typedef __builtin_va_list x;
+--
+1.7.5.1
+
diff --git a/patches/gcc-4.5.2/series b/patches/gcc-4.5.2/series
index 26780a4..ea6ad6b 100644
--- a/patches/gcc-4.5.2/series
+++ b/patches/gcc-4.5.2/series
@@ -22,3 +22,4 @@
# from upstream
0015-Fix-libjava-cross-build-issue.patch
+0016-Fix-ICE-on-ARM.patch