glibc/sysdeps/i386/fpu/w_fmodf_compat.c
Adhemerval Zanella 0b716305df 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>
2024-05-21 13:43:39 -03:00

16 lines
410 B
C

/* i386 provides an optimized __ieee752_fmodf. */
#include <math-svid-compat.h>
#ifdef SHARED
# undef SHLIB_COMPAT
# define SHLIB_COMPAT(a, b, c) 1
# undef LIBM_SVID_COMPAT
# define LIBM_SVID_COMPAT 1
# undef compat_symbol
# define compat_symbol(a, b, c, d)
# 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