|
@@ -1,20 +1,195 @@
|
|
|
|
+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
|
|
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 25503)
|
|
|
|
|
|
+--- 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)
|
|
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy)
|
|
-@@ -14,6 +14,6 @@
|
|
|
|
|
|
+@@ -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. */
|
|
to the double functions. */
|
|
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
|
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
|
# ifndef __LONG_DOUBLE_128__
|
|
# ifndef __LONG_DOUBLE_128__
|
|
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
|
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
|
-+# define __NO_LONG_DOUBLE_MATH 1
|
|
|
|
|
|
++# define __NO_LONG_DOUBLE_MATH 1
|
|
# endif
|
|
# endif
|
|
#endif
|
|
#endif
|
|
Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
|
|
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 25503)
|
|
|
|
|
|
+--- 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)
|
|
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (working copy)
|
|
-@@ -70,6 +70,8 @@ typedef double double_t;
|
|
|
|
|
|
+@@ -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
|
|
/* Signal that we do not really have a `long double'. The disables the
|
|
declaration of all the `long double' function variants. */
|
|
declaration of all the `long double' function variants. */
|
|
# if __WORDSIZE == 32
|
|
# if __WORDSIZE == 32
|
|
@@ -23,23 +198,277 @@ Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
|
|
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
|
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
|
|
+# define __NO_LONG_DOUBLE_MATH 1
|
|
+# define __NO_LONG_DOUBLE_MATH 1
|
|
# endif /* __WORDSIZE == 32 */
|
|
# endif /* __WORDSIZE == 32 */
|
|
- #endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
|
|
|
|
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathinline.h
|
|
|
|
|
|
+-#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/powerpc/bits/mathinline.h (revision 25503)
|
|
|
|
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathinline.h (working copy)
|
|
|
|
-@@ -107,6 +107,14 @@ __NTH (lrintf (float __x))
|
|
|
|
- }
|
|
|
|
|
|
+--- 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
|
|
|
|
|
|
-+/* __MATH_INLINE int
|
|
|
|
-+__NTH (__finite (double __x))
|
|
|
|
-+{
|
|
|
|
-+ return (__extension__
|
|
|
|
-+ (((union { double __d; int __i[2]; }) { __d: __x}.__i[1]
|
|
|
|
-+ & 0x7fffffff) - 0x7ff00000) >> 31);
|
|
|
|
-+}
|
|
|
|
-+*/
|
|
|
|
- __MATH_INLINE double fdim (double __x, double __y) __THROW;
|
|
|
|
- __MATH_INLINE double
|
|
|
|
- __NTH (fdim (double __x, double __y))
|
|
|
|
|
|
+ #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
|