diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-09-19 16:59:10 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-09-19 16:59:10 -0400 |
commit | 089aeb08a083d798b59fc84cbff9383f304b1b8f (patch) | |
tree | bd2f1aabbf3bfed36b74a5a4fd46eeda1b74b4f7 /src/stdlib | |
parent | 53431b091b22a663a428c67f8c617740f5882706 (diff) | |
download | musl-089aeb08a083d798b59fc84cbff9383f304b1b8f.tar.gz musl-089aeb08a083d798b59fc84cbff9383f304b1b8f.tar.xz musl-089aeb08a083d798b59fc84cbff9383f304b1b8f.zip |
fix incorrect long double parameters on arm (and other future ports)
this was the cause of crashes in printf when attempting to print floating point values.
Diffstat (limited to 'src/stdlib')
-rw-r--r-- | src/stdlib/frexpl.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/stdlib/frexpl.c b/src/stdlib/frexpl.c index ecfff007..3472bf70 100644 --- a/src/stdlib/frexpl.c +++ b/src/stdlib/frexpl.c @@ -1,5 +1,8 @@ #include <math.h> #include <inttypes.h> +#include <float.h> + +#if LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 /* This version is for 80-bit little endian long double */ @@ -23,3 +26,12 @@ long double frexpl(long double x, int *e) y.hw[4] |= 0x3ffe; return y.ld; } + +#else + +long double frexpl(long double x, int *e) +{ + return frexp(x, e); +} + +#endif |