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