diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-05 12:11:26 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-05 12:11:26 +0000 |
commit | 2676c2029beecfe271af02b059755d0a47570972 (patch) | |
tree | d8cb9631aac92f295c7792c4518166b0e54af9f6 /toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch | |
parent | ee0bbc04ff0314526400e8b721dbcccb32eda913 (diff) | |
download | buildroot-novena-2676c2029beecfe271af02b059755d0a47570972.tar.gz buildroot-novena-2676c2029beecfe271af02b059755d0a47570972.zip |
uclibc: 0.9.30.1 fix for ppc32 C99 math
From Bernhard.
Diffstat (limited to 'toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch')
-rw-r--r-- | toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch b/toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch new file mode 100644 index 000000000..2d5dc6cdd --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch @@ -0,0 +1,45 @@ +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (revision 25503) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy) +@@ -14,6 +14,6 @@ + to the double functions. */ + # define __LONG_DOUBLE_MATH_OPTIONAL 1 + # ifndef __LONG_DOUBLE_128__ +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif + #endif +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (revision 25503) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h (working copy) +@@ -70,6 +70,8 @@ typedef double double_t; + /* Signal that we do not really have a `long double'. The disables the + declaration of all the `long double' function variants. */ + # if __WORDSIZE == 32 +-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 ++# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ ++# define __NO_LONG_DOUBLE_MATH 1 + # endif /* __WORDSIZE == 32 */ + #endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */ +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathinline.h +=================================================================== +--- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathinline.h (revision 25503) ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathinline.h (working copy) +@@ -107,6 +107,14 @@ __NTH (lrintf (float __x)) + } + # endif + ++/* __MATH_INLINE int ++__NTH (__finite (double __x)) ++{ ++ return (__extension__ ++ (((union { double __d; int __i[2]; }) { __d: __x}.__i[1] ++ & 0x7fffffff) - 0x7ff00000) >> 31); ++} ++*/ + __MATH_INLINE double fdim (double __x, double __y) __THROW; + __MATH_INLINE double + __NTH (fdim (double __x, double __y)) |