475 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			475 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 |