summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2009-07-31 14:52:56 +0000
committerMichael Olbrich <m.olbrich@pengutronix.de>2009-07-31 14:52:56 +0000
commit8c674ff769eeeebea4e0bd46bd135f8707bdbf88 (patch)
treec059400a6e9bcfc3e5aa5f58218e9ed0d6f86991
parentf56a5ba995ce1e5114046d6048d75c1dcd27cf18 (diff)
downloadOSELAS.Toolchain-8c674ff769eeeebea4e0bd46bd135f8707bdbf88.tar.gz
[gcc] add patch to fix a compiler bug that resulted in bogus asm code for ARM.
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/branches/OSELAS.Toolchain-1.99.3-branch@12151 f8d472c7-5700-0410-ac5a-87979cec3adf
-rw-r--r--ChangeLog3
-rw-r--r--patches/gcc-4.3.2/generic/gcc-43-pr39429.diff24
-rw-r--r--patches/gcc-4.3.2/generic/series1
-rw-r--r--ptxconfigs/arm-v4t-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.18_kernel-2.6.27-sanitized.ptxconfig2
4 files changed, 29 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index bcfd1b7..f180abd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2009-07-31 Michael Olbrich <m.olbrich@pengutronix.de>
+ * add patch for gcc 4.3.2 fixing a bug that caused bad asm code.
+
2009-06-19 Marc Kleine-Budde <mkl@pengutronix.de>
* kernel: add patch that fixes getline problem with glibc > 2.10
(backport from current mainline kernel)
diff --git a/patches/gcc-4.3.2/generic/gcc-43-pr39429.diff b/patches/gcc-4.3.2/generic/gcc-43-pr39429.diff
new file mode 100644
index 0000000..4e1dc9e
--- /dev/null
+++ b/patches/gcc-4.3.2/generic/gcc-43-pr39429.diff
@@ -0,0 +1,24 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Subject: Fix: compiler create bad asm codes.
+
+See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429 for details.
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+
+---
+ gcc/config/arm/arm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: b/gcc/config/arm/arm.c
+===================================================================
+--- a/gcc/config/arm/arm.c
++++ b/gcc/config/arm/arm.c
+@@ -6838,7 +6838,7 @@ adjacent_mem_locations (rtx a, rtx b)
+ /* Don't accept any offset that will require multiple
+ instructions to handle, since this would cause the
+ arith_adjacentmem pattern to output an overlong sequence. */
+- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
++ if (!const_ok_for_op (val0, PLUS) || !const_ok_for_op (val1, PLUS))
+ return 0;
+
+ /* Don't allow an eliminable register: register elimination can make
diff --git a/patches/gcc-4.3.2/generic/series b/patches/gcc-4.3.2/generic/series
index 12d6d93..ad5792a 100644
--- a/patches/gcc-4.3.2/generic/series
+++ b/patches/gcc-4.3.2/generic/series
@@ -33,3 +33,4 @@ gentoo/62_all_gcc4-noteGNUstack.patch
gentoo/64_all_gcc43-pr34571.patch
gentoo/66_all_gcc43-pr25343.patch
gentoo/74_all_sh-pr24836.patch
+gcc-43-pr39429.diff
diff --git a/ptxconfigs/arm-v4t-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.18_kernel-2.6.27-sanitized.ptxconfig b/ptxconfigs/arm-v4t-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.18_kernel-2.6.27-sanitized.ptxconfig
index 8d24dce..f7b384f 100644
--- a/ptxconfigs/arm-v4t-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.18_kernel-2.6.27-sanitized.ptxconfig
+++ b/ptxconfigs/arm-v4t-linux-gnueabi_gcc-4.3.2_glibc-2.8_binutils-2.18_kernel-2.6.27-sanitized.ptxconfig
@@ -99,7 +99,7 @@ PTXCONF_HOST_MPFR=y
#
# misc
#
-PTXCONF_PREFIX="/opt"
+PTXCONF_PREFIX="${PTXDIST_WORKSPACE}/opt"
PTXCONF_PREFIX_KERNEL="-sanitized"
PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"