From f1b1a101f82df99c767f5f076dee0c03905d7be4 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 18 Oct 2015 10:23:32 +0200 Subject: alpha: build toolchain w/o 128bit long double, add uClibc-ng config --- toolchain/gcc/Makefile | 4 + .../patches/4.9.3/uclibc-cmath-long-double.patch | 434 +++++++++++++++++++++ toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc | 434 --------------------- 3 files changed, 438 insertions(+), 434 deletions(-) create mode 100644 toolchain/gcc/patches/4.9.3/uclibc-cmath-long-double.patch delete mode 100644 toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc (limited to 'toolchain') diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index 6c4b0e2e2..ad2680616 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -165,6 +165,10 @@ GCC_FINAL_CONFOPTS+= --disable-biarch --disable-multilib endif endif +ifeq ($(ADK_TARGET_ARCH_ALPHA),y) +GCC_CONFOPTS+= --without-long-double-128 +endif + ifeq ($(ADK_TARGET_ARCH_PPC),y) GCC_CONFOPTS+= --with-long-double-64 --enable-secureplt endif diff --git a/toolchain/gcc/patches/4.9.3/uclibc-cmath-long-double.patch b/toolchain/gcc/patches/4.9.3/uclibc-cmath-long-double.patch new file mode 100644 index 000000000..9ea5dc38f --- /dev/null +++ b/toolchain/gcc/patches/4.9.3/uclibc-cmath-long-double.patch @@ -0,0 +1,434 @@ +diff -Nur gcc-4.9.2.orig/libstdc++-v3/include/c_global/cmath gcc-4.9.2/libstdc++-v3/include/c_global/cmath +--- gcc-4.9.2.orig/libstdc++-v3/include/c_global/cmath 2014-01-02 16:30:10.000000000 -0600 ++++ gcc-4.9.2/libstdc++-v3/include/c_global/cmath 2015-06-02 20:29:58.615890169 -0500 +@@ -1041,143 +1041,213 @@ + // functions + using ::acosh; + using ::acoshf; ++#ifdef __LONG_DOUBLE_128__ + using ::acoshl; ++#endif + + using ::asinh; + using ::asinhf; ++#ifdef __LONG_DOUBLE_128__ + using ::asinhl; ++#endif + + using ::atanh; + using ::atanhf; ++#ifdef __LONG_DOUBLE_128__ + using ::atanhl; ++#endif + + using ::cbrt; + using ::cbrtf; ++#ifdef __LONG_DOUBLE_128__ + using ::cbrtl; ++#endif + + using ::copysign; + using ::copysignf; ++#ifdef __LONG_DOUBLE_128__ + using ::copysignl; ++#endif + + using ::erf; + using ::erff; ++#ifdef __LONG_DOUBLE_128__ + using ::erfl; ++#endif + + using ::erfc; + using ::erfcf; ++#ifdef __LONG_DOUBLE_128__ + using ::erfcl; ++#endif + + using ::exp2; + using ::exp2f; ++#ifdef __LONG_DOUBLE_128__ + using ::exp2l; ++#endif + + using ::expm1; + using ::expm1f; ++#ifdef __LONG_DOUBLE_128__ + using ::expm1l; ++#endif + + using ::fdim; + using ::fdimf; ++#ifdef __LONG_DOUBLE_128__ + using ::fdiml; ++#endif + + using ::fma; + using ::fmaf; ++#ifdef __LONG_DOUBLE_128__ + using ::fmal; ++#endif + + using ::fmax; + using ::fmaxf; ++#ifdef __LONG_DOUBLE_128__ + using ::fmaxl; ++#endif + + using ::fmin; + using ::fminf; ++#ifdef __LONG_DOUBLE_128__ + using ::fminl; ++#endif + + using ::hypot; + using ::hypotf; ++#ifdef __LONG_DOUBLE_128__ + using ::hypotl; ++#endif + + using ::ilogb; + using ::ilogbf; ++#ifdef __LONG_DOUBLE_128__ + using ::ilogbl; ++#endif + + using ::lgamma; + using ::lgammaf; ++#ifdef __LONG_DOUBLE_128__ + using ::lgammal; ++#endif + + using ::llrint; + using ::llrintf; ++#ifdef __LONG_DOUBLE_128__ + using ::llrintl; ++#endif + + using ::llround; + using ::llroundf; ++#ifdef __LONG_DOUBLE_128__ + using ::llroundl; ++#endif + + using ::log1p; + using ::log1pf; ++#ifdef __LONG_DOUBLE_128__ + using ::log1pl; ++#endif + + using ::log2; + using ::log2f; ++#ifdef __LONG_DOUBLE_128__ + using ::log2l; ++#endif + + using ::logb; + using ::logbf; ++#ifdef __LONG_DOUBLE_128__ + using ::logbl; ++#endif + + using ::lrint; + using ::lrintf; ++#ifdef __LONG_DOUBLE_128__ + using ::lrintl; ++#endif + + using ::lround; + using ::lroundf; ++#ifdef __LONG_DOUBLE_128__ + using ::lroundl; ++#endif + + using ::nan; + using ::nanf; ++#ifdef __LONG_DOUBLE_128__ + using ::nanl; ++#endif + + using ::nearbyint; + using ::nearbyintf; ++#ifdef __LONG_DOUBLE_128__ + using ::nearbyintl; ++#endif + + using ::nextafter; + using ::nextafterf; ++#ifdef __LONG_DOUBLE_128__ + using ::nextafterl; ++#endif + + using ::nexttoward; + using ::nexttowardf; ++#ifdef __LONG_DOUBLE_128__ + using ::nexttowardl; ++#endif + + using ::remainder; + using ::remainderf; ++#ifdef __LONG_DOUBLE_128__ + using ::remainderl; ++#endif + + using ::remquo; + using ::remquof; ++#ifdef __LONG_DOUBLE_128__ + using ::remquol; ++#endif + + using ::rint; + using ::rintf; ++#ifdef __LONG_DOUBLE_128__ + using ::rintl; ++#endif + + using ::round; + using ::roundf; ++#ifdef __LONG_DOUBLE_128__ + using ::roundl; ++#endif + + using ::scalbln; + using ::scalblnf; ++#ifdef __LONG_DOUBLE_128__ + using ::scalblnl; ++#endif + + using ::scalbn; + using ::scalbnf; ++#ifdef __LONG_DOUBLE_128__ + using ::scalbnl; ++#endif + + using ::tgamma; + using ::tgammaf; ++#ifdef __LONG_DOUBLE_128__ + using ::tgammal; ++#endif + + using ::trunc; + using ::truncf; ++#ifdef __LONG_DOUBLE_128__ + using ::truncl; ++#endif + + /// Additional overloads. + constexpr float +diff -Nur gcc-4.9.2.orig/libstdc++-v3/include/tr1/cmath gcc-4.9.2/libstdc++-v3/include/tr1/cmath +--- gcc-4.9.2.orig/libstdc++-v3/include/tr1/cmath 2014-01-02 16:30:10.000000000 -0600 ++++ gcc-4.9.2/libstdc++-v3/include/tr1/cmath 2015-06-02 20:29:58.619890102 -0500 +@@ -158,143 +158,213 @@ + // functions + using ::acosh; + using ::acoshf; ++#ifdef __LONG_DOUBLE_128__ + using ::acoshl; ++#endif + + using ::asinh; + using ::asinhf; ++#ifdef __LONG_DOUBLE_128__ + using ::asinhl; ++#endif + + using ::atanh; + using ::atanhf; ++#ifdef __LONG_DOUBLE_128__ + using ::atanhl; ++#endif + + using ::cbrt; + using ::cbrtf; ++#ifdef __LONG_DOUBLE_128__ + using ::cbrtl; ++#endif + + using ::copysign; + using ::copysignf; ++#ifdef __LONG_DOUBLE_128__ + using ::copysignl; ++#endif + + using ::erf; + using ::erff; ++#ifdef __LONG_DOUBLE_128__ + using ::erfl; ++#endif + + using ::erfc; + using ::erfcf; ++#ifdef __LONG_DOUBLE_128__ + using ::erfcl; ++#endif + + using ::exp2; + using ::exp2f; ++#ifdef __LONG_DOUBLE_128__ + using ::exp2l; ++#endif + + using ::expm1; + using ::expm1f; ++#ifdef __LONG_DOUBLE_128__ + using ::expm1l; ++#endif + + using ::fdim; + using ::fdimf; ++#ifdef __LONG_DOUBLE_128__ + using ::fdiml; ++#endif + + using ::fma; + using ::fmaf; ++#ifdef __LONG_DOUBLE_128__ + using ::fmal; ++#endif + + using ::fmax; + using ::fmaxf; ++#ifdef __LONG_DOUBLE_128__ + using ::fmaxl; ++#endif + + using ::fmin; + using ::fminf; ++#ifdef __LONG_DOUBLE_128__ + using ::fminl; ++#endif + + using ::hypot; + using ::hypotf; ++#ifdef __LONG_DOUBLE_128__ + using ::hypotl; ++#endif + + using ::ilogb; + using ::ilogbf; ++#ifdef __LONG_DOUBLE_128__ + using ::ilogbl; ++#endif + + using ::lgamma; + using ::lgammaf; ++#ifdef __LONG_DOUBLE_128__ + using ::lgammal; ++#endif + + using ::llrint; + using ::llrintf; ++#ifdef __LONG_DOUBLE_128__ + using ::llrintl; ++#endif + + using ::llround; + using ::llroundf; ++#ifdef __LONG_DOUBLE_128__ + using ::llroundl; ++#endif + + using ::log1p; + using ::log1pf; ++#ifdef __LONG_DOUBLE_128__ + using ::log1pl; ++#endif + + using ::log2; + using ::log2f; ++#ifdef __LONG_DOUBLE_128__ + using ::log2l; ++#endif + + using ::logb; + using ::logbf; ++#ifdef __LONG_DOUBLE_128__ + using ::logbl; ++#endif + + using ::lrint; + using ::lrintf; ++#ifdef __LONG_DOUBLE_128__ + using ::lrintl; ++#endif + + using ::lround; + using ::lroundf; ++#ifdef __LONG_DOUBLE_128__ + using ::lroundl; ++#endif + + using ::nan; + using ::nanf; ++#ifdef __LONG_DOUBLE_128__ + using ::nanl; ++#endif + + using ::nearbyint; + using ::nearbyintf; ++#ifdef __LONG_DOUBLE_128__ + using ::nearbyintl; ++#endif + + using ::nextafter; + using ::nextafterf; ++#ifdef __LONG_DOUBLE_128__ + using ::nextafterl; ++#endif + + using ::nexttoward; + using ::nexttowardf; ++#ifdef __LONG_DOUBLE_128__ + using ::nexttowardl; ++#endif + + using ::remainder; + using ::remainderf; ++#ifdef __LONG_DOUBLE_128__ + using ::remainderl; ++#endif + + using ::remquo; + using ::remquof; ++#ifdef __LONG_DOUBLE_128__ + using ::remquol; ++#endif + + using ::rint; + using ::rintf; ++#ifdef __LONG_DOUBLE_128__ + using ::rintl; ++#endif + + using ::round; + using ::roundf; ++#ifdef __LONG_DOUBLE_128__ + using ::roundl; ++#endif + + using ::scalbln; + using ::scalblnf; ++#ifdef __LONG_DOUBLE_128__ + using ::scalblnl; ++#endif + + using ::scalbn; + using ::scalbnf; ++#ifdef __LONG_DOUBLE_128__ + using ::scalbnl; ++#endif + + using ::tgamma; + using ::tgammaf; ++#ifdef __LONG_DOUBLE_128__ + using ::tgammal; ++#endif + + using ::trunc; + using ::truncf; ++#ifdef __LONG_DOUBLE_128__ + using ::truncl; ++#endif + + #endif + diff --git a/toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc b/toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc deleted file mode 100644 index 9ea5dc38f..000000000 --- a/toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc +++ /dev/null @@ -1,434 +0,0 @@ -diff -Nur gcc-4.9.2.orig/libstdc++-v3/include/c_global/cmath gcc-4.9.2/libstdc++-v3/include/c_global/cmath ---- gcc-4.9.2.orig/libstdc++-v3/include/c_global/cmath 2014-01-02 16:30:10.000000000 -0600 -+++ gcc-4.9.2/libstdc++-v3/include/c_global/cmath 2015-06-02 20:29:58.615890169 -0500 -@@ -1041,143 +1041,213 @@ - // functions - using ::acosh; - using ::acoshf; -+#ifdef __LONG_DOUBLE_128__ - using ::acoshl; -+#endif - - using ::asinh; - using ::asinhf; -+#ifdef __LONG_DOUBLE_128__ - using ::asinhl; -+#endif - - using ::atanh; - using ::atanhf; -+#ifdef __LONG_DOUBLE_128__ - using ::atanhl; -+#endif - - using ::cbrt; - using ::cbrtf; -+#ifdef __LONG_DOUBLE_128__ - using ::cbrtl; -+#endif - - using ::copysign; - using ::copysignf; -+#ifdef __LONG_DOUBLE_128__ - using ::copysignl; -+#endif - - using ::erf; - using ::erff; -+#ifdef __LONG_DOUBLE_128__ - using ::erfl; -+#endif - - using ::erfc; - using ::erfcf; -+#ifdef __LONG_DOUBLE_128__ - using ::erfcl; -+#endif - - using ::exp2; - using ::exp2f; -+#ifdef __LONG_DOUBLE_128__ - using ::exp2l; -+#endif - - using ::expm1; - using ::expm1f; -+#ifdef __LONG_DOUBLE_128__ - using ::expm1l; -+#endif - - using ::fdim; - using ::fdimf; -+#ifdef __LONG_DOUBLE_128__ - using ::fdiml; -+#endif - - using ::fma; - using ::fmaf; -+#ifdef __LONG_DOUBLE_128__ - using ::fmal; -+#endif - - using ::fmax; - using ::fmaxf; -+#ifdef __LONG_DOUBLE_128__ - using ::fmaxl; -+#endif - - using ::fmin; - using ::fminf; -+#ifdef __LONG_DOUBLE_128__ - using ::fminl; -+#endif - - using ::hypot; - using ::hypotf; -+#ifdef __LONG_DOUBLE_128__ - using ::hypotl; -+#endif - - using ::ilogb; - using ::ilogbf; -+#ifdef __LONG_DOUBLE_128__ - using ::ilogbl; -+#endif - - using ::lgamma; - using ::lgammaf; -+#ifdef __LONG_DOUBLE_128__ - using ::lgammal; -+#endif - - using ::llrint; - using ::llrintf; -+#ifdef __LONG_DOUBLE_128__ - using ::llrintl; -+#endif - - using ::llround; - using ::llroundf; -+#ifdef __LONG_DOUBLE_128__ - using ::llroundl; -+#endif - - using ::log1p; - using ::log1pf; -+#ifdef __LONG_DOUBLE_128__ - using ::log1pl; -+#endif - - using ::log2; - using ::log2f; -+#ifdef __LONG_DOUBLE_128__ - using ::log2l; -+#endif - - using ::logb; - using ::logbf; -+#ifdef __LONG_DOUBLE_128__ - using ::logbl; -+#endif - - using ::lrint; - using ::lrintf; -+#ifdef __LONG_DOUBLE_128__ - using ::lrintl; -+#endif - - using ::lround; - using ::lroundf; -+#ifdef __LONG_DOUBLE_128__ - using ::lroundl; -+#endif - - using ::nan; - using ::nanf; -+#ifdef __LONG_DOUBLE_128__ - using ::nanl; -+#endif - - using ::nearbyint; - using ::nearbyintf; -+#ifdef __LONG_DOUBLE_128__ - using ::nearbyintl; -+#endif - - using ::nextafter; - using ::nextafterf; -+#ifdef __LONG_DOUBLE_128__ - using ::nextafterl; -+#endif - - using ::nexttoward; - using ::nexttowardf; -+#ifdef __LONG_DOUBLE_128__ - using ::nexttowardl; -+#endif - - using ::remainder; - using ::remainderf; -+#ifdef __LONG_DOUBLE_128__ - using ::remainderl; -+#endif - - using ::remquo; - using ::remquof; -+#ifdef __LONG_DOUBLE_128__ - using ::remquol; -+#endif - - using ::rint; - using ::rintf; -+#ifdef __LONG_DOUBLE_128__ - using ::rintl; -+#endif - - using ::round; - using ::roundf; -+#ifdef __LONG_DOUBLE_128__ - using ::roundl; -+#endif - - using ::scalbln; - using ::scalblnf; -+#ifdef __LONG_DOUBLE_128__ - using ::scalblnl; -+#endif - - using ::scalbn; - using ::scalbnf; -+#ifdef __LONG_DOUBLE_128__ - using ::scalbnl; -+#endif - - using ::tgamma; - using ::tgammaf; -+#ifdef __LONG_DOUBLE_128__ - using ::tgammal; -+#endif - - using ::trunc; - using ::truncf; -+#ifdef __LONG_DOUBLE_128__ - using ::truncl; -+#endif - - /// Additional overloads. - constexpr float -diff -Nur gcc-4.9.2.orig/libstdc++-v3/include/tr1/cmath gcc-4.9.2/libstdc++-v3/include/tr1/cmath ---- gcc-4.9.2.orig/libstdc++-v3/include/tr1/cmath 2014-01-02 16:30:10.000000000 -0600 -+++ gcc-4.9.2/libstdc++-v3/include/tr1/cmath 2015-06-02 20:29:58.619890102 -0500 -@@ -158,143 +158,213 @@ - // functions - using ::acosh; - using ::acoshf; -+#ifdef __LONG_DOUBLE_128__ - using ::acoshl; -+#endif - - using ::asinh; - using ::asinhf; -+#ifdef __LONG_DOUBLE_128__ - using ::asinhl; -+#endif - - using ::atanh; - using ::atanhf; -+#ifdef __LONG_DOUBLE_128__ - using ::atanhl; -+#endif - - using ::cbrt; - using ::cbrtf; -+#ifdef __LONG_DOUBLE_128__ - using ::cbrtl; -+#endif - - using ::copysign; - using ::copysignf; -+#ifdef __LONG_DOUBLE_128__ - using ::copysignl; -+#endif - - using ::erf; - using ::erff; -+#ifdef __LONG_DOUBLE_128__ - using ::erfl; -+#endif - - using ::erfc; - using ::erfcf; -+#ifdef __LONG_DOUBLE_128__ - using ::erfcl; -+#endif - - using ::exp2; - using ::exp2f; -+#ifdef __LONG_DOUBLE_128__ - using ::exp2l; -+#endif - - using ::expm1; - using ::expm1f; -+#ifdef __LONG_DOUBLE_128__ - using ::expm1l; -+#endif - - using ::fdim; - using ::fdimf; -+#ifdef __LONG_DOUBLE_128__ - using ::fdiml; -+#endif - - using ::fma; - using ::fmaf; -+#ifdef __LONG_DOUBLE_128__ - using ::fmal; -+#endif - - using ::fmax; - using ::fmaxf; -+#ifdef __LONG_DOUBLE_128__ - using ::fmaxl; -+#endif - - using ::fmin; - using ::fminf; -+#ifdef __LONG_DOUBLE_128__ - using ::fminl; -+#endif - - using ::hypot; - using ::hypotf; -+#ifdef __LONG_DOUBLE_128__ - using ::hypotl; -+#endif - - using ::ilogb; - using ::ilogbf; -+#ifdef __LONG_DOUBLE_128__ - using ::ilogbl; -+#endif - - using ::lgamma; - using ::lgammaf; -+#ifdef __LONG_DOUBLE_128__ - using ::lgammal; -+#endif - - using ::llrint; - using ::llrintf; -+#ifdef __LONG_DOUBLE_128__ - using ::llrintl; -+#endif - - using ::llround; - using ::llroundf; -+#ifdef __LONG_DOUBLE_128__ - using ::llroundl; -+#endif - - using ::log1p; - using ::log1pf; -+#ifdef __LONG_DOUBLE_128__ - using ::log1pl; -+#endif - - using ::log2; - using ::log2f; -+#ifdef __LONG_DOUBLE_128__ - using ::log2l; -+#endif - - using ::logb; - using ::logbf; -+#ifdef __LONG_DOUBLE_128__ - using ::logbl; -+#endif - - using ::lrint; - using ::lrintf; -+#ifdef __LONG_DOUBLE_128__ - using ::lrintl; -+#endif - - using ::lround; - using ::lroundf; -+#ifdef __LONG_DOUBLE_128__ - using ::lroundl; -+#endif - - using ::nan; - using ::nanf; -+#ifdef __LONG_DOUBLE_128__ - using ::nanl; -+#endif - - using ::nearbyint; - using ::nearbyintf; -+#ifdef __LONG_DOUBLE_128__ - using ::nearbyintl; -+#endif - - using ::nextafter; - using ::nextafterf; -+#ifdef __LONG_DOUBLE_128__ - using ::nextafterl; -+#endif - - using ::nexttoward; - using ::nexttowardf; -+#ifdef __LONG_DOUBLE_128__ - using ::nexttowardl; -+#endif - - using ::remainder; - using ::remainderf; -+#ifdef __LONG_DOUBLE_128__ - using ::remainderl; -+#endif - - using ::remquo; - using ::remquof; -+#ifdef __LONG_DOUBLE_128__ - using ::remquol; -+#endif - - using ::rint; - using ::rintf; -+#ifdef __LONG_DOUBLE_128__ - using ::rintl; -+#endif - - using ::round; - using ::roundf; -+#ifdef __LONG_DOUBLE_128__ - using ::roundl; -+#endif - - using ::scalbln; - using ::scalblnf; -+#ifdef __LONG_DOUBLE_128__ - using ::scalblnl; -+#endif - - using ::scalbn; - using ::scalbnf; -+#ifdef __LONG_DOUBLE_128__ - using ::scalbnl; -+#endif - - using ::tgamma; - using ::tgammaf; -+#ifdef __LONG_DOUBLE_128__ - using ::tgammal; -+#endif - - using ::trunc; - using ::truncf; -+#ifdef __LONG_DOUBLE_128__ - using ::truncl; -+#endif - - #endif - -- cgit v1.2.3