diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-03-14 14:59:35 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-05-21 13:43:39 -0300 |
commit | 0b716305dfb48c2d13ed4f7d06c082b90c1d226f (patch) | |
tree | edc9787e4ccaaef298e4cb47e8aa3b0045ce25ed /sysdeps/i386/fpu | |
parent | 437c94e04b82b410d72e173c2bfacd8af27abc53 (diff) | |
download | glibc-0b716305dfb48c2d13ed4f7d06c082b90c1d226f.tar.gz glibc-0b716305dfb48c2d13ed4f7d06c082b90c1d226f.tar.xz glibc-0b716305dfb48c2d13ed4f7d06c082b90c1d226f.zip |
math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
The commit 16439f419b removed the static fmod/fmodf on i386 and m68k with and empty w_fmod.c (required for the ABIs that uses the newly implementation). This patch fixes by adding the required symbols on the arch-specific w_fmod{f}_compat.c implementation. To statically build fmod fails on some ABI (alpha, s390, sparc) because it does not export the ldexpf128, this is also fixed by this patch. Checked on i686-linux-gnu and with a build for m68k-linux-gnu. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'sysdeps/i386/fpu')
-rw-r--r-- | sysdeps/i386/fpu/w_fmod_compat.c | 7 | ||||
-rw-r--r-- | sysdeps/i386/fpu/w_fmodf_compat.c | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/sysdeps/i386/fpu/w_fmod_compat.c b/sysdeps/i386/fpu/w_fmod_compat.c index 5ac9995ffd..528bfc2a13 100644 --- a/sysdeps/i386/fpu/w_fmod_compat.c +++ b/sysdeps/i386/fpu/w_fmod_compat.c @@ -7,8 +7,9 @@ # define LIBM_SVID_COMPAT 1 # undef compat_symbol # define compat_symbol(a, b, c, d) -#endif -#include <math/w_fmod_compat.c> -#ifdef SHARED +# include <math/w_fmod_compat.c> libm_alias_double (__fmod_compat, fmod) +#else +#include <math-type-macros-double.h> +#include <w_fmod_template.c> #endif diff --git a/sysdeps/i386/fpu/w_fmodf_compat.c b/sysdeps/i386/fpu/w_fmodf_compat.c index cc417e07d3..5a61693e51 100644 --- a/sysdeps/i386/fpu/w_fmodf_compat.c +++ b/sysdeps/i386/fpu/w_fmodf_compat.c @@ -7,8 +7,9 @@ # define LIBM_SVID_COMPAT 1 # undef compat_symbol # define compat_symbol(a, b, c, d) -#endif -#include <math/w_fmodf_compat.c> -#ifdef SHARED +# include <math/w_fmodf_compat.c> libm_alias_float (__fmod_compat, fmod) +#else +#include <math-type-macros-float.h> +#include <w_fmod_template.c> #endif |