From 416eb291985c1e04cddd1dacc6d3111f4cb02f5f Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sat, 9 Oct 2010 22:49:28 +0200 Subject: 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" 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 -- cgit v0.10.2-6-g49f6