about summary refs log tree commit diff
path: root/sysdeps/m68k/m680x0
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-03-14 14:59:35 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-05-21 13:43:39 -0300
commit0b716305dfb48c2d13ed4f7d06c082b90c1d226f (patch)
treeedc9787e4ccaaef298e4cb47e8aa3b0045ce25ed /sysdeps/m68k/m680x0
parent437c94e04b82b410d72e173c2bfacd8af27abc53 (diff)
downloadglibc-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/m68k/m680x0')
-rw-r--r--sysdeps/m68k/m680x0/fpu/w_fmod_compat.c5
-rw-r--r--sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/sysdeps/m68k/m680x0/fpu/w_fmod_compat.c b/sysdeps/m68k/m680x0/fpu/w_fmod_compat.c
index 527d4fbed2..57f38091e6 100644
--- a/sysdeps/m68k/m680x0/fpu/w_fmod_compat.c
+++ b/sysdeps/m68k/m680x0/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
 libm_alias_double (__fmod_compat, fmod)
+#else
+#include <math-type-macros-double.h>
+#include <w_fmod_template.c>
 #endif
diff --git a/sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c b/sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c
index 5043586b91..88db07f443 100644
--- a/sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c
+++ b/sysdeps/m68k/m680x0/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