patches/uClibc/0.9.30.1/160-c99-ldbl-math.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
yann@1282
     1
Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c
yann@1282
     2
===================================================================
yann@1282
     3
--- uClibc-0.9.30.1/libm/ldouble_wrappers.c	(revision 25552)
yann@1282
     4
+++ uClibc-0.9.30.1/libm/ldouble_wrappers.c	(working copy)
yann@1282
     5
@@ -13,6 +13,16 @@
yann@1282
     6
 #include "math.h"
yann@1282
     7
 #include <complex.h>
yann@1282
     8
 
yann@1282
     9
+#if defined __NO_LONG_DOUBLE_MATH
yann@1282
    10
+# define int_WRAPPER_C99(func) /* not needed */
yann@1282
    11
+# else
yann@1282
    12
+# define int_WRAPPER_C99(func) \
yann@1282
    13
+int func##l(long double x) \
yann@1282
    14
+{ \
yann@1282
    15
+    return func((double) x); \
yann@1282
    16
+} \
yann@1282
    17
+libm_hidden_def(func##l)
yann@1282
    18
+#endif
yann@1282
    19
 
yann@1282
    20
 /* Implement the following, as defined by SuSv3 */
yann@1282
    21
 #if 0
yann@1282
    22
@@ -543,46 +553,28 @@ long double truncl (long double x)
yann@1282
    23
 #endif
yann@1282
    24
 
yann@1282
    25
 
yann@1282
    26
-#ifdef __DO_C99_MATH__
yann@1282
    27
+#if defined __DO_C99_MATH__
yann@1282
    28
 
yann@1282
    29
 #ifdef L_fpclassifyl
yann@1282
    30
-int __fpclassifyl (long double x)
yann@1282
    31
-{
yann@1282
    32
-	return __fpclassify ( (double) x );
yann@1282
    33
-}
yann@1282
    34
-libm_hidden_def(__fpclassifyl)
yann@1282
    35
+int_WRAPPER_C99(__fpclassify)
yann@1282
    36
 #endif
yann@1282
    37
 
yann@1282
    38
 #ifdef L_finitel
yann@1282
    39
-int __finitel (long double x)
yann@1282
    40
-{
yann@1282
    41
-	return __finite ( (double)x );
yann@1282
    42
-}
yann@1282
    43
-libm_hidden_def(__finitel)
yann@1282
    44
+int_WRAPPER_C99(__finite)
yann@1282
    45
 #endif
yann@1282
    46
 
yann@1282
    47
 #ifdef L_signbitl
yann@1282
    48
-int __signbitl (long double x)
yann@1282
    49
-{
yann@1282
    50
-	return __signbitl ( (double)x );
yann@1282
    51
-}
yann@1282
    52
-libm_hidden_def(__signbitl)
yann@1282
    53
+int_WRAPPER_C99(__signbit)
yann@1282
    54
 #endif
yann@1282
    55
 
yann@1282
    56
 #ifdef L_isnanl
yann@1282
    57
-int __isnanl (long double x)
yann@1282
    58
-{
yann@1282
    59
-	return __isnan ( (double)x );
yann@1282
    60
-}
yann@1282
    61
-libm_hidden_def(__isnanl)
yann@1282
    62
+int_WRAPPER_C99(__isnan)
yann@1282
    63
 #endif
yann@1282
    64
 
yann@1282
    65
 #ifdef L_isinfl
yann@1282
    66
-int __isinfl (long double x)
yann@1282
    67
-{
yann@1282
    68
-	return __isinf ( (double)x );
yann@1282
    69
-}
yann@1282
    70
-libm_hidden_def(__isinfl)
yann@1282
    71
+int_WRAPPER_C99(__isinf)
yann@1282
    72
 #endif
yann@1282
    73
 
yann@1282
    74
-#endif
yann@1282
    75
+#endif /* DO_C99_MATH */
yann@1282
    76
+
yann@1282
    77
+#undef int_WRAPPER_C99
yann@1282
    78
Index: uClibc-0.9.30.1/libm/nan.c
yann@1282
    79
===================================================================
yann@1282
    80
--- uClibc-0.9.30.1/libm/nan.c	(revision 25552)
yann@1282
    81
+++ uClibc-0.9.30.1/libm/nan.c	(working copy)
yann@1282
    82
@@ -45,7 +45,7 @@ float nanf (const char *tagp)
yann@1282
    83
 }
yann@1282
    84
 libm_hidden_def(nanf)
yann@1282
    85
 
yann@1282
    86
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
    87
+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH
yann@1282
    88
 libm_hidden_proto(nanl)
yann@1282
    89
 long double nanl (const char *tagp)
yann@1282
    90
 {
yann@1282
    91
Index: uClibc-0.9.30.1/include/math.h
yann@1282
    92
===================================================================
yann@1282
    93
--- uClibc-0.9.30.1/include/math.h	(revision 25552)
yann@1282
    94
+++ uClibc-0.9.30.1/include/math.h	(working copy)
yann@1282
    95
@@ -118,7 +118,7 @@ __BEGIN_DECLS
yann@1282
    96
 # undef	__MATH_PRECNAME
yann@1282
    97
 
yann@1282
    98
 # if (__STDC__ - 0 || __GNUC__ - 0) \
yann@1282
    99
-     && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT)
yann@1282
   100
+     && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
yann@1282
   101
 #  ifdef __LDBL_COMPAT
yann@1282
   102
 
yann@1282
   103
 #   ifdef __USE_ISOC99
yann@1282
   104
@@ -230,7 +230,7 @@ enum
yann@1282
   105
   };
yann@1282
   106
 
yann@1282
   107
 /* Return number of classification appropriate for X.  */
yann@1282
   108
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   109
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   110
 #  define fpclassify(x) \
yann@1282
   111
      (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
yann@1282
   112
 # else
yann@1282
   113
@@ -242,7 +242,7 @@ enum
yann@1282
   114
 # endif
yann@1282
   115
 
yann@1282
   116
 /* Return nonzero value if sign of X is negative.  */
yann@1282
   117
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   118
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   119
 #  define signbit(x) \
yann@1282
   120
      (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
yann@1282
   121
 # else
yann@1282
   122
@@ -254,7 +254,7 @@ enum
yann@1282
   123
 # endif
yann@1282
   124
 
yann@1282
   125
 /* Return nonzero value if X is not +-Inf or NaN.  */
yann@1282
   126
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   127
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   128
 #  define isfinite(x) \
yann@1282
   129
      (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
yann@1282
   130
 # else
yann@1282
   131
@@ -270,7 +270,7 @@ enum
yann@1282
   132
 
yann@1282
   133
 /* Return nonzero value if X is a NaN.  We could use `fpclassify' but
yann@1282
   134
    we already have this functions `__isnan' and it is faster.  */
yann@1282
   135
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   136
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   137
 #  define isnan(x) \
yann@1282
   138
      (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
yann@1282
   139
 # else
yann@1282
   140
@@ -282,7 +282,7 @@ enum
yann@1282
   141
 # endif
yann@1282
   142
 
yann@1282
   143
 /* Return nonzero value is X is positive or negative infinity.  */
yann@1282
   144
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   145
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   146
 #  define isinf(x) \
yann@1282
   147
      (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
yann@1282
   148
 # else
yann@1282
   149
Index: uClibc-0.9.30.1/include/tgmath.h
yann@1282
   150
===================================================================
yann@1282
   151
--- uClibc-0.9.30.1/include/tgmath.h	(revision 25552)
yann@1282
   152
+++ uClibc-0.9.30.1/include/tgmath.h	(working copy)
yann@1282
   153
@@ -36,7 +36,7 @@
yann@1282
   154
 
yann@1282
   155
 #if __GNUC_PREREQ(2, 7)
yann@1282
   156
 
yann@1282
   157
-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   158
+# ifdef __NO_LONG_DOUBLE_MATH
yann@1282
   159
 #  define __tgml(fct) fct
yann@1282
   160
 # else
yann@1282
   161
 #  define __tgml(fct) fct ## l
yann@1282
   162
Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h
yann@1282
   163
===================================================================
yann@1282
   164
--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h	(revision 25552)
yann@1282
   165
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h	(working copy)
yann@1282
   166
@@ -7,13 +7,13 @@
yann@1282
   167
 # define __WORDSIZE	32
yann@1282
   168
 #endif
yann@1282
   169
 
yann@1282
   170
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
yann@1282
   171
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
yann@1282
   172
 
yann@1282
   173
 /* Signal the glibc ABI didn't used to have a `long double'.
yann@1282
   174
    The changes all the `long double' function variants to be redirects
yann@1282
   175
    to the double functions.  */
yann@1282
   176
 # define __LONG_DOUBLE_MATH_OPTIONAL   1
yann@1282
   177
 # ifndef __LONG_DOUBLE_128__
yann@1282
   178
-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   179
+#  define __NO_LONG_DOUBLE_MATH        1
yann@1282
   180
 # endif
yann@1282
   181
 #endif
yann@1282
   182
Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
yann@1282
   183
===================================================================
yann@1282
   184
--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h	(revision 25552)
yann@1282
   185
+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h	(working copy)
yann@1282
   186
@@ -65,11 +65,13 @@ typedef double double_t;
yann@1282
   187
 
yann@1282
   188
 #endif	/* ISO C99 */
yann@1282
   189
 
yann@1282
   190
-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   191
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   192
 #include <bits/wordsize.h>
yann@1282
   193
 /* Signal that we do not really have a `long double'.  The disables the
yann@1282
   194
    declaration of all the `long double' function variants.  */
yann@1282
   195
 # if __WORDSIZE == 32
yann@1282
   196
-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   197
+#  define __NO_LONG_DOUBLE_MATH	1
yann@1282
   198
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   199
+#  define __NO_LONG_DOUBLE_MATH	1
yann@1282
   200
 # endif  /* __WORDSIZE == 32 */
yann@1282
   201
-#endif  /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
yann@1282
   202
+#endif  /* __NO_LONG_DOUBLE_MATH */
yann@1282
   203
Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h
yann@1282
   204
===================================================================
yann@1282
   205
--- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h	(revision 25552)
yann@1282
   206
+++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h	(working copy)
yann@1282
   207
@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp
yann@1282
   208
 # define FP_ILOGBNAN	(2147483647)
yann@1282
   209
 
yann@1282
   210
 #endif	/* ISO C99 */
yann@1282
   211
+
yann@1282
   212
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   213
+/* Signal that we do not really have a `long double'.  This disables the
yann@1282
   214
+   declaration of all the `long double' function variants.  */
yann@1282
   215
+/* XXX The FPA does support this but the patterns in GCC are currently
yann@1282
   216
+   turned off.  */
yann@1282
   217
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   218
+#endif
yann@1282
   219
Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h
yann@1282
   220
===================================================================
yann@1282
   221
--- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h	(revision 25552)
yann@1282
   222
+++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h	(working copy)
yann@1282
   223
@@ -36,3 +36,7 @@ typedef long double double_t;	/* `double
yann@1282
   224
 # define FP_ILOGBNAN	(2147483647)
yann@1282
   225
 
yann@1282
   226
 #endif	/* ISO C99 */
yann@1282
   227
+
yann@1282
   228
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   229
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   230
+#endif
yann@1282
   231
Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h
yann@1282
   232
===================================================================
yann@1282
   233
--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h	(revision 25552)
yann@1282
   234
+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h	(working copy)
yann@1282
   235
@@ -18,13 +18,13 @@
yann@1282
   236
 
yann@1282
   237
 #define __WORDSIZE	64
yann@1282
   238
 
yann@1282
   239
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
yann@1282
   240
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
yann@1282
   241
 
yann@1282
   242
 /* Signal that we didn't used to have a `long double'. The changes all
yann@1282
   243
    the `long double' function variants to be redirects to the double
yann@1282
   244
    functions.  */
yann@1282
   245
 # define __LONG_DOUBLE_MATH_OPTIONAL	1
yann@1282
   246
 # ifndef __LONG_DOUBLE_128__
yann@1282
   247
-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   248
+#  define __NO_LONG_DOUBLE_MATH		1
yann@1282
   249
 # endif
yann@1282
   250
 #endif
yann@1282
   251
Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h
yann@1282
   252
===================================================================
yann@1282
   253
--- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h	(revision 25552)
yann@1282
   254
+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h	(working copy)
yann@1282
   255
@@ -78,3 +78,7 @@ typedef double double_t;
yann@1282
   256
 
yann@1282
   257
 # endif /* GNUC before 3.4 */
yann@1282
   258
 #endif /* COMPLEX_H */
yann@1282
   259
+
yann@1282
   260
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   261
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   262
+#endif
yann@1282
   263
Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h
yann@1282
   264
===================================================================
yann@1282
   265
--- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h	(revision 25552)
yann@1282
   266
+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h	(working copy)
yann@1282
   267
@@ -35,3 +35,9 @@ typedef double double_t;	/* `double' exp
yann@1282
   268
 # define FP_ILOGBNAN	2147483647
yann@1282
   269
 
yann@1282
   270
 #endif	/* ISO C99 */
yann@1282
   271
+
yann@1282
   272
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   273
+/* Signal that we do not really have a `long double'.  The disables the
yann@1282
   274
+   declaration of all the `long double' function variants.  */
yann@1282
   275
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   276
+#endif
yann@1282
   277
Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h
yann@1282
   278
===================================================================
yann@1282
   279
--- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h	(revision 25552)
yann@1282
   280
+++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h	(working copy)
yann@1282
   281
@@ -44,3 +44,7 @@ typedef long double double_t;	/* `double
yann@1282
   282
 # define FP_ILOGBNAN	(-2147483647 - 1)
yann@1282
   283
 
yann@1282
   284
 #endif	/* ISO C99 */
yann@1282
   285
+
yann@1282
   286
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   287
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   288
+#endif
yann@1282
   289
Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h
yann@1282
   290
===================================================================
yann@1282
   291
--- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h	(revision 25552)
yann@1282
   292
+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h	(working copy)
yann@1282
   293
@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp
yann@1282
   294
 # define FP_ILOGBNAN	(2147483647)
yann@1282
   295
 
yann@1282
   296
 #endif	/* ISO C99 */
yann@1282
   297
+
yann@1282
   298
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   299
+/* Signal that we do not really have a `long double'.  This disables the
yann@1282
   300
+   declaration of all the `long double' function variants.  */
yann@1282
   301
+/* XXX The FPA does support this but the patterns in GCC are currently
yann@1282
   302
+   turned off.  */
yann@1282
   303
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   304
+#endif
yann@1282
   305
Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h
yann@1282
   306
===================================================================
yann@1282
   307
--- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h	(revision 25552)
yann@1282
   308
+++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h	(working copy)
yann@1282
   309
@@ -46,3 +46,7 @@ typedef long double double_t;	/* `double
yann@1282
   310
 # define FP_ILOGBNAN	(-2147483647 - 1)
yann@1282
   311
 
yann@1282
   312
 #endif	/* ISO C99 */
yann@1282
   313
+
yann@1282
   314
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   315
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   316
+#endif
yann@1282
   317
Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h
yann@1282
   318
===================================================================
yann@1282
   319
--- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h	(revision 25552)
yann@1282
   320
+++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h	(working copy)
yann@1282
   321
@@ -36,8 +36,8 @@ typedef double double_t;	/* `double' exp
yann@1282
   322
 
yann@1282
   323
 #endif	/* ISO C99 */
yann@1282
   324
 
yann@1282
   325
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   326
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   327
 /* Signal that we do not really have a `long double'.  The disables the
yann@1282
   328
    declaration of all the `long double' function variants.  */
yann@1282
   329
-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   330
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   331
 #endif
yann@1282
   332
Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h
yann@1282
   333
===================================================================
yann@1282
   334
--- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h	(revision 25552)
yann@1282
   335
+++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h	(working copy)
yann@1282
   336
@@ -35,3 +35,7 @@ typedef double double_t;	/* `double' exp
yann@1282
   337
 # define FP_ILOGBNAN	2147483647
yann@1282
   338
 
yann@1282
   339
 #endif	/* ISO C99 */
yann@1282
   340
+
yann@1282
   341
+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   342
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   343
+#endif
yann@1282
   344
Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h
yann@1282
   345
===================================================================
yann@1282
   346
--- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h	(revision 25552)
yann@1282
   347
+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h	(working copy)
yann@1282
   348
@@ -39,8 +39,10 @@ typedef double double_t;	/* `double' exp
yann@1282
   349
 
yann@1282
   350
 #endif	/* ISO C99 */
yann@1282
   351
 
yann@1282
   352
-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
yann@1282
   353
+#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
yann@1282
   354
 /* Signal that we do not really have a `long double'.  This disables the
yann@1282
   355
    declaration of all the `long double' function variants.  */
yann@1282
   356
-# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
yann@1282
   357
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   358
+#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   359
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   360
 #endif
yann@1282
   361
Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h
yann@1282
   362
===================================================================
yann@1282
   363
--- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h	(revision 25552)
yann@1282
   364
+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h	(working copy)
yann@1282
   365
@@ -34,3 +34,11 @@ typedef double double_t;	/* `double' exp
yann@1282
   366
 # define FP_ILOGBNAN	(2147483647)
yann@1282
   367
 
yann@1282
   368
 #endif	/* ISO C99 */
yann@1282
   369
+
yann@1282
   370
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   371
+/* Signal that we do not really have a `long double'.  This disables the
yann@1282
   372
+   declaration of all the `long double' function variants.  */
yann@1282
   373
+/* XXX The FPA does support this but the patterns in GCC are currently
yann@1282
   374
+   turned off.  */
yann@1282
   375
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   376
+#endif
yann@1282
   377
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h
yann@1282
   378
===================================================================
yann@1282
   379
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h	(revision 25552)
yann@1282
   380
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h	(working copy)
yann@1282
   381
@@ -6,7 +6,7 @@
yann@1282
   382
 # define __WORDSIZE	32
yann@1282
   383
 #endif
yann@1282
   384
 
yann@1282
   385
-#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
yann@1282
   386
+#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
yann@1282
   387
 
yann@1282
   388
 # if __WORDSIZE == 32
yann@1282
   389
 /* Signal that in 32bit ABI we didn't used to have a `long double'.
yann@1282
   390
@@ -14,7 +14,7 @@
yann@1282
   391
    to the double functions.  */
yann@1282
   392
 #  define __LONG_DOUBLE_MATH_OPTIONAL   1
yann@1282
   393
 #  ifndef __LONG_DOUBLE_128__
yann@1282
   394
-#   undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   395
+#   define __NO_LONG_DOUBLE_MATH        1
yann@1282
   396
 #  endif
yann@1282
   397
 # endif
yann@1282
   398
 #endif
yann@1282
   399
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h
yann@1282
   400
===================================================================
yann@1282
   401
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h	(revision 25552)
yann@1282
   402
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h	(working copy)
yann@1282
   403
@@ -57,13 +57,15 @@ typedef double double_t;
yann@1282
   404
 
yann@1282
   405
 #endif	/* ISO C99 */
yann@1282
   406
 
yann@1282
   407
-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   408
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   409
 
yann@1282
   410
 # if __WORDSIZE == 32
yann@1282
   411
 /* Signal that in 32bit ABI we do not really have a `long double'.
yann@1282
   412
    The disables the declaration of all the `long double' function
yann@1282
   413
    variants.  */
yann@1282
   414
-#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   415
+#  define __NO_LONG_DOUBLE_MATH	1
yann@1282
   416
+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   417
+#  define __NO_LONG_DOUBLE_MATH	1
yann@1282
   418
 # endif
yann@1282
   419
 
yann@1282
   420
 #endif
yann@1282
   421
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h
yann@1282
   422
===================================================================
yann@1282
   423
--- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h	(revision 25552)
yann@1282
   424
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h	(working copy)
yann@1282
   425
@@ -37,7 +37,7 @@
yann@1282
   426
 
yann@1282
   427
 # if __WORDSIZE == 32
yann@1282
   428
 
yann@1282
   429
-#  ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   430
+#  ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   431
 
yann@1282
   432
 #   define __unordered_cmp(x, y) \
yann@1282
   433
   (__extension__							      \
yann@1282
   434
@@ -157,7 +157,7 @@ __NTH (__signbit (double __x))
yann@1282
   435
   return __u.__i[0] < 0;
yann@1282
   436
 }
yann@1282
   437
 
yann@1282
   438
-#    ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   439
+#    ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   440
 __MATH_INLINE int
yann@1282
   441
 __NTH (__signbitl (long double __x))
yann@1282
   442
 {
yann@1282
   443
@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x))
yann@1282
   444
   _Qp_sqrt (&__r, &__x);
yann@1282
   445
   return __r;
yann@1282
   446
 }
yann@1282
   447
-#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   448
+#   elif !defined __NO_LONG_DOUBLE_MATH
yann@1282
   449
 __MATH_INLINE long double
yann@1282
   450
 sqrtl (long double __x) __THROW
yann@1282
   451
 {
yann@1282
   452
@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x)
yann@1282
   453
   _Qp_sqrt(&__r, &__x);
yann@1282
   454
   return __r;
yann@1282
   455
 }
yann@1282
   456
-#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
yann@1282
   457
+#   elif !defined __NO_LONG_DOUBLE_MATH
yann@1282
   458
 __MATH_INLINE long double
yann@1282
   459
 __ieee754_sqrtl (long double __x)
yann@1282
   460
 {
yann@1282
   461
Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h
yann@1282
   462
===================================================================
yann@1282
   463
--- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h	(revision 25552)
yann@1282
   464
+++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h	(working copy)
yann@1282
   465
@@ -61,3 +61,9 @@ typedef double double_t;
yann@1282
   466
 # define FP_ILOGBNAN	0x7fffffff
yann@1282
   467
 
yann@1282
   468
 #endif	/* ISO C99 */
yann@1282
   469
+
yann@1282
   470
+#ifndef __NO_LONG_DOUBLE_MATH
yann@1282
   471
+/* Signal that we do not really have a `long double'.  The disables the
yann@1282
   472
+   declaration of all the `long double' function variants.  */
yann@1282
   473
+# define __NO_LONG_DOUBLE_MATH	1
yann@1282
   474
+#endif