patches/uClibc/0.9.30.1/160-c99-ldbl-math.patch
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Aug 18 16:05:48 2011 +0200 (2011-08-18)
changeset 2612 a52574521bea
permissions -rw-r--r--
debug/gdb: update GDB revisions

Update GDB with the latest available revisions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
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