summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-10-09 20:49:28 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-10-09 20:49:28 (GMT)
commit416eb291985c1e04cddd1dacc6d3111f4cb02f5f (patch)
tree6b269996c20725a0d25e433323d44658f40e3aad
parent8b0af28c69b5c6ad83f30fb4324630a383df7c72 (diff)
cc/gcc: add option to enable 128-bit long doubles
Needed by some PPC targets, at least. Requires gcc 4.2+ (noticed by Arnaud LACOMBE). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--config/cc/gcc.in.213
-rw-r--r--scripts/build/cc/gcc.sh12
2 files changed, 25 insertions, 0 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index 1b4926b..c0434a7 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -105,3 +105,16 @@ config CC_GCC_LIBMUDFLAP
re-compilation and re-link, while it exists better run-time
alternatives (eg. DUMA, dmalloc...) that need neither re-
compilation nor re-link.
+
+config CC_GCC_LDBL_128
+ tristate
+ prompt "Enable 128-bit long doubles"
+ default m
+ depends on CC_GCC_4_2_or_later
+ help
+ Saying 'Y' will force gcc to use 128-bit wide long doubles
+ Saying 'N' will force gcc to use 64-bit wide long doubles
+ Saying 'M' will let gcc choose (default is 128-bit for
+ glibc >= 2.4, 64-bit otherwise)
+
+ If in doubt, keep the default, ie. 'M'.
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index a30a3d4..4e6a377 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -191,6 +191,12 @@ do_cc_core() {
extra_config+=("--enable-target-optspace")
fi
+ case "${CT_CC_GCC_LDBL_128}" in
+ Y) extra_config+=("--with-long-double-128");;
+ M) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
@@ -420,6 +426,12 @@ do_cc() {
extra_config+=("--disable-libstdcxx-pch")
fi
+ case "${CT_CC_GCC_LDBL_128}" in
+ Y) extra_config+=("--with-long-double-128");;
+ M) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
# --enable-symvers=gnu really only needed for sh4 to work around a