# HG changeset patch # User "Yann E. MORIN" # Date 1286657368 -7200 # Node ID c7126e94e286008770aadc1dc7b81c28be8be13b # Parent 17e9137b962e7b6b36a8c82057d66564f79270f5 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 -r 17e9137b962e -r c7126e94e286 config/cc/gcc.in.2 --- a/config/cc/gcc.in.2 Fri Oct 08 23:51:38 2010 +0200 +++ b/config/cc/gcc.in.2 Sat Oct 09 22:49:28 2010 +0200 @@ -105,3 +105,16 @@ 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 -r 17e9137b962e -r c7126e94e286 scripts/build/cc/gcc.sh --- a/scripts/build/cc/gcc.sh Fri Oct 08 23:51:38 2010 +0200 +++ b/scripts/build/cc/gcc.sh Sat Oct 09 22:49:28 2010 +0200 @@ -191,6 +191,12 @@ 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 @@ 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