diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/Versions | 4 | ||||
-rw-r--r-- | math/w_fmod_compat.c | 13 | ||||
-rw-r--r-- | math/w_fmodf_compat.c | 6 |
3 files changed, 17 insertions, 6 deletions
diff --git a/math/Versions b/math/Versions index fef7a08c3b..759b5fac7f 100644 --- a/math/Versions +++ b/math/Versions @@ -631,4 +631,8 @@ libm { # No SVID compatible error handling. hypotf; hypot; } + GLIBC_2.38 { + # No SVID compatible error handling. + fmod; fmodf; + } } diff --git a/math/w_fmod_compat.c b/math/w_fmod_compat.c index c6947f3042..aef98885a3 100644 --- a/math/w_fmod_compat.c +++ b/math/w_fmod_compat.c @@ -20,10 +20,10 @@ #include <math-svid-compat.h> #include <libm-alias-double.h> -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_38) /* wrapper fmod */ double -__fmod (double x, double y) +__fmod_compat (double x, double y) { if (__builtin_expect (isinf (x) || y == 0.0, 0) && _LIB_VERSION != _IEEE_ && !isnan (y) && !isnan (x)) @@ -32,5 +32,12 @@ __fmod (double x, double y) return __ieee754_fmod (x, y); } -libm_alias_double (__fmod, fmod) +compat_symbol (libm, __fmod_compat, fmod, GLIBC_2_0); +# ifdef NO_LONG_DOUBLE +weak_alias (__fmod_compat, fmodl) +# endif +# ifdef LONG_DOUBLE_COMPAT +LONG_DOUBLE_COMPAT_CHOOSE_libm_fmodl ( + compat_symbol (libm, __fmod_compat, fmodl, FIRST_VERSION_libm_fmodl), ); +# endif #endif diff --git a/math/w_fmodf_compat.c b/math/w_fmodf_compat.c index 5025b06684..55823961f4 100644 --- a/math/w_fmodf_compat.c +++ b/math/w_fmodf_compat.c @@ -20,10 +20,10 @@ #include <math-svid-compat.h> #include <libm-alias-float.h> -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_38) /* wrapper fmodf */ float -__fmodf (float x, float y) +__fmod_compatf (float x, float y) { if (__builtin_expect (isinf (x) || y == 0.0f, 0) && _LIB_VERSION != _IEEE_ && !isnan (y) && !isnan (x)) @@ -32,5 +32,5 @@ __fmodf (float x, float y) return __ieee754_fmodf (x, y); } -libm_alias_float (__fmod, fmod) +compat_symbol (libm, __fmod_compatf, fmodf, GLIBC_2_0); #endif |