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
|