From 76cc2d8f45677bb322fae487a415efd5edb3d18b Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Fri, 14 Aug 2015 21:06:29 -0500 Subject: [PATCH] glibc/arm: Filling in more ARM gaps --- src/system/libroot/posix/glibc/arch/arm/Jamfile | 11 +++++++---- .../libroot/posix/glibc/arch/generic/s_log1pl.c | 13 +++++++++++++ .../posix/glibc/include/arch/arm/bits/huge_val.h | 6 ++++++ 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/system/libroot/posix/glibc/arch/generic/s_log1pl.c diff --git a/src/system/libroot/posix/glibc/arch/arm/Jamfile b/src/system/libroot/posix/glibc/arch/arm/Jamfile index 13db611f18..9bfb08399a 100644 --- a/src/system/libroot/posix/glibc/arch/arm/Jamfile +++ b/src/system/libroot/posix/glibc/arch/arm/Jamfile @@ -34,9 +34,12 @@ local genericSources = s_isnan.c s_isnanf.c s_signbit.c s_signbitf.c s_signbitl.c - s_clog.c s_clogf.c + s_nan.c s_nanf.c s_nanl.c + w_hypot.c w_hypotf.c w_hypotl.c + s_fpclassify.c s_fpclassifyf.c + s_clog.c s_clogf.c s_clogl.c s_log1p.c s_log1pf.c s_log1pl.c - s_csqrt.c s_csqrtf.c + s_csqrt.c s_csqrtf.c s_csqrtl.c s_floor.c s_floorf.c s_ceil.c s_ceilf.c s_modf.c @@ -56,7 +59,7 @@ local genericSources = e_asin.c w_asin.c e_log10.c w_log10.c e_acos.c w_acos.c - e_atan2.c w_atan2.c mpatan2.c mpatan.c mptan.c mpsqrt.c w_sqrt.c w_sqrtf.c + e_atan2.c w_atan2.c w_atan2l.c mpatan2.c mpatan.c mptan.c mpsqrt.c w_sqrt.c w_sqrtf.c e_fmod.c w_fmod.c e_log.c w_log.c e_cosh.c w_cosh.c @@ -65,7 +68,7 @@ local genericSources = s_sinf.c k_sinf.c s_ldexp.c s_ldexpf.c s_scalbnf.c s_scalbn.c - s_copysign.c + s_copysign.c s_copysignf.c s_copysignl.c s_tanh.c s_tanf.c k_tanf.c s_lround.c s_lroundf.c s_round.c s_roundf.c s_rint.c s_rintf.c s_lrintf.c diff --git a/src/system/libroot/posix/glibc/arch/generic/s_log1pl.c b/src/system/libroot/posix/glibc/arch/generic/s_log1pl.c new file mode 100644 index 0000000000..a216fb3cef --- /dev/null +++ b/src/system/libroot/posix/glibc/arch/generic/s_log1pl.c @@ -0,0 +1,13 @@ +#include +#include +#include + +long double +__log1pl (long double x) +{ + fputs ("__log1pl not implemented\n", stderr); + __set_errno (ENOSYS); + return 0.0; +} + +stub_warning (log1pl) diff --git a/src/system/libroot/posix/glibc/include/arch/arm/bits/huge_val.h b/src/system/libroot/posix/glibc/include/arch/arm/bits/huge_val.h index b4f56217f4..ac432e39ed 100644 --- a/src/system/libroot/posix/glibc/include/arch/arm/bits/huge_val.h +++ b/src/system/libroot/posix/glibc/include/arch/arm/bits/huge_val.h @@ -55,4 +55,10 @@ static __huge_val_t __huge_val = { __HUGE_VAL_bytes }; #endif /* GCC. */ +#if __GNUC_PREREQ(3,3) +# define HUGE_VALL (__builtin_huge_vall()) +#else +# define HUGE_VALL ((long double) HUGE_VAL) +#endif + #define HUGE_VALF HUGE_VAL