mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-02 17:50:20 +00:00
math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
The commit16439f419b
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 commit0b716305df
)
This commit is contained in:
parent
74630b1bb7
commit
6cb25aff85
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user