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