patches/uClibc/0.9.30.1/160-c99-ldbl-math.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Apr 19 16:17:11 2009 +0000 (2009-04-19)
branchnewlib
changeset 1365 c4d124ed9f8e
permissions -rw-r--r--
Update the newlib devel branch with stuf from /trunk.

-------- diffstat follows --------
/devel/newlib/configure | 8 4 4 0
/devel/newlib/scripts/build/kernel/linux.sh | 2 1 1 0
/devel/newlib/scripts/build/cc/gcc.sh | 34 22 12 0 +
/devel/newlib/scripts/build/debug/300-gdb.sh | 52 45 7 0 +
/devel/newlib/scripts/build/libc/uClibc.sh | 6 3 3 0
/devel/newlib/scripts/build/mpfr.sh | 2 1 1 0
/devel/newlib/scripts/crosstool-NG.sh.in | 20 18 2 0 +
/devel/newlib/scripts/functions | 44 34 10 0 +
/devel/newlib/patches/glibc/2_9/500-ppc-glibc-2.9-atomic.patch | 414 0 414 0 ----------
/devel/newlib/patches/glibc/2_9/140-regex-BZ9697.patch | 111 0 111 0 ---
/devel/newlib/patches/glibc/2_9/190-queue-header-updates.patch | 89 0 89 0 --
/devel/newlib/patches/glibc/2_9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/450-alpha-glibc-2.5-no-page-header.patch | 32 0 32 0 -
/devel/newlib/patches/glibc/2_9/330-2.3.3-china.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/270-ldbl-nexttowardf.patch | 68 0 68 0 --
/devel/newlib/patches/glibc/2_9/410-2.9-fnmatch.patch | 64 0 64 0 --
/devel/newlib/patches/glibc/2_9/340-new-valencian-locale.patch | 120 0 120 0 ---
/devel/newlib/patches/glibc/2_9/350-2.4-undefine-__i686.patch | 47 0 47 0 -
/devel/newlib/patches/glibc/2_9/160-i386-x86_64-revert-clone-cfi.patch | 53 0 53 0 -
/devel/newlib/patches/glibc/2_9/150-regex-BZ697.patch | 28 0 28 0 -
/devel/newlib/patches/glibc/2_9/420-dont-build-timezone.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/2_9/290-no-inline-gmon.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/280-section-comments.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/180-math-tests.patch | 72 0 72 0 --
/devel/newlib/patches/glibc/2_9/250-resolv-dynamic.patch | 44 0 44 0 -
/devel/newlib/patches/glibc/2_9/120-_nss_dns_gethostbyaddr2_r-check-and-adjust-the-buffer-alignment.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/300-2.9-check_native-headers.patch | 22 0 22 0 -
/devel/newlib/patches/glibc/2_9/130-add_prio-macros.patch | 26 0 26 0 -
/devel/newlib/patches/glibc/2_9/310-2.3.6-fix-pr631.patch | 50 0 50 0 -
/devel/newlib/patches/glibc/2_9/510-sh-no-asm-user-header.patch | 70 0 70 0 --
/devel/newlib/patches/glibc/2_9/260-fadvise64_64.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/440-alpha-glibc-2.4-xstat.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/170-2.10-dns-no-gethostbyname4.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/230-2.3.3-localedef-fix-trampoline.patch | 74 0 74 0 --
/devel/newlib/patches/glibc/2_9/480-alpha-glibc-2.8-cache-shape.patch | 18 0 18 0 -
/devel/newlib/patches/glibc/2_9/360-2.8-nscd-one-fork.patch | 45 0 45 0 -
/devel/newlib/patches/glibc/2_9/210-2.9-strlen-hack.patch | 109 0 109 0 ---
/devel/newlib/patches/glibc/2_9/320-2.9-assume-pipe2.patch | 59 0 59 0 -
/devel/newlib/patches/glibc/2_9/100-ssp-compat.patch | 193 0 193 0 -----
/devel/newlib/patches/glibc/2_9/110-respect-env-CPPFLAGS.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/220-manual-no-perl.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/390-2.3.3_pre20040117-pt_pax.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/460-alpha-glibc-2.5-no-asm-elf-header.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/400-tests-sandbox-libdl-paths.patch | 198 0 198 0 -----
/devel/newlib/patches/glibc/2_9/520-sh-no-asm-elf-header.patch | 27 0 27 0 -
/devel/newlib/patches/glibc/2_9/240-i386-LOAD_PIC_REG.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/200-awk-in-C-locale.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/430-2.7-cross-compile-nptl.patch | 57 0 57 0 -
/devel/newlib/patches/glibc/2_9/380-2.3.6-dl_execstack-PaX-support.patch | 71 0 71 0 --
/devel/newlib/patches/glibc/2_9/490-ptr-mangling.patch | 114 0 114 0 ---
/devel/newlib/patches/glibc/2_9/470-alpha-glibc-2.8-creat.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/ports-2_9/100-arm_linux_tls.patch | 14 0 14 0 -
/devel/newlib/patches/uClibc/0.9.30.1/140-gnu89-inline.patch | 2 1 1 0
/devel/newlib/docs/known-issues.txt | 16 15 1 0 +
/devel/newlib/docs/overview.txt | 2 1 1 0
/devel/newlib/samples/armeb-unknown-linux-uclibc/uClibc-0.9.30.config | 243 0 243 0 ------
/devel/newlib/samples/armeb-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/sh4-unknown-linux-gnu/crosstool.config | 35 18 17 0 +
/devel/newlib/samples/x86_64-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/arm-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/armeb-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/arm-unknown-linux-gnueabi/crosstool.config | 113 73 40 0 +--
/devel/newlib/samples/ia64-unknown-linux-gnu/crosstool.config | 91 61 30 0 +-
/devel/newlib/samples/x86_64-unknown-linux-uclibc/uClibc-0.9.30.config | 245 0 245 0 ------
/devel/newlib/samples/x86_64-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnueabi/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 96 63 33 0 +-
/devel/newlib/samples/i686-nptl-linux-gnu/crosstool.config | 78 48 30 0 +-
/devel/newlib/samples/arm-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown-linux-gnu/crosstool.config | 103 67 36 0 +-
/devel/newlib/samples/mips-unknown-linux-uclibc/uClibc-0.9.30.config | 254 0 254 0 ------
/devel/newlib/samples/mips-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-iphone-linux-gnueabi/crosstool.config | 84 57 27 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/i586-geode-linux-uclibc/uClibc-0.9.30.config | 263 0 263 0 ------
/devel/newlib/samples/i586-geode-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibc/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/powerpc-unknown-linux-uclibc/uClibc-0.9.30.config | 248 0 248 0 ------
/devel/newlib/samples/powerpc-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/mips-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/powerpc-405-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 26 13 13 0
/devel/newlib/samples/arm-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/mipsel-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/powerpc64-unknown-linux-gnu/crosstool.config | 75 49 26 0 +-
/devel/newlib/samples/alphaev56-unknown-linux-gnu/crosstool.config | 94 63 31 0 +-
/devel/newlib/samples/powerpc-860-linux-gnu/crosstool.config | 102 67 35 0 +-
/devel/newlib/config/kernel/linux.in | 87 46 41 0 +-
/devel/newlib/config/cc/gcc.in | 35 30 5 0 +
/devel/newlib/config/debug/gdb.in | 2 1 1 0
94 files changed, 1851 insertions(+), 5813 deletions(-)
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