summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-07-04 13:09:25 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-07-04 13:09:25 +0000
commitef9e333b2ab325442baf2802de9745bc23b66b5d (patch)
treeed623d26d2ef1dac415f1a096d14d093c7660256
parent9641871c6706dfa922a70dba2d627ee2d3c8b39f (diff)
downloadgcc-49-ef9e333b2ab325442baf2802de9745bc23b66b5d.tar.gz
* Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.9@7492 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/sparc64-biarch-long-double-128.diff34
-rw-r--r--debian/rules.patch1
3 files changed, 41 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 4861b8e..dd2aef1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gcc-4.9 (4.9.0-10) UNRELEASED; urgency=medium
+
+ * Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
+
+ -- Matthias Klose <doko@debian.org> Fri, 04 Jul 2014 15:08:08 +0200
+
gcc-4.9 (4.9.0-9) unstable; urgency=medium
* Update to SVN 20140701 (r212192) from the gcc-4_9-branch.
diff --git a/debian/patches/sparc64-biarch-long-double-128.diff b/debian/patches/sparc64-biarch-long-double-128.diff
new file mode 100644
index 0000000..5173d1b
--- /dev/null
+++ b/debian/patches/sparc64-biarch-long-double-128.diff
@@ -0,0 +1,34 @@
+# DP: Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
+
+On sparc, the --with-long-double-128 option doesn't change anything for
+a 64-bit compiler, as it always default to 128-bit long doubles. For
+a 32/64-bit compiler defaulting to 32-bit this correctly control the
+size of long double of the 32-bit compiler, however for a 32/64-bit
+compiler defaulting to 64-bit, the built-in specs force the
+-mlong-double-64 option. This makes the option useless in this case.
+
+The patch below fixes that by removing the -mlong-double-64 from the
+built-in spec, using the default instead.
+
+Changelog gcc/
+
+2013-12-04 Aurelien Jarno <aurelien@aurel32.net>
+
+ * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
+ don't force -mlong-double-64 when -m32 or -mv8plus is given.
+
+--- a/src/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -162,9 +162,9 @@
+ #else
+ #define CC1_SPEC "%{profile:-p} \
+ %{m32:%{m64:%emay not use both -m32 and -m64}} \
+-%{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
++%{m32:-mptr32 -mno-stack-bias \
+ %{!mcpu*:-mcpu=cypress}} \
+-%{mv8plus:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
++%{mv8plus:-mptr32 -mno-stack-bias \
+ %{!mcpu*:-mcpu=v9}} \
+ %{!m32:%{!mcpu*:-mcpu=ultrasparc}} \
+ %{!mno-vis:%{!m32:%{!mcpu=v9:-mvis}}} \
+
diff --git a/debian/rules.patch b/debian/rules.patch
index 4221bd6..b3c3b27 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -85,6 +85,7 @@ debian_patches += \
pr61336 \
pr61126 \
gcc-setmultilib-fix \
+ sparc64-biarch-long-double-128 \
# FIXME: only needed for isl-0.13 for now
# isl-0.13-compat \