aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-03-14 14:59:35 -0300
committerAurelien Jarno <aurelien@aurel32.net>2024-07-02 14:25:52 +0200
commit6cb25aff8583421cf7a55ddd40abd7bd49176c60 (patch)
treec52cdad1a96889ae7d4d8f91488aa354f5c4c1c7 /sysdeps/ieee754
parent74630b1bb717fb98f4692261f2be8d5c84851fa3 (diff)
downloadglibc-6cb25aff8583421cf7a55ddd40abd7bd49176c60.zip
glibc-6cb25aff8583421cf7a55ddd40abd7bd49176c60.tar.gz
glibc-6cb25aff8583421cf7a55ddd40abd7bd49176c60.tar.bz2
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> (cherry picked from commit 0b716305dfb48c2d13ed4f7d06c082b90c1d226f)
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_ldexpl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
index 1afbe7d..932cc43 100644
--- a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
+++ b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
@@ -17,13 +17,13 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#if IS_IN (libc)
+#if IS_IN (libc) && defined SHARED
# define declare_mgen_alias(f,t)
#endif
#include <math-type-macros-ldouble.h>
#include <s_ldexp_template.c>
-#if IS_IN (libc)
+#if IS_IN (libc) && defined SHARED
long_double_symbol (libc, __ldexpl, ldexpl);
long_double_symbol (libc, __wrap_scalbnl, scalbnl);
#endif