diff options
Diffstat (limited to 'toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch')
-rw-r--r-- | toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch | 474 |
1 files changed, 0 insertions, 474 deletions
diff --git a/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch b/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch deleted file mode 100644 index f3718431ea..0000000000 --- a/toolchain/uClibc/patches-0.9.30.1/150-c99_ldbl_math.patch +++ /dev/null @@ -1,474 +0,0 @@ -Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c -=================================================================== ---- uClibc-0.9.30.1/libm/ldouble_wrappers.c (revision 25552) -+++ uClibc-0.9.30.1/libm/ldouble_wrappers.c (working copy) -@@ -13,6 +13,16 @@ - #include "math.h" - #include <complex.h> - -+#if defined __NO_LONG_DOUBLE_MATH -+# define int_WRAPPER_C99(func) /* not needed */ -+# else -+# define int_WRAPPER_C99(func) \ -+int func##l(long double x) \ -+{ \ -+ return func((double) x); \ -+} \ -+libm_hidden_def(func##l) -+#endif - - /* Implement the following, as defined by SuSv3 */ - #if 0 -@@ -543,46 +553,28 @@ long double truncl (long double x) - #endif - - --#ifdef __DO_C99_MATH__ -+#if defined __DO_C99_MATH__ - - #ifdef L_fpclassifyl --int __fpclassifyl (long double x) --{ -- return __fpclassify ( (double) x ); --} --libm_hidden_def(__fpclassifyl) -+int_WRAPPER_C99(__fpclassify) - #endif - - #ifdef L_finitel --int __finitel (long double x) --{ -- return __finite ( (double)x ); --} --libm_hidden_def(__finitel) -+int_WRAPPER_C99(__finite) - #endif - - #ifdef L_signbitl --int __signbitl (long double x) --{ -- return __signbitl ( (double)x ); --} --libm_hidden_def(__signbitl) -+int_WRAPPER_C99(__signbit) - #endif - - #ifdef L_isnanl --int __isnanl (long double x) --{ -- return __isnan ( (double)x ); --} --libm_hidden_def(__isnanl) -+int_WRAPPER_C99(__isnan) - #endif - - #ifdef L_isinfl --int __isinfl (long double x) --{ -- return __isinf ( (double)x ); --} --libm_hidden_def(__isinfl) -+int_WRAPPER_C99(__isinf) - #endif - --#endif -+#endif /* DO_C99_MATH */ -+ -+#undef int_WRAPPER_C99 -Index: uClibc-0.9.30.1/libm/nan.c -=================================================================== ---- uClibc-0.9.30.1/libm/nan.c (revision 25552) -+++ uClibc-0.9.30.1/libm/nan.c (working copy) -@@ -45,7 +45,7 @@ float nanf (const char *tagp) - } - libm_hidden_def(nanf) - --#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH - libm_hidden_proto(nanl) - long double nanl (const char *tagp) - { -Index: uClibc-0.9.30.1/include/math.h -=================================================================== ---- uClibc-0.9.30.1/include/math.h (revision 25552) -+++ uClibc-0.9.30.1/include/math.h (working copy) -@@ -118,7 +118,7 @@ __BEGIN_DECLS - # undef __MATH_PRECNAME - - # if (__STDC__ - 0 || __GNUC__ - 0) \ -- && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT) -+ && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT) - # ifdef __LDBL_COMPAT - - # ifdef __USE_ISOC99 -@@ -230,7 +230,7 @@ enum - }; - - /* Return number of classification appropriate for X. */ --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define fpclassify(x) \ - (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) - # else -@@ -242,7 +242,7 @@ enum - # endif - - /* Return nonzero value if sign of X is negative. */ --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define signbit(x) \ - (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) - # else -@@ -254,7 +254,7 @@ enum - # endif - - /* Return nonzero value if X is not +-Inf or NaN. */ --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define isfinite(x) \ - (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) - # else -@@ -270,7 +270,7 @@ enum - - /* Return nonzero value if X is a NaN. We could use `fpclassify' but - we already have this functions `__isnan' and it is faster. */ --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define isnan(x) \ - (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) - # else -@@ -282,7 +282,7 @@ enum - # endif - - /* Return nonzero value is X is positive or negative infinity. */ --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define isinf(x) \ - (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) - # else -Index: uClibc-0.9.30.1/include/tgmath.h -=================================================================== ---- uClibc-0.9.30.1/include/tgmath.h (revision 25552) -+++ uClibc-0.9.30.1/include/tgmath.h (working copy) -@@ -36,7 +36,7 @@ - - #if __GNUC_PREREQ (2, 7) - --# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifdef __NO_LONG_DOUBLE_MATH - # define __tgml(fct) fct - # else - # define __tgml(fct) fct ## l -Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy) -@@ -7,13 +7,13 @@ - # define __WORDSIZE 32 - #endif - --#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL - - /* Signal the glibc ABI didn't used to have a `long double'. - The changes all the `long double' function variants to be redirects - to the double functions. */ - # define __LONG_DOUBLE_MATH_OPTIONAL 1 - # ifndef __LONG_DOUBLE_128__ --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - # endif - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (working copy) -@@ -65,11 +65,13 @@ typedef double double_t; - - #endif /* ISO C99 */ - --#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+#ifndef __NO_LONG_DOUBLE_MATH - #include <bits/wordsize.h> - /* Signal that we do not really have a `long double'. The disables the - declaration of all the `long double' function variants. */ - # if __WORDSIZE == 32 --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - # endif /* __WORDSIZE == 32 */ --#endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */ -+#endif /* __NO_LONG_DOUBLE_MATH */ -Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h (working copy) -@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp - # define FP_ILOGBNAN (2147483647) - - #endif /* ISO C99 */ -+ -+#ifndef __NO_LONG_DOUBLE_MATH -+/* Signal that we do not really have a `long double'. This disables the -+ declaration of all the `long double' function variants. */ -+/* XXX The FPA does support this but the patterns in GCC are currently -+ turned off. */ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h (working copy) -@@ -36,3 +36,7 @@ typedef long double double_t; /* `double - # define FP_ILOGBNAN (2147483647) - - #endif /* ISO C99 */ -+ -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h (working copy) -@@ -18,13 +18,13 @@ - - #define __WORDSIZE 64 - --#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL - - /* Signal that we didn't used to have a `long double'. The changes all - the `long double' function variants to be redirects to the double - functions. */ - # define __LONG_DOUBLE_MATH_OPTIONAL 1 - # ifndef __LONG_DOUBLE_128__ --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - # endif - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h (working copy) -@@ -78,3 +78,7 @@ typedef double double_t; - - # endif /* GNUC before 3.4 */ - #endif /* COMPLEX_H */ -+ -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h (working copy) -@@ -35,3 +35,9 @@ typedef double double_t; /* `double' exp - # define FP_ILOGBNAN 2147483647 - - #endif /* ISO C99 */ -+ -+#ifndef __NO_LONG_DOUBLE_MATH -+/* Signal that we do not really have a `long double'. The disables the -+ declaration of all the `long double' function variants. */ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h (working copy) -@@ -44,3 +44,7 @@ typedef long double double_t; /* `double - # define FP_ILOGBNAN (-2147483647 - 1) - - #endif /* ISO C99 */ -+ -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h (working copy) -@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp - # define FP_ILOGBNAN (2147483647) - - #endif /* ISO C99 */ -+ -+#ifndef __NO_LONG_DOUBLE_MATH -+/* Signal that we do not really have a `long double'. This disables the -+ declaration of all the `long double' function variants. */ -+/* XXX The FPA does support this but the patterns in GCC are currently -+ turned off. */ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h (working copy) -@@ -46,3 +46,7 @@ typedef long double double_t; /* `double - # define FP_ILOGBNAN (-2147483647 - 1) - - #endif /* ISO C99 */ -+ -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h (working copy) -@@ -36,8 +36,8 @@ typedef double double_t; /* `double' exp - - #endif /* ISO C99 */ - --#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+#ifndef __NO_LONG_DOUBLE_MATH - /* Signal that we do not really have a `long double'. The disables the - declaration of all the `long double' function variants. */ --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h (working copy) -@@ -35,3 +35,7 @@ typedef double double_t; /* `double' exp - # define FP_ILOGBNAN 2147483647 - - #endif /* ISO C99 */ -+ -+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h (working copy) -@@ -39,8 +39,10 @@ typedef double double_t; /* `double' exp - - #endif /* ISO C99 */ - --#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32 -+#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32 - /* Signal that we do not really have a `long double'. This disables the - declaration of all the `long double' function variants. */ --# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32 -+# define __NO_LONG_DOUBLE_MATH 1 -+#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h (working copy) -@@ -34,3 +34,11 @@ typedef double double_t; /* `double' exp - # define FP_ILOGBNAN (2147483647) - - #endif /* ISO C99 */ -+ -+#ifndef __NO_LONG_DOUBLE_MATH -+/* Signal that we do not really have a `long double'. This disables the -+ declaration of all the `long double' function variants. */ -+/* XXX The FPA does support this but the patterns in GCC are currently -+ turned off. */ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h (working copy) -@@ -6,7 +6,7 @@ - # define __WORDSIZE 32 - #endif - --#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ -+#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/ - - # if __WORDSIZE == 32 - /* Signal that in 32bit ABI we didn't used to have a `long double'. -@@ -14,7 +14,7 @@ - to the double functions. */ - # define __LONG_DOUBLE_MATH_OPTIONAL 1 - # ifndef __LONG_DOUBLE_128__ --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - # endif - # endif - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h (working copy) -@@ -57,13 +57,15 @@ typedef double double_t; - - #endif /* ISO C99 */ - --#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+#ifndef __NO_LONG_DOUBLE_MATH - - # if __WORDSIZE == 32 - /* Signal that in 32bit ABI we do not really have a `long double'. - The disables the declaration of all the `long double' function - variants. */ --# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 -+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# define __NO_LONG_DOUBLE_MATH 1 - # endif - - #endif -Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (working copy) -@@ -37,7 +37,7 @@ - - # if __WORDSIZE == 32 - --# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifndef __NO_LONG_DOUBLE_MATH - - # define __unordered_cmp(x, y) \ - (__extension__ \ -@@ -157,7 +157,7 @@ __NTH (__signbit (double __x)) - return __u.__i[0] < 0; - } - --# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# ifndef __NO_LONG_DOUBLE_MATH - __MATH_INLINE int - __NTH (__signbitl (long double __x)) - { -@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x)) - _Qp_sqrt (&__r, &__x); - return __r; - } --# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# elif !defined __NO_LONG_DOUBLE_MATH - __MATH_INLINE long double - sqrtl (long double __x) __THROW - { -@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x) - _Qp_sqrt(&__r, &__x); - return __r; - } --# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ -+# elif !defined __NO_LONG_DOUBLE_MATH - __MATH_INLINE long double - __ieee754_sqrtl (long double __x) - { -Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h -=================================================================== ---- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (revision 25552) -+++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h (working copy) -@@ -61,3 +61,9 @@ typedef double double_t; - # define FP_ILOGBNAN 0x7fffffff - - #endif /* ISO C99 */ -+ -+#ifndef __NO_LONG_DOUBLE_MATH -+/* Signal that we do not really have a `long double'. The disables the -+ declaration of all the `long double' function variants. */ -+# define __NO_LONG_DOUBLE_MATH 1 -+#endif |