aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-09-05 23:35:55 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-09-05 23:35:55 +0000
commit4f3647e46e3f645c6516faa299efc6e89d520d7b (patch)
treeb2fb27343f3825d5da1c29ba173aa71fabcf24c1
parent05b38d64b1a3451d1fa10794b01dbc9bebe6a398 (diff)
downloadglibc-4f3647e46e3f645c6516faa299efc6e89d520d7b.zip
glibc-4f3647e46e3f645c6516faa299efc6e89d520d7b.tar.gz
glibc-4f3647e46e3f645c6516faa299efc6e89d520d7b.tar.bz2
Prefer new libm function wrappers for !LIBM_SVID_COMPAT.
The initial obsoletion of SVID libm error handling left the old wrappers and __kernel_standard still being used for new ports and static linking, just with macro definitions of _LIB_VERSION and matherr that meant symbols with those names were never actually used and the code for different error handling variants could be optimized out. This patch cleans things up further by eliminating the __kernel_standard use for new ports and static linking. Now, the old wrappers no longer generate any code in the !LIBM_SVID_COMPAT case, while the new errno-only wrappers that were added for float128 support are now also used for float, double and long double in that case. The changes are generally straightforward. The w_scalb*_compat wrappers continue to be used (scalb is obsolescent in the sense of not being supported for float128, but is present in supported standards - the 2001 edition of POSIX and earlier XSI versions - so remains supported for static linking and new ports, as do the float and long double variants that are existing GNU extensions). Those wrappers would only call __kernel_standard in the _LIB_VERSION == _SVID_ case. Since we would like to be able to compile most of glibc without optimization, relying on a static function whose only use is under an if (0) condition being optimized away to avoid an undefined __kernel_standard reference may not be a good idea. Thus, the relevant code in the scalb wrappers has LIBM_SVID_COMPAT conditionals added to guarantee it's not built at all in the case where __kernel_standard does not exist. Just as i386 has its own w_sqrt_compat.c, so w_sqrt.c is also added. ia64 gets dummy w_*.c to prevent those files being built where they would conflict with the ia64 libm, as with its existing w_*_compat.c. Conditions disabling code for !LIBM_SVID_COMPAT are needed in both the math/ wrappers and in the long double wrappers in ldbl-opt (to avoid them setting up aliases and symbol versions for undefined symbols). I hope that future cleanups to how libm function aliases and symbol versioning are done will eliminate the need for most of the ldbl-opt wrappers. Tested for x86_64 and x86, and with build-many-glibcs.py. * sysdeps/generic/math-type-macros-double.h: Include <math-svid-compat.h>. (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. * sysdeps/generic/math-type-macros-float.h: Include <math-svid-compat.h>. (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. * sysdeps/generic/math-type-macros-ldouble.h: Include <math-svid-compat.h>. (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT. * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT condition. * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT]. * math/w_acosf_compat.c: Likewise. * math/w_acosh_compat.c: Likewise. * math/w_acoshf_compat.c: Likewise. * math/w_acoshl_compat.c: Likewise. * math/w_acosl_compat.c: Likewise. * math/w_asin_compat.c: Likewise. * math/w_asinf_compat.c: Likewise. * math/w_asinl_compat.c: Likewise. * math/w_atan2_compat.c: Likewise. * math/w_atan2f_compat.c: Likewise. * math/w_atan2l_compat.c: Likewise. * math/w_atanh_compat.c: Likewise. * math/w_atanhf_compat.c: Likewise. * math/w_atanhl_compat.c: Likewise. * math/w_cosh_compat.c: Likewise. * math/w_coshf_compat.c: Likewise. * math/w_coshl_compat.c: Likewise. * math/w_exp10_compat.c: Likewise. * math/w_exp10f_compat.c: Likewise. * math/w_exp10l_compat.c: Likewise. * math/w_exp2_compat.c: Likewise. * math/w_exp2f_compat.c: Likewise. * math/w_exp2l_compat.c: Likewise. * math/w_fmod_compat.c: Likewise. * math/w_fmodf_compat.c: Likewise. * math/w_fmodl_compat.c: Likewise. * math/w_hypot_compat.c: Likewise. * math/w_hypotf_compat.c: Likewise. * math/w_hypotl_compat.c: Likewise. * math/w_j0_compat.c: Likewise. * math/w_j0f_compat.c: Likewise. * math/w_j0l_compat.c: Likewise. * math/w_j1_compat.c: Likewise. * math/w_j1f_compat.c: Likewise. * math/w_j1l_compat.c: Likewise. * math/w_jn_compat.c: Likewise. * math/w_jnf_compat.c: Likewise. * math/w_jnl_compat.c: Likewise. * math/w_lgamma_r_compat.c: Likewise. * math/w_lgammaf_r_compat.c: Likewise. * math/w_lgammal_r_compat.c: Likewise. * math/w_log10_compat.c: Likewise. * math/w_log10f_compat.c: Likewise. * math/w_log10l_compat.c: Likewise. * math/w_log2_compat.c: Likewise. * math/w_log2f_compat.c: Likewise. * math/w_log2l_compat.c: Likewise. * math/w_log_compat.c: Likewise. * math/w_logf_compat.c: Likewise. * math/w_logl_compat.c: Likewise. * math/w_pow_compat.c: Likewise. * math/w_powf_compat.c: Likewise. * math/w_powl_compat.c: Likewise. * math/w_remainder_compat.c: Likewise. * math/w_remainderf_compat.c: Likewise. * math/w_remainderl_compat.c: Likewise. * math/w_sinh_compat.c: Likewise. * math/w_sinhf_compat.c: Likewise. * math/w_sinhl_compat.c: Likewise. * math/w_sqrt_compat.c: Likewise. * math/w_sqrtf_compat.c: Likewise. * math/w_sqrtl_compat.c: Likewise. * math/w_tgamma_compat.c: Likewise. * math/w_tgammaf_compat.c: Likewise. * math/w_tgammal_compat.c: Likewise. * math/w_scalb_compat.c (sysv_scalb): Condition definition on [LIBM_SVID_COMPAT]. (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT]. * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on [LIBM_SVID_COMPAT]. (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT]. * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on [LIBM_SVID_COMPAT]. (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT]. * sysdeps/i386/fpu/w_sqrt.c: New file. * sysdeps/ia64/fpu/w_acos.c: Likewise. * sysdeps/ia64/fpu/w_acosf.c: Likewise. * sysdeps/ia64/fpu/w_acosh.c: Likewise. * sysdeps/ia64/fpu/w_acoshf.c: Likewise. * sysdeps/ia64/fpu/w_acoshl.c: Likewise. * sysdeps/ia64/fpu/w_acosl.c: Likewise. * sysdeps/ia64/fpu/w_asin.c: Likewise. * sysdeps/ia64/fpu/w_asinf.c: Likewise. * sysdeps/ia64/fpu/w_asinl.c: Likewise. * sysdeps/ia64/fpu/w_atan2.c: Likewise. * sysdeps/ia64/fpu/w_atan2f.c: Likewise. * sysdeps/ia64/fpu/w_atan2l.c: Likewise. * sysdeps/ia64/fpu/w_atanh.c: Likewise. * sysdeps/ia64/fpu/w_atanhf.c: Likewise. * sysdeps/ia64/fpu/w_atanhl.c: Likewise. * sysdeps/ia64/fpu/w_cosh.c: Likewise. * sysdeps/ia64/fpu/w_coshf.c: Likewise. * sysdeps/ia64/fpu/w_coshl.c: Likewise. * sysdeps/ia64/fpu/w_exp.c: Likewise. * sysdeps/ia64/fpu/w_exp10.c: Likewise. * sysdeps/ia64/fpu/w_exp10f.c: Likewise. * sysdeps/ia64/fpu/w_exp10l.c: Likewise. * sysdeps/ia64/fpu/w_exp2.c: Likewise. * sysdeps/ia64/fpu/w_exp2f.c: Likewise. * sysdeps/ia64/fpu/w_exp2l.c: Likewise. * sysdeps/ia64/fpu/w_expf.c: Likewise. * sysdeps/ia64/fpu/w_expl.c: Likewise. * sysdeps/ia64/fpu/w_fmod.c: Likewise. * sysdeps/ia64/fpu/w_fmodf.c: Likewise. * sysdeps/ia64/fpu/w_fmodl.c: Likewise. * sysdeps/ia64/fpu/w_hypot.c: Likewise. * sysdeps/ia64/fpu/w_hypotf.c: Likewise. * sysdeps/ia64/fpu/w_hypotl.c: Likewise. * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise. * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise. * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise. * sysdeps/ia64/fpu/w_log.c: Likewise. * sysdeps/ia64/fpu/w_log10.c: Likewise. * sysdeps/ia64/fpu/w_log10f.c: Likewise. * sysdeps/ia64/fpu/w_log10l.c: Likewise. * sysdeps/ia64/fpu/w_log2.c: Likewise. * sysdeps/ia64/fpu/w_log2f.c: Likewise. * sysdeps/ia64/fpu/w_log2l.c: Likewise. * sysdeps/ia64/fpu/w_logf.c: Likewise. * sysdeps/ia64/fpu/w_logl.c: Likewise. * sysdeps/ia64/fpu/w_pow.c: Likewise. * sysdeps/ia64/fpu/w_powf.c: Likewise. * sysdeps/ia64/fpu/w_powl.c: Likewise. * sysdeps/ia64/fpu/w_remainder.c: Likewise. * sysdeps/ia64/fpu/w_remainderf.c: Likewise. * sysdeps/ia64/fpu/w_remainderl.c: Likewise. * sysdeps/ia64/fpu/w_sinh.c: Likewise. * sysdeps/ia64/fpu/w_sinhf.c: Likewise. * sysdeps/ia64/fpu/w_sinhl.c: Likewise. * sysdeps/ia64/fpu/w_sqrt.c: Likewise. * sysdeps/ia64/fpu/w_sqrtf.c: Likewise. * sysdeps/ia64/fpu/w_sqrtl.c: Likewise. * sysdeps/ia64/fpu/w_tgamma.c: Likewise. * sysdeps/ia64/fpu/w_tgammaf.c: Likewise. * sysdeps/ia64/fpu/w_tgammal.c: Likewise. * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on [LIBM_SVID_COMPAT]. * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise. * sysdeps/ieee754/k_standard.c: Likewise. * sysdeps/ieee754/k_standardf.c: Likewise. * sysdeps/ieee754/k_standardl.c: Likewise. * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise. * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise. * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition long_double_symbol call on [LIBM_SVID_COMPAT]. * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].
-rw-r--r--ChangeLog183
-rw-r--r--math/lgamma-compat.h3
-rw-r--r--math/w_acos_compat.c4
-rw-r--r--math/w_acosf_compat.c2
-rw-r--r--math/w_acosh_compat.c4
-rw-r--r--math/w_acoshf_compat.c2
-rw-r--r--math/w_acoshl_compat.c2
-rw-r--r--math/w_acosl_compat.c2
-rw-r--r--math/w_asin_compat.c4
-rw-r--r--math/w_asinf_compat.c2
-rw-r--r--math/w_asinl_compat.c2
-rw-r--r--math/w_atan2_compat.c4
-rw-r--r--math/w_atan2f_compat.c2
-rw-r--r--math/w_atan2l_compat.c2
-rw-r--r--math/w_atanh_compat.c4
-rw-r--r--math/w_atanhf_compat.c2
-rw-r--r--math/w_atanhl_compat.c2
-rw-r--r--math/w_cosh_compat.c4
-rw-r--r--math/w_coshf_compat.c2
-rw-r--r--math/w_coshl_compat.c2
-rw-r--r--math/w_exp10_compat.c10
-rw-r--r--math/w_exp10f_compat.c4
-rw-r--r--math/w_exp10l_compat.c4
-rw-r--r--math/w_exp2_compat.c4
-rw-r--r--math/w_exp2f_compat.c2
-rw-r--r--math/w_exp2l_compat.c2
-rw-r--r--math/w_fmod_compat.c4
-rw-r--r--math/w_fmodf_compat.c2
-rw-r--r--math/w_fmodl_compat.c2
-rw-r--r--math/w_hypot_compat.c4
-rw-r--r--math/w_hypotf_compat.c2
-rw-r--r--math/w_hypotl_compat.c2
-rw-r--r--math/w_j0_compat.c8
-rw-r--r--math/w_j0f_compat.c2
-rw-r--r--math/w_j0l_compat.c2
-rw-r--r--math/w_j1_compat.c8
-rw-r--r--math/w_j1f_compat.c2
-rw-r--r--math/w_j1l_compat.c2
-rw-r--r--math/w_jn_compat.c8
-rw-r--r--math/w_jnf_compat.c2
-rw-r--r--math/w_jnl_compat.c14
-rw-r--r--math/w_lgamma_r_compat.c4
-rw-r--r--math/w_lgammaf_r_compat.c2
-rw-r--r--math/w_lgammal_r_compat.c2
-rw-r--r--math/w_log10_compat.c4
-rw-r--r--math/w_log10f_compat.c2
-rw-r--r--math/w_log10l_compat.c2
-rw-r--r--math/w_log2_compat.c4
-rw-r--r--math/w_log2f_compat.c2
-rw-r--r--math/w_log2l_compat.c2
-rw-r--r--math/w_log_compat.c4
-rw-r--r--math/w_logf_compat.c2
-rw-r--r--math/w_logl_compat.c2
-rw-r--r--math/w_pow_compat.c4
-rw-r--r--math/w_powf_compat.c2
-rw-r--r--math/w_powl_compat.c2
-rw-r--r--math/w_remainder_compat.c4
-rw-r--r--math/w_remainderf_compat.c2
-rw-r--r--math/w_remainderl_compat.c2
-rw-r--r--math/w_scalb_compat.c4
-rw-r--r--math/w_scalbf_compat.c4
-rw-r--r--math/w_scalbl_compat.c4
-rw-r--r--math/w_sinh_compat.c4
-rw-r--r--math/w_sinhf_compat.c2
-rw-r--r--math/w_sinhl_compat.c2
-rw-r--r--math/w_sqrt_compat.c4
-rw-r--r--math/w_sqrtf_compat.c2
-rw-r--r--math/w_sqrtl_compat.c2
-rw-r--r--math/w_tgamma_compat.c4
-rw-r--r--math/w_tgammaf_compat.c2
-rw-r--r--math/w_tgammal_compat.c2
-rw-r--r--sysdeps/generic/math-type-macros-double.h6
-rw-r--r--sysdeps/generic/math-type-macros-float.h6
-rw-r--r--sysdeps/generic/math-type-macros-ldouble.h6
-rw-r--r--sysdeps/i386/fpu/w_sqrt.c9
-rw-r--r--sysdeps/ia64/fpu/w_acos.c1
-rw-r--r--sysdeps/ia64/fpu/w_acosf.c1
-rw-r--r--sysdeps/ia64/fpu/w_acosh.c1
-rw-r--r--sysdeps/ia64/fpu/w_acoshf.c1
-rw-r--r--sysdeps/ia64/fpu/w_acoshl.c1
-rw-r--r--sysdeps/ia64/fpu/w_acosl.c1
-rw-r--r--sysdeps/ia64/fpu/w_asin.c1
-rw-r--r--sysdeps/ia64/fpu/w_asinf.c1
-rw-r--r--sysdeps/ia64/fpu/w_asinl.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2f.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2l.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanh.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanhf.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanhl.c1
-rw-r--r--sysdeps/ia64/fpu/w_cosh.c1
-rw-r--r--sysdeps/ia64/fpu/w_coshf.c1
-rw-r--r--sysdeps/ia64/fpu/w_coshl.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp10.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp10f.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp10l.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2f.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2l.c1
-rw-r--r--sysdeps/ia64/fpu/w_expf.c1
-rw-r--r--sysdeps/ia64/fpu/w_expl.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmod.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmodf.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmodl.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypot.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypotf.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypotl.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_r.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_r.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_r.c1
-rw-r--r--sysdeps/ia64/fpu/w_log.c1
-rw-r--r--sysdeps/ia64/fpu/w_log10.c1
-rw-r--r--sysdeps/ia64/fpu/w_log10f.c1
-rw-r--r--sysdeps/ia64/fpu/w_log10l.c1
-rw-r--r--sysdeps/ia64/fpu/w_log2.c1
-rw-r--r--sysdeps/ia64/fpu/w_log2f.c1
-rw-r--r--sysdeps/ia64/fpu/w_log2l.c1
-rw-r--r--sysdeps/ia64/fpu/w_logf.c1
-rw-r--r--sysdeps/ia64/fpu/w_logl.c1
-rw-r--r--sysdeps/ia64/fpu/w_pow.c1
-rw-r--r--sysdeps/ia64/fpu/w_powf.c1
-rw-r--r--sysdeps/ia64/fpu/w_powl.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainder.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainderf.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainderl.c1
-rw-r--r--sysdeps/ia64/fpu/w_sinh.c1
-rw-r--r--sysdeps/ia64/fpu/w_sinhf.c1
-rw-r--r--sysdeps/ia64/fpu/w_sinhl.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrt.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrtf.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrtl.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgamma.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammaf.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammal.c1
-rw-r--r--sysdeps/ieee754/dbl-64/w_exp_compat.c4
-rw-r--r--sysdeps/ieee754/flt-32/w_expf_compat.c2
-rw-r--r--sysdeps/ieee754/k_standard.c37
-rw-r--r--sysdeps/ieee754/k_standardf.c2
-rw-r--r--sysdeps/ieee754/k_standardl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/w_expl_compat.c8
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-64-128/w_expl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-96/w_expl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_acosl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_asinl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_coshl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_j0l_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_j1l_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_jnl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_log10l_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_log2l_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_logl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_powl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c2
165 files changed, 535 insertions, 70 deletions
diff --git a/ChangeLog b/ChangeLog
index 92110bd..5e3bc26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,186 @@
+2017-09-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/generic/math-type-macros-double.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * sysdeps/generic/math-type-macros-float.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * sysdeps/generic/math-type-macros-ldouble.h: Include
+ <math-svid-compat.h>.
+ (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
+ * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT
+ condition.
+ * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT].
+ * math/w_acosf_compat.c: Likewise.
+ * math/w_acosh_compat.c: Likewise.
+ * math/w_acoshf_compat.c: Likewise.
+ * math/w_acoshl_compat.c: Likewise.
+ * math/w_acosl_compat.c: Likewise.
+ * math/w_asin_compat.c: Likewise.
+ * math/w_asinf_compat.c: Likewise.
+ * math/w_asinl_compat.c: Likewise.
+ * math/w_atan2_compat.c: Likewise.
+ * math/w_atan2f_compat.c: Likewise.
+ * math/w_atan2l_compat.c: Likewise.
+ * math/w_atanh_compat.c: Likewise.
+ * math/w_atanhf_compat.c: Likewise.
+ * math/w_atanhl_compat.c: Likewise.
+ * math/w_cosh_compat.c: Likewise.
+ * math/w_coshf_compat.c: Likewise.
+ * math/w_coshl_compat.c: Likewise.
+ * math/w_exp10_compat.c: Likewise.
+ * math/w_exp10f_compat.c: Likewise.
+ * math/w_exp10l_compat.c: Likewise.
+ * math/w_exp2_compat.c: Likewise.
+ * math/w_exp2f_compat.c: Likewise.
+ * math/w_exp2l_compat.c: Likewise.
+ * math/w_fmod_compat.c: Likewise.
+ * math/w_fmodf_compat.c: Likewise.
+ * math/w_fmodl_compat.c: Likewise.
+ * math/w_hypot_compat.c: Likewise.
+ * math/w_hypotf_compat.c: Likewise.
+ * math/w_hypotl_compat.c: Likewise.
+ * math/w_j0_compat.c: Likewise.
+ * math/w_j0f_compat.c: Likewise.
+ * math/w_j0l_compat.c: Likewise.
+ * math/w_j1_compat.c: Likewise.
+ * math/w_j1f_compat.c: Likewise.
+ * math/w_j1l_compat.c: Likewise.
+ * math/w_jn_compat.c: Likewise.
+ * math/w_jnf_compat.c: Likewise.
+ * math/w_jnl_compat.c: Likewise.
+ * math/w_lgamma_r_compat.c: Likewise.
+ * math/w_lgammaf_r_compat.c: Likewise.
+ * math/w_lgammal_r_compat.c: Likewise.
+ * math/w_log10_compat.c: Likewise.
+ * math/w_log10f_compat.c: Likewise.
+ * math/w_log10l_compat.c: Likewise.
+ * math/w_log2_compat.c: Likewise.
+ * math/w_log2f_compat.c: Likewise.
+ * math/w_log2l_compat.c: Likewise.
+ * math/w_log_compat.c: Likewise.
+ * math/w_logf_compat.c: Likewise.
+ * math/w_logl_compat.c: Likewise.
+ * math/w_pow_compat.c: Likewise.
+ * math/w_powf_compat.c: Likewise.
+ * math/w_powl_compat.c: Likewise.
+ * math/w_remainder_compat.c: Likewise.
+ * math/w_remainderf_compat.c: Likewise.
+ * math/w_remainderl_compat.c: Likewise.
+ * math/w_sinh_compat.c: Likewise.
+ * math/w_sinhf_compat.c: Likewise.
+ * math/w_sinhl_compat.c: Likewise.
+ * math/w_sqrt_compat.c: Likewise.
+ * math/w_sqrtf_compat.c: Likewise.
+ * math/w_sqrtl_compat.c: Likewise.
+ * math/w_tgamma_compat.c: Likewise.
+ * math/w_tgammaf_compat.c: Likewise.
+ * math/w_tgammal_compat.c: Likewise.
+ * math/w_scalb_compat.c (sysv_scalb): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT].
+ * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT].
+ * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on
+ [LIBM_SVID_COMPAT].
+ (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT].
+ * sysdeps/i386/fpu/w_sqrt.c: New file.
+ * sysdeps/ia64/fpu/w_acos.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosf.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosh.c: Likewise.
+ * sysdeps/ia64/fpu/w_acoshf.c: Likewise.
+ * sysdeps/ia64/fpu/w_acoshl.c: Likewise.
+ * sysdeps/ia64/fpu/w_acosl.c: Likewise.
+ * sysdeps/ia64/fpu/w_asin.c: Likewise.
+ * sysdeps/ia64/fpu/w_asinf.c: Likewise.
+ * sysdeps/ia64/fpu/w_asinl.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_atan2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanh.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanhf.c: Likewise.
+ * sysdeps/ia64/fpu/w_atanhl.c: Likewise.
+ * sysdeps/ia64/fpu/w_cosh.c: Likewise.
+ * sysdeps/ia64/fpu/w_coshf.c: Likewise.
+ * sysdeps/ia64/fpu/w_coshl.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10f.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp10l.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_exp2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_expf.c: Likewise.
+ * sysdeps/ia64/fpu/w_expl.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmod.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmodf.c: Likewise.
+ * sysdeps/ia64/fpu/w_fmodl.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypot.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypotf.c: Likewise.
+ * sysdeps/ia64/fpu/w_hypotl.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
+ * sysdeps/ia64/fpu/w_log.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10f.c: Likewise.
+ * sysdeps/ia64/fpu/w_log10l.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2f.c: Likewise.
+ * sysdeps/ia64/fpu/w_log2l.c: Likewise.
+ * sysdeps/ia64/fpu/w_logf.c: Likewise.
+ * sysdeps/ia64/fpu/w_logl.c: Likewise.
+ * sysdeps/ia64/fpu/w_pow.c: Likewise.
+ * sysdeps/ia64/fpu/w_powf.c: Likewise.
+ * sysdeps/ia64/fpu/w_powl.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainder.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainderf.c: Likewise.
+ * sysdeps/ia64/fpu/w_remainderl.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinh.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinhf.c: Likewise.
+ * sysdeps/ia64/fpu/w_sinhl.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrt.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrtf.c: Likewise.
+ * sysdeps/ia64/fpu/w_sqrtl.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgamma.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgammaf.c: Likewise.
+ * sysdeps/ia64/fpu/w_tgammal.c: Likewise.
+ * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on
+ [LIBM_SVID_COMPAT].
+ * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
+ * sysdeps/ieee754/k_standard.c: Likewise.
+ * sysdeps/ieee754/k_standardf.c: Likewise.
+ * sysdeps/ieee754/k_standardl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition
+ long_double_symbol call on [LIBM_SVID_COMPAT].
+ * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
+ * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition
+ long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].
+
2017-09-05 Steve Ellcey <sellcey@cavium.com>
* include/shlib-compat.h (TEST_COMPAT): New Macro.
diff --git a/math/lgamma-compat.h b/math/lgamma-compat.h
index 189d126..b7b6b36 100644
--- a/math/lgamma-compat.h
+++ b/math/lgamma-compat.h
@@ -41,7 +41,8 @@
#define HAVE_LGAMMA_COMPAT SHLIB_COMPAT (libm, LGAMMA_OLD_VER, LGAMMA_NEW_VER)
/* Whether to build this version at all. */
-#define BUILD_LGAMMA (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT)
+#define BUILD_LGAMMA \
+ (LIBM_SVID_COMPAT && (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT))
/* The name to use for this version. */
#if USE_AS_COMPAT
diff --git a/math/w_acos_compat.c b/math/w_acos_compat.c
index 5115732..1930105 100644
--- a/math/w_acos_compat.c
+++ b/math/w_acos_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acos */
double
__acos (double x)
@@ -37,7 +38,8 @@ __acos (double x)
return __ieee754_acos (x);
}
weak_alias (__acos, acos)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__acos, __acosl)
weak_alias (__acos, acosl)
+# endif
#endif
diff --git a/math/w_acosf_compat.c b/math/w_acosf_compat.c
index 0bf557c..97cac13 100644
--- a/math/w_acosf_compat.c
+++ b/math/w_acosf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosf */
float
__acosf (float x)
@@ -37,3 +38,4 @@ __acosf (float x)
return __ieee754_acosf (x);
}
weak_alias (__acosf, acosf)
+#endif
diff --git a/math/w_acosh_compat.c b/math/w_acosh_compat.c
index 31251ce..f6d298e 100644
--- a/math/w_acosh_compat.c
+++ b/math/w_acosh_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosh */
double
__acosh (double x)
@@ -32,7 +33,8 @@ __acosh (double x)
return __ieee754_acosh (x);
}
weak_alias (__acosh, acosh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__acosh, __acoshl)
weak_alias (__acosh, acoshl)
+# endif
#endif
diff --git a/math/w_acoshf_compat.c b/math/w_acoshf_compat.c
index 6a4482e..7a8c87b 100644
--- a/math/w_acoshf_compat.c
+++ b/math/w_acoshf_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acoshf */
float
__acoshf (float x)
@@ -32,3 +33,4 @@ __acoshf (float x)
return __ieee754_acoshf (x);
}
weak_alias (__acoshf, acoshf)
+#endif
diff --git a/math/w_acoshl_compat.c b/math/w_acoshl_compat.c
index b9f66c5..79d0370 100644
--- a/math/w_acoshl_compat.c
+++ b/math/w_acoshl_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosl */
long double
__acoshl (long double x)
@@ -32,3 +33,4 @@ __acoshl (long double x)
return __ieee754_acoshl (x);
}
weak_alias (__acoshl, acoshl)
+#endif
diff --git a/math/w_acosl_compat.c b/math/w_acosl_compat.c
index 66600b5..7d2f183 100644
--- a/math/w_acosl_compat.c
+++ b/math/w_acosl_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper acosl */
long double
__acosl (long double x)
@@ -37,3 +38,4 @@ __acosl (long double x)
return __ieee754_acosl (x);
}
weak_alias (__acosl, acosl)
+#endif
diff --git a/math/w_asin_compat.c b/math/w_asin_compat.c
index 59beea8..7780f85 100644
--- a/math/w_asin_compat.c
+++ b/math/w_asin_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asin */
double
__asin (double x)
@@ -37,7 +38,8 @@ __asin (double x)
return __ieee754_asin (x);
}
weak_alias (__asin, asin)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__asin, __asinl)
weak_alias (__asin, asinl)
+# endif
#endif
diff --git a/math/w_asinf_compat.c b/math/w_asinf_compat.c
index 0eb20b1..10ee323 100644
--- a/math/w_asinf_compat.c
+++ b/math/w_asinf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asinf */
float
__asinf (float x)
@@ -37,3 +38,4 @@ __asinf (float x)
return __ieee754_asinf (x);
}
weak_alias (__asinf, asinf)
+#endif
diff --git a/math/w_asinl_compat.c b/math/w_asinl_compat.c
index c8f4d15..c9e1a34 100644
--- a/math/w_asinl_compat.c
+++ b/math/w_asinl_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper asinl */
long double
__asinl (long double x)
@@ -37,3 +38,4 @@ __asinl (long double x)
return __ieee754_asinl (x);
}
weak_alias (__asinl, asinl)
+#endif
diff --git a/math/w_atan2_compat.c b/math/w_atan2_compat.c
index fa098ff..1ca3349 100644
--- a/math/w_atan2_compat.c
+++ b/math/w_atan2_compat.c
@@ -26,6 +26,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__atan2 (double y, double x)
{
@@ -40,7 +41,8 @@ __atan2 (double y, double x)
return z;
}
weak_alias (__atan2, atan2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__atan2, __atan2l)
weak_alias (__atan2, atan2l)
+# endif
#endif
diff --git a/math/w_atan2f_compat.c b/math/w_atan2f_compat.c
index 15e05d8..8d7ad71 100644
--- a/math/w_atan2f_compat.c
+++ b/math/w_atan2f_compat.c
@@ -26,6 +26,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__atan2f (float y, float x)
{
@@ -40,3 +41,4 @@ __atan2f (float y, float x)
return z;
}
weak_alias (__atan2f, atan2f)
+#endif
diff --git a/math/w_atan2l_compat.c b/math/w_atan2l_compat.c
index 87b7394..9dc2b14 100644
--- a/math/w_atan2l_compat.c
+++ b/math/w_atan2l_compat.c
@@ -26,6 +26,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__atan2l (long double y, long double x)
{
@@ -40,3 +41,4 @@ __atan2l (long double y, long double x)
return z;
}
weak_alias (__atan2l, atan2l)
+#endif
diff --git a/math/w_atanh_compat.c b/math/w_atanh_compat.c
index f7a43be..c2cbb2e 100644
--- a/math/w_atanh_compat.c
+++ b/math/w_atanh_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanh */
double
__atanh (double x)
@@ -35,7 +36,8 @@ __atanh (double x)
return __ieee754_atanh (x);
}
weak_alias (__atanh, atanh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__atanh, __atanhl)
weak_alias (__atanh, atanhl)
+# endif
#endif
diff --git a/math/w_atanhf_compat.c b/math/w_atanhf_compat.c
index c9d2c3a..6045188 100644
--- a/math/w_atanhf_compat.c
+++ b/math/w_atanhf_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanhf */
float
__atanhf (float x)
@@ -35,3 +36,4 @@ __atanhf (float x)
return __ieee754_atanhf (x);
}
weak_alias (__atanhf, atanhf)
+#endif
diff --git a/math/w_atanhl_compat.c b/math/w_atanhl_compat.c
index 56f9f1e..837a665 100644
--- a/math/w_atanhl_compat.c
+++ b/math/w_atanhl_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper atanhl */
long double
__atanhl (long double x)
@@ -35,3 +36,4 @@ __atanhl (long double x)
return __ieee754_atanhl (x);
}
weak_alias (__atanhl, atanhl)
+#endif
diff --git a/math/w_cosh_compat.c b/math/w_cosh_compat.c
index fd16436..d0cb6b1 100644
--- a/math/w_cosh_compat.c
+++ b/math/w_cosh_compat.c
@@ -18,6 +18,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__cosh (double x)
{
@@ -29,7 +30,8 @@ __cosh (double x)
return z;
}
weak_alias (__cosh, cosh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__cosh, __coshl)
weak_alias (__cosh, coshl)
+# endif
#endif
diff --git a/math/w_coshf_compat.c b/math/w_coshf_compat.c
index dd62281..b5d5316 100644
--- a/math/w_coshf_compat.c
+++ b/math/w_coshf_compat.c
@@ -22,6 +22,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__coshf (float x)
{
@@ -33,3 +34,4 @@ __coshf (float x)
return z;
}
weak_alias (__coshf, coshf)
+#endif
diff --git a/math/w_coshl_compat.c b/math/w_coshl_compat.c
index 5fa32be..4dab6ef 100644
--- a/math/w_coshl_compat.c
+++ b/math/w_coshl_compat.c
@@ -23,6 +23,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__coshl (long double x)
{
@@ -34,3 +35,4 @@ __coshl (long double x)
return z;
}
weak_alias (__coshl, coshl)
+#endif
diff --git a/math/w_exp10_compat.c b/math/w_exp10_compat.c
index 5256f5b..42dc312 100644
--- a/math/w_exp10_compat.c
+++ b/math/w_exp10_compat.c
@@ -25,6 +25,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__exp10 (double x)
{
@@ -37,15 +38,16 @@ __exp10 (double x)
return z;
}
weak_alias (__exp10, exp10)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10, __pow10)
compat_symbol (libm, __pow10, pow10, GLIBC_2_1);
-#endif
-#ifdef NO_LONG_DOUBLE
+# endif
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp10, __exp10l)
weak_alias (__exp10, exp10l)
-# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
# endif
#endif
diff --git a/math/w_exp10f_compat.c b/math/w_exp10f_compat.c
index c559e6a..bacf2eb 100644
--- a/math/w_exp10f_compat.c
+++ b/math/w_exp10f_compat.c
@@ -25,6 +25,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__exp10f (float x)
{
@@ -37,7 +38,8 @@ __exp10f (float x)
return z;
}
weak_alias (__exp10f, exp10f)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10f, __pow10f)
compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
+# endif
#endif
diff --git a/math/w_exp10l_compat.c b/math/w_exp10l_compat.c
index 03b7ce9..3d7d66d 100644
--- a/math/w_exp10l_compat.c
+++ b/math/w_exp10l_compat.c
@@ -25,6 +25,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__exp10l (long double x)
{
@@ -37,7 +38,8 @@ __exp10l (long double x)
return z;
}
weak_alias (__exp10l, exp10l)
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
#endif
diff --git a/math/w_exp2_compat.c b/math/w_exp2_compat.c
index a4d4653..5739547 100644
--- a/math/w_exp2_compat.c
+++ b/math/w_exp2_compat.c
@@ -6,6 +6,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__exp2 (double x)
{
@@ -18,7 +19,8 @@ __exp2 (double x)
return z;
}
weak_alias (__exp2, exp2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp2, __exp2l)
weak_alias (__exp2, exp2l)
+# endif
#endif
diff --git a/math/w_exp2f_compat.c b/math/w_exp2f_compat.c
index b21fe36..b058dae 100644
--- a/math/w_exp2f_compat.c
+++ b/math/w_exp2f_compat.c
@@ -6,6 +6,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__exp2f (float x)
{
@@ -18,3 +19,4 @@ __exp2f (float x)
return z;
}
weak_alias (__exp2f, exp2f)
+#endif
diff --git a/math/w_exp2l_compat.c b/math/w_exp2l_compat.c
index 04cd666..96d4b96 100644
--- a/math/w_exp2l_compat.c
+++ b/math/w_exp2l_compat.c
@@ -6,6 +6,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__exp2l (long double x)
{
@@ -18,3 +19,4 @@ __exp2l (long double x)
return z;
}
weak_alias (__exp2l, exp2l)
+#endif
diff --git a/math/w_fmod_compat.c b/math/w_fmod_compat.c
index 1079d3a..f75b861 100644
--- a/math/w_fmod_compat.c
+++ b/math/w_fmod_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmod */
double
__fmod (double x, double y)
@@ -32,7 +33,8 @@ __fmod (double x, double y)
return __ieee754_fmod (x, y);
}
weak_alias (__fmod, fmod)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__fmod, __fmodl)
weak_alias (__fmod, fmodl)
+# endif
#endif
diff --git a/math/w_fmodf_compat.c b/math/w_fmodf_compat.c
index 88b64a2..a2739d8 100644
--- a/math/w_fmodf_compat.c
+++ b/math/w_fmodf_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmodf */
float
__fmodf (float x, float y)
@@ -32,3 +33,4 @@ __fmodf (float x, float y)
return __ieee754_fmodf (x, y);
}
weak_alias (__fmodf, fmodf)
+#endif
diff --git a/math/w_fmodl_compat.c b/math/w_fmodl_compat.c
index 23422fa..3136e82 100644
--- a/math/w_fmodl_compat.c
+++ b/math/w_fmodl_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper fmodl */
long double
__fmodl (long double x, long double y)
@@ -32,3 +33,4 @@ __fmodl (long double x, long double y)
return __ieee754_fmodl (x, y);
}
weak_alias (__fmodl, fmodl)
+#endif
diff --git a/math/w_hypot_compat.c b/math/w_hypot_compat.c
index ff3774c..21c7e65 100644
--- a/math/w_hypot_compat.c
+++ b/math/w_hypot_compat.c
@@ -19,6 +19,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__hypot (double x, double y)
{
@@ -30,7 +31,8 @@ __hypot (double x, double y)
return z;
}
weak_alias (__hypot, hypot)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__hypot, __hypotl)
weak_alias (__hypot, hypotl)
+# endif
#endif
diff --git a/math/w_hypotf_compat.c b/math/w_hypotf_compat.c
index 0a43d90..8e6d234 100644
--- a/math/w_hypotf_compat.c
+++ b/math/w_hypotf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__hypotf(float x, float y)
{
@@ -34,3 +35,4 @@ __hypotf(float x, float y)
return z;
}
weak_alias (__hypotf, hypotf)
+#endif
diff --git a/math/w_hypotl_compat.c b/math/w_hypotl_compat.c
index 13060f7..bc56d29 100644
--- a/math/w_hypotl_compat.c
+++ b/math/w_hypotl_compat.c
@@ -23,6 +23,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__hypotl(long double x, long double y)
{
@@ -35,3 +36,4 @@ __hypotl(long double x, long double y)
return z;
}
weak_alias (__hypotl, hypotl)
+#endif
diff --git a/math/w_j0_compat.c b/math/w_j0_compat.c
index 80d21ac..3df71e0 100644
--- a/math/w_j0_compat.c
+++ b/math/w_j0_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0 */
double
j0 (double x)
@@ -33,9 +34,9 @@ j0 (double x)
return __ieee754_j0 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (j0, j0l)
-#endif
+# endif
/* wrapper y0 */
@@ -64,6 +65,7 @@ y0 (double x)
return __ieee754_y0 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (y0, y0l)
+# endif
#endif
diff --git a/math/w_j0f_compat.c b/math/w_j0f_compat.c
index 36fc4f9..e9ac74f 100644
--- a/math/w_j0f_compat.c
+++ b/math/w_j0f_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0f */
float
j0f (float x)
@@ -62,3 +63,4 @@ y0f (float x)
return __ieee754_y0f (x);
}
+#endif
diff --git a/math/w_j0l_compat.c b/math/w_j0l_compat.c
index ff7e1b1..76ec812 100644
--- a/math/w_j0l_compat.c
+++ b/math/w_j0l_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j0l */
long double
__j0l (long double x)
@@ -63,3 +64,4 @@ __y0l (long double x)
return __ieee754_y0l (x);
}
weak_alias (__y0l, y0l)
+#endif
diff --git a/math/w_j1_compat.c b/math/w_j1_compat.c
index f7a76c1..be788f9 100644
--- a/math/w_j1_compat.c
+++ b/math/w_j1_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1 */
double
j1 (double x)
@@ -33,9 +34,9 @@ j1 (double x)
return __ieee754_j1 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (j1, j1l)
-#endif
+# endif
/* wrapper y1 */
@@ -64,6 +65,7 @@ y1 (double x)
return __ieee754_y1 (x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (y1, y1l)
+# endif
#endif
diff --git a/math/w_j1f_compat.c b/math/w_j1f_compat.c
index 9aa5c8c..c3222bb 100644
--- a/math/w_j1f_compat.c
+++ b/math/w_j1f_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1f */
float
j1f (float x)
@@ -62,3 +63,4 @@ y1f (float x)
return __ieee754_y1f (x);
}
+#endif
diff --git a/math/w_j1l_compat.c b/math/w_j1l_compat.c
index 7e6d9f5..c3acfdf 100644
--- a/math/w_j1l_compat.c
+++ b/math/w_j1l_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper j1l */
long double
__j1l (long double x)
@@ -63,3 +64,4 @@ __y1l (long double x)
return __ieee754_y1l (x);
}
weak_alias (__y1l, y1l)
+#endif
diff --git a/math/w_jn_compat.c b/math/w_jn_compat.c
index 7c49992..496c779 100644
--- a/math/w_jn_compat.c
+++ b/math/w_jn_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper jn */
double
jn (int n, double x)
@@ -33,9 +34,9 @@ jn (int n, double x)
return __ieee754_jn (n, x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (jn, jnl)
-#endif
+# endif
/* wrapper yn */
@@ -64,6 +65,7 @@ yn (int n, double x)
return __ieee754_yn (n, x);
}
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
weak_alias (yn, ynl)
+# endif
#endif
diff --git a/math/w_jnf_compat.c b/math/w_jnf_compat.c
index ead40e7..440d53d 100644
--- a/math/w_jnf_compat.c
+++ b/math/w_jnf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper jnf */
float
jnf (int n, float x)
@@ -62,3 +63,4 @@ ynf (int n, float x)
return __ieee754_ynf (n, x);
}
+#endif
diff --git a/math/w_jnl_compat.c b/math/w_jnl_compat.c
index bc41635..7298c73 100644
--- a/math/w_jnl_compat.c
+++ b/math/w_jnl_compat.c
@@ -48,11 +48,12 @@ static char rcsid[] = "$NetBSD: $";
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double __jnl(int n, long double x) /* wrapper jnl */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_jnl(n,x);
-#else
+# else
long double z;
z = __ieee754_jnl(n,x);
if (_LIB_VERSION == _IEEE_
@@ -63,15 +64,15 @@ long double __jnl(int n, long double x) /* wrapper jnl */
return __kernel_standard_l((double)n,x,238); /* jn(|x|>X_TLOSS,n) */
} else
return z;
-#endif
+# endif
}
weak_alias (__jnl, jnl)
long double __ynl(int n, long double x) /* wrapper ynl */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_ynl(n,x);
-#else
+# else
long double z;
z = __ieee754_ynl(n,x);
if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
@@ -87,6 +88,7 @@ long double __ynl(int n, long double x) /* wrapper ynl */
return __kernel_standard_l((double)n,x,239); /* yn(x>X_TLOSS,n) */
} else
return z;
-#endif
+# endif
}
weak_alias (__ynl, ynl)
+#endif
diff --git a/math/w_lgamma_r_compat.c b/math/w_lgamma_r_compat.c
index 3f7fbce..f88a5df 100644
--- a/math/w_lgamma_r_compat.c
+++ b/math/w_lgamma_r_compat.c
@@ -19,6 +19,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__lgamma_r(double x, int *signgamp)
{
@@ -33,7 +34,8 @@ __lgamma_r(double x, int *signgamp)
return y;
}
weak_alias (__lgamma_r, lgamma_r)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__lgamma_r, __lgammal_r)
weak_alias (__lgamma_r, lgammal_r)
+# endif
#endif
diff --git a/math/w_lgammaf_r_compat.c b/math/w_lgammaf_r_compat.c
index d9601f4..86003de 100644
--- a/math/w_lgammaf_r_compat.c
+++ b/math/w_lgammaf_r_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__lgammaf_r(float x, int *signgamp)
{
@@ -36,3 +37,4 @@ __lgammaf_r(float x, int *signgamp)
return y;
}
weak_alias (__lgammaf_r, lgammaf_r)
+#endif
diff --git a/math/w_lgammal_r_compat.c b/math/w_lgammal_r_compat.c
index d1b58e4..781bfa4 100644
--- a/math/w_lgammal_r_compat.c
+++ b/math/w_lgammal_r_compat.c
@@ -23,6 +23,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__lgammal_r(long double x, int *signgamp)
{
@@ -37,3 +38,4 @@ __lgammal_r(long double x, int *signgamp)
return y;
}
weak_alias (__lgammal_r, lgammal_r)
+#endif
diff --git a/math/w_log10_compat.c b/math/w_log10_compat.c
index 6f3eb34..b8247aa 100644
--- a/math/w_log10_compat.c
+++ b/math/w_log10_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10(x) */
double
__log10 (double x)
@@ -43,7 +44,8 @@ __log10 (double x)
return __ieee754_log10 (x);
}
weak_alias (__log10, log10)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log10, __log10l)
weak_alias (__log10, log10l)
+# endif
#endif
diff --git a/math/w_log10f_compat.c b/math/w_log10f_compat.c
index 2cb5c9a..151c94b 100644
--- a/math/w_log10f_compat.c
+++ b/math/w_log10f_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10f(x) */
float
__log10f (float x)
@@ -43,3 +44,4 @@ __log10f (float x)
return __ieee754_log10f (x);
}
weak_alias (__log10f, log10f)
+#endif
diff --git a/math/w_log10l_compat.c b/math/w_log10l_compat.c
index 0063c50..88d9c40 100644
--- a/math/w_log10l_compat.c
+++ b/math/w_log10l_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log10l(x) */
long double
__log10l (long double x)
@@ -43,3 +44,4 @@ __log10l (long double x)
return __ieee754_log10l (x);
}
weak_alias (__log10l, log10l)
+#endif
diff --git a/math/w_log2_compat.c b/math/w_log2_compat.c
index 252fc0d..6d1f9f2 100644
--- a/math/w_log2_compat.c
+++ b/math/w_log2_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2(x) */
double
__log2 (double x)
@@ -43,7 +44,8 @@ __log2 (double x)
return __ieee754_log2 (x);
}
weak_alias (__log2, log2)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log2, __log2l)
weak_alias (__log2, log2l)
+# endif
#endif
diff --git a/math/w_log2f_compat.c b/math/w_log2f_compat.c
index 6adaff6..82085d5 100644
--- a/math/w_log2f_compat.c
+++ b/math/w_log2f_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2f(x) */
float
__log2f (float x)
@@ -43,3 +44,4 @@ __log2f (float x)
return __ieee754_log2f (x);
}
weak_alias (__log2f, log2f)
+#endif
diff --git a/math/w_log2l_compat.c b/math/w_log2l_compat.c
index f496c36..cd367f2 100644
--- a/math/w_log2l_compat.c
+++ b/math/w_log2l_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log2l(x) */
long double
__log2l (long double x)
@@ -43,3 +44,4 @@ __log2l (long double x)
return __ieee754_log2l (x);
}
weak_alias (__log2l, log2l)
+#endif
diff --git a/math/w_log_compat.c b/math/w_log_compat.c
index 82f3ff4..80750b4 100644
--- a/math/w_log_compat.c
+++ b/math/w_log_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper log(x) */
double
__log (double x)
@@ -43,7 +44,8 @@ __log (double x)
return __ieee754_log (x);
}
weak_alias (__log, log)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__log, __logl)
weak_alias (__log, logl)
+# endif
#endif
diff --git a/math/w_logf_compat.c b/math/w_logf_compat.c
index ac18b65..4423bd5 100644
--- a/math/w_logf_compat.c
+++ b/math/w_logf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper logf(x) */
float
__logf (float x)
@@ -43,3 +44,4 @@ __logf (float x)
return __ieee754_logf (x);
}
weak_alias (__logf, logf)
+#endif
diff --git a/math/w_logl_compat.c b/math/w_logl_compat.c
index ba65830..e37a174 100644
--- a/math/w_logl_compat.c
+++ b/math/w_logl_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper logl(x) */
long double
__logl (long double x)
@@ -43,3 +44,4 @@ __logl (long double x)
return __ieee754_logl (x);
}
weak_alias (__logl, logl)
+#endif
diff --git a/math/w_pow_compat.c b/math/w_pow_compat.c
index 367f609..4865f4d 100644
--- a/math/w_pow_compat.c
+++ b/math/w_pow_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper pow */
double
__pow (double x, double y)
@@ -59,7 +60,8 @@ __pow (double x, double y)
return z;
}
weak_alias (__pow, pow)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__pow, __powl)
weak_alias (__pow, powl)
+# endif
#endif
diff --git a/math/w_powf_compat.c b/math/w_powf_compat.c
index afc3fce..ce1235b 100644
--- a/math/w_powf_compat.c
+++ b/math/w_powf_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper powf */
float
__powf (float x, float y)
@@ -59,3 +60,4 @@ __powf (float x, float y)
return z;
}
weak_alias (__powf, powf)
+#endif
diff --git a/math/w_powl_compat.c b/math/w_powl_compat.c
index b25dad8..9159f61 100644
--- a/math/w_powl_compat.c
+++ b/math/w_powl_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper powl */
long double
__powl (long double x, long double y)
@@ -59,3 +60,4 @@ __powl (long double x, long double y)
return z;
}
weak_alias (__powl, powl)
+#endif
diff --git a/math/w_remainder_compat.c b/math/w_remainder_compat.c
index 6bf5d1f..68e322e 100644
--- a/math/w_remainder_compat.c
+++ b/math/w_remainder_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainder */
double
__remainder (double x, double y)
@@ -34,8 +35,9 @@ __remainder (double x, double y)
}
weak_alias (__remainder, remainder)
weak_alias (__remainder, drem)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__remainder, __remainderl)
weak_alias (__remainder, remainderl)
weak_alias (__remainder, dreml)
+# endif
#endif
diff --git a/math/w_remainderf_compat.c b/math/w_remainderf_compat.c
index 3ffefde..39ff3b4 100644
--- a/math/w_remainderf_compat.c
+++ b/math/w_remainderf_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainderf */
float
__remainderf (float x, float y)
@@ -34,3 +35,4 @@ __remainderf (float x, float y)
}
weak_alias (__remainderf, remainderf)
weak_alias (__remainderf, dremf)
+#endif
diff --git a/math/w_remainderl_compat.c b/math/w_remainderl_compat.c
index b01b0b1..c11ba24 100644
--- a/math/w_remainderl_compat.c
+++ b/math/w_remainderl_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper remainderl */
long double
__remainderl (long double x, long double y)
@@ -34,3 +35,4 @@ __remainderl (long double x, long double y)
}
weak_alias (__remainderl, remainderl)
weak_alias (__remainderl, dreml)
+#endif
diff --git a/math/w_scalb_compat.c b/math/w_scalb_compat.c
index a31e54d..277e724 100644
--- a/math/w_scalb_compat.c
+++ b/math/w_scalb_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static double
__attribute__ ((noinline))
sysv_scalb (double x, double fn)
@@ -40,15 +41,18 @@ sysv_scalb (double x, double fn)
return z;
}
+#endif
/* Wrapper scalb */
double
__scalb (double x, double fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalb (x, fn);
else
+#endif
{
double z = __ieee754_scalb (x, fn);
diff --git a/math/w_scalbf_compat.c b/math/w_scalbf_compat.c
index 2b96df0..79798ae 100644
--- a/math/w_scalbf_compat.c
+++ b/math/w_scalbf_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static float
__attribute__ ((noinline))
sysv_scalbf (float x, float fn)
@@ -40,15 +41,18 @@ sysv_scalbf (float x, float fn)
return z;
}
+#endif
/* Wrapper scalbf */
float
__scalbf (float x, float fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalbf (x, fn);
else
+#endif
{
float z = __ieee754_scalbf (x, fn);
diff --git a/math/w_scalbl_compat.c b/math/w_scalbl_compat.c
index a4a0f8e..4c73e6b 100644
--- a/math/w_scalbl_compat.c
+++ b/math/w_scalbl_compat.c
@@ -22,6 +22,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
static long double
__attribute__ ((noinline))
sysv_scalbl (long double x, long double fn)
@@ -40,15 +41,18 @@ sysv_scalbl (long double x, long double fn)
return z;
}
+#endif
/* Wrapper scalbl */
long double
__scalbl (long double x, long double fn)
{
+#if LIBM_SVID_COMPAT
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
return sysv_scalbl (x, fn);
else
+#endif
{
long double z = __ieee754_scalbl (x, fn);
diff --git a/math/w_sinh_compat.c b/math/w_sinh_compat.c
index 121edfc..e5c3724 100644
--- a/math/w_sinh_compat.c
+++ b/math/w_sinh_compat.c
@@ -18,6 +18,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__sinh (double x)
{
@@ -29,7 +30,8 @@ __sinh (double x)
return z;
}
weak_alias (__sinh, sinh)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__sinh, __sinhl)
weak_alias (__sinh, sinhl)
+# endif
#endif
diff --git a/math/w_sinhf_compat.c b/math/w_sinhf_compat.c
index 2103b06..1310ccf 100644
--- a/math/w_sinhf_compat.c
+++ b/math/w_sinhf_compat.c
@@ -21,6 +21,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__sinhf (float x)
{
@@ -32,3 +33,4 @@ __sinhf (float x)
return z;
}
weak_alias (__sinhf, sinhf)
+#endif
diff --git a/math/w_sinhl_compat.c b/math/w_sinhl_compat.c
index 57f08e7..3482098 100644
--- a/math/w_sinhl_compat.c
+++ b/math/w_sinhl_compat.c
@@ -22,6 +22,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__sinhl (long double x)
{
@@ -33,3 +34,4 @@ __sinhl (long double x)
return z;
}
weak_alias (__sinhl, sinhl)
+#endif
diff --git a/math/w_sqrt_compat.c b/math/w_sqrt_compat.c
index 743df32..aeead2e 100644
--- a/math/w_sqrt_compat.c
+++ b/math/w_sqrt_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrt */
double
__sqrt (double x)
@@ -31,7 +32,8 @@ __sqrt (double x)
return __ieee754_sqrt (x);
}
weak_alias (__sqrt, sqrt)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__sqrt, __sqrtl)
weak_alias (__sqrt, sqrtl)
+# endif
#endif
diff --git a/math/w_sqrtf_compat.c b/math/w_sqrtf_compat.c
index 0689b4b..bd3d504 100644
--- a/math/w_sqrtf_compat.c
+++ b/math/w_sqrtf_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrtf */
float
__sqrtf (float x)
@@ -31,3 +32,4 @@ __sqrtf (float x)
return __ieee754_sqrtf (x);
}
weak_alias (__sqrtf, sqrtf)
+#endif
diff --git a/math/w_sqrtl_compat.c b/math/w_sqrtl_compat.c
index 43e81ac..b0afd117 100644
--- a/math/w_sqrtl_compat.c
+++ b/math/w_sqrtl_compat.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper sqrtl */
long double
__sqrtl (long double x)
@@ -31,3 +32,4 @@ __sqrtl (long double x)
return __ieee754_sqrtl (x);
}
weak_alias (__sqrtl, sqrtl)
+#endif
diff --git a/math/w_tgamma_compat.c b/math/w_tgamma_compat.c
index 93bd48f..f843475 100644
--- a/math/w_tgamma_compat.c
+++ b/math/w_tgamma_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
double
__tgamma(double x)
{
@@ -41,7 +42,8 @@ __tgamma(double x)
return local_signgam < 0 ? -y : y;
}
weak_alias (__tgamma, tgamma)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__tgamma, __tgammal)
weak_alias (__tgamma, tgammal)
+# endif
#endif
diff --git a/math/w_tgammaf_compat.c b/math/w_tgammaf_compat.c
index e6ae48c..796850b 100644
--- a/math/w_tgammaf_compat.c
+++ b/math/w_tgammaf_compat.c
@@ -18,6 +18,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
float
__tgammaf(float x)
{
@@ -43,3 +44,4 @@ __tgammaf(float x)
return local_signgam < 0 ? - y : y;
}
weak_alias (__tgammaf, tgammaf)
+#endif
diff --git a/math/w_tgammal_compat.c b/math/w_tgammal_compat.c
index 306f672..c0e4429 100644
--- a/math/w_tgammal_compat.c
+++ b/math/w_tgammal_compat.c
@@ -23,6 +23,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double
__tgammal(long double x)
{
@@ -44,3 +45,4 @@ __tgammal(long double x)
return local_signgam < 0 ? - y : y;
}
weak_alias (__tgammal, tgammal)
+#endif
diff --git a/sysdeps/generic/math-type-macros-double.h b/sysdeps/generic/math-type-macros-double.h
index 6116f7f..a755699 100644
--- a/sysdeps/generic/math-type-macros-double.h
+++ b/sysdeps/generic/math-type-macros-double.h
@@ -47,7 +47,9 @@
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
diff --git a/sysdeps/generic/math-type-macros-float.h b/sysdeps/generic/math-type-macros-float.h
index 712e517..cc8c4b0 100644
--- a/sysdeps/generic/math-type-macros-float.h
+++ b/sysdeps/generic/math-type-macros-float.h
@@ -33,7 +33,9 @@
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
diff --git a/sysdeps/generic/math-type-macros-ldouble.h b/sysdeps/generic/math-type-macros-ldouble.h
index 4e02e53..7dbd559 100644
--- a/sysdeps/generic/math-type-macros-ldouble.h
+++ b/sysdeps/generic/math-type-macros-ldouble.h
@@ -30,7 +30,9 @@
/* Supply the generic macros. */
#include <math-type-macros.h>
-/* Do not use the type-generic wrapper templates. */
-#define __USE_WRAPPER_TEMPLATE 0
+/* Do not use the type-generic wrapper templates if compatibility with
+ SVID error handling is needed. */
+#include <math-svid-compat.h>
+#define __USE_WRAPPER_TEMPLATE !LIBM_SVID_COMPAT
#endif
diff --git a/sysdeps/i386/fpu/w_sqrt.c b/sysdeps/i386/fpu/w_sqrt.c
new file mode 100644
index 0000000..d37a5d5
--- /dev/null
+++ b/sysdeps/i386/fpu/w_sqrt.c
@@ -0,0 +1,9 @@
+/* The inline __ieee754_sqrt is not correctly rounding; it's OK for
+ most internal uses in glibc, but not for sqrt itself. */
+#define __ieee754_sqrt __avoid_ieee754_sqrt
+#include <math.h>
+#include <math_private.h>
+#undef __ieee754_sqrt
+extern double __ieee754_sqrt (double);
+#include <math-type-macros-double.h>
+#include <w_sqrt_template.c>
diff --git a/sysdeps/ia64/fpu/w_acos.c b/sysdeps/ia64/fpu/w_acos.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acos.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acosf.c b/sysdeps/ia64/fpu/w_acosf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acosf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acosh.c b/sysdeps/ia64/fpu/w_acosh.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acosh.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acoshf.c b/sysdeps/ia64/fpu/w_acoshf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acoshf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acoshl.c b/sysdeps/ia64/fpu/w_acoshl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acoshl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acosl.c b/sysdeps/ia64/fpu/w_acosl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acosl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asin.c b/sysdeps/ia64/fpu/w_asin.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_asin.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asinf.c b/sysdeps/ia64/fpu/w_asinf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_asinf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asinl.c b/sysdeps/ia64/fpu/w_asinl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_asinl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2.c b/sysdeps/ia64/fpu/w_atan2.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2f.c b/sysdeps/ia64/fpu/w_atan2f.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2l.c b/sysdeps/ia64/fpu/w_atan2l.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2l.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanh.c b/sysdeps/ia64/fpu/w_atanh.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanh.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhf.c b/sysdeps/ia64/fpu/w_atanhf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanhf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhl.c b/sysdeps/ia64/fpu/w_atanhl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanhl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_cosh.c b/sysdeps/ia64/fpu/w_cosh.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_cosh.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshf.c b/sysdeps/ia64/fpu/w_coshf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_coshf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshl.c b/sysdeps/ia64/fpu/w_coshl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_coshl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp.c b/sysdeps/ia64/fpu/w_exp.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10.c b/sysdeps/ia64/fpu/w_exp10.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10f.c b/sysdeps/ia64/fpu/w_exp10f.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10l.c b/sysdeps/ia64/fpu/w_exp10l.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10l.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2.c b/sysdeps/ia64/fpu/w_exp2.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2f.c b/sysdeps/ia64/fpu/w_exp2f.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2l.c b/sysdeps/ia64/fpu/w_exp2l.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2l.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expf.c b/sysdeps/ia64/fpu/w_expf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_expf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expl.c b/sysdeps/ia64/fpu/w_expl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_expl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmod.c b/sysdeps/ia64/fpu/w_fmod.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmod.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodf.c b/sysdeps/ia64/fpu/w_fmodf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmodf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodl.c b/sysdeps/ia64/fpu/w_fmodl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmodl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypot.c b/sysdeps/ia64/fpu/w_hypot.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypot.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotf.c b/sysdeps/ia64/fpu/w_hypotf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypotf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotl.c b/sysdeps/ia64/fpu/w_hypotl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypotl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgamma_r.c b/sysdeps/ia64/fpu/w_lgamma_r.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgamma_r.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammaf_r.c b/sysdeps/ia64/fpu/w_lgammaf_r.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgammaf_r.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammal_r.c b/sysdeps/ia64/fpu/w_lgammal_r.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgammal_r.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log.c b/sysdeps/ia64/fpu/w_log.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10.c b/sysdeps/ia64/fpu/w_log10.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10f.c b/sysdeps/ia64/fpu/w_log10f.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10l.c b/sysdeps/ia64/fpu/w_log10l.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10l.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2.c b/sysdeps/ia64/fpu/w_log2.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2f.c b/sysdeps/ia64/fpu/w_log2f.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2l.c b/sysdeps/ia64/fpu/w_log2l.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2l.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logf.c b/sysdeps/ia64/fpu/w_logf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_logf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logl.c b/sysdeps/ia64/fpu/w_logl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_logl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_pow.c b/sysdeps/ia64/fpu/w_pow.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_pow.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powf.c b/sysdeps/ia64/fpu/w_powf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_powf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powl.c b/sysdeps/ia64/fpu/w_powl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_powl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainder.c b/sysdeps/ia64/fpu/w_remainder.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainder.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderf.c b/sysdeps/ia64/fpu/w_remainderf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainderf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderl.c b/sysdeps/ia64/fpu/w_remainderl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainderl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinh.c b/sysdeps/ia64/fpu/w_sinh.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinh.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhf.c b/sysdeps/ia64/fpu/w_sinhf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinhf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhl.c b/sysdeps/ia64/fpu/w_sinhl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinhl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrt.c b/sysdeps/ia64/fpu/w_sqrt.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrt.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtf.c b/sysdeps/ia64/fpu/w_sqrtf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrtf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtl.c b/sysdeps/ia64/fpu/w_sqrtl.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrtl.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgamma.c b/sysdeps/ia64/fpu/w_tgamma.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgamma.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgammaf.c b/sysdeps/ia64/fpu/w_tgammaf.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgammaf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgammal.c b/sysdeps/ia64/fpu/w_tgammal.c
new file mode 100644
index 0000000..1cc8931
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgammal.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ieee754/dbl-64/w_exp_compat.c b/sysdeps/ieee754/dbl-64/w_exp_compat.c
index 69ec0a1..98aa5b7 100644
--- a/sysdeps/ieee754/dbl-64/w_exp_compat.c
+++ b/sysdeps/ieee754/dbl-64/w_exp_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper exp */
double
__exp (double x)
@@ -33,7 +34,8 @@ __exp (double x)
}
hidden_def (__exp)
weak_alias (__exp, exp)
-#ifdef NO_LONG_DOUBLE
+# ifdef NO_LONG_DOUBLE
strong_alias (__exp, __expl)
weak_alias (__exp, expl)
+# endif
#endif
diff --git a/sysdeps/ieee754/flt-32/w_expf_compat.c b/sysdeps/ieee754/flt-32/w_expf_compat.c
index 8a1fa51..a38ff40 100644
--- a/sysdeps/ieee754/flt-32/w_expf_compat.c
+++ b/sysdeps/ieee754/flt-32/w_expf_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper expf */
float
__expf (float x)
@@ -33,3 +34,4 @@ __expf (float x)
}
hidden_def (__expf)
weak_alias (__expf, expf)
+#endif
diff --git a/sysdeps/ieee754/k_standard.c b/sysdeps/ieee754/k_standard.c
index 8f906bd..f74f9c7 100644
--- a/sysdeps/ieee754/k_standard.c
+++ b/sysdeps/ieee754/k_standard.c
@@ -21,23 +21,25 @@ static char rcsid[] = "$NetBSD: k_standard.c,v 1.6 1995/05/10 20:46:35 jtc Exp $
#include <assert.h>
-#ifndef _USE_WRITE
-#include <stdio.h> /* fputs(), stderr */
-#define WRITE2(u,v) fputs(u, stderr)
-#else /* !defined(_USE_WRITE) */
-#include <unistd.h> /* write */
-#define WRITE2(u,v) write(2, u, v)
-#undef fflush
-#endif /* !defined(_USE_WRITE) */
+#if LIBM_SVID_COMPAT
+
+# ifndef _USE_WRITE
+# include <stdio.h> /* fputs(), stderr */
+# define WRITE2(u,v) fputs(u, stderr)
+# else /* !defined(_USE_WRITE) */
+# include <unistd.h> /* write */
+# define WRITE2(u,v) write(2, u, v)
+# undef fflush
+# endif /* !defined(_USE_WRITE) */
/* XXX gcc versions until now don't delay the 0.0/0.0 division until
runtime but produce NaN at compile time. This is wrong since the
exceptions are not set correctly. */
-#if 0
+# if 0
static const double zero = 0.0; /* used as const */
-#else
+# else
static double zero = 0.0; /* used as const */
-#endif
+# endif
/*
* Standard conformance (non-IEEE) on exception cases.
@@ -97,21 +99,21 @@ double
__kernel_standard(double x, double y, int type)
{
struct exception exc;
-#ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
-#define HUGE_VAL inf
+# ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
+# define HUGE_VAL inf
double inf = 0.0;
SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
-#endif
+# endif
/* The SVID struct exception uses a field "char *name;". */
-#define CSTR(func) ((char *) (type < 100 \
+# define CSTR(func) ((char *) (type < 100 \
? func \
: (type < 200 ? func "f" : func "l")))
-#ifdef _USE_WRITE
+# ifdef _USE_WRITE
(void) fflush(stdout);
-#endif
+# endif
exc.arg1 = x;
exc.arg2 = y;
switch(type) {
@@ -945,3 +947,4 @@ __kernel_standard(double x, double y, int type)
}
return exc.retval;
}
+#endif
diff --git a/sysdeps/ieee754/k_standardf.c b/sysdeps/ieee754/k_standardf.c
index 85b2003..62d25d2 100644
--- a/sysdeps/ieee754/k_standardf.c
+++ b/sysdeps/ieee754/k_standardf.c
@@ -21,6 +21,7 @@
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* Handle errors for a libm function as specified by TYPE (see
comments in k_standard.c for details), with arguments X and Y,
returning the appropriate return value for that function. */
@@ -30,3 +31,4 @@ __kernel_standard_f (float x, float y, int type)
{
return __kernel_standard (x, y, type);
}
+#endif
diff --git a/sysdeps/ieee754/k_standardl.c b/sysdeps/ieee754/k_standardl.c
index 783fd0b..484ec91 100644
--- a/sysdeps/ieee754/k_standardl.c
+++ b/sysdeps/ieee754/k_standardl.c
@@ -38,6 +38,8 @@
#include <errno.h>
+#if LIBM_SVID_COMPAT
+
static double zero = 0.0;
/* Handle errors for a libm function as specified by TYPE (see
@@ -106,3 +108,4 @@ __kernel_standard_l (long double x, long double y, int type)
return __kernel_standard (dx, dy, type);
}
}
+#endif
diff --git a/sysdeps/ieee754/ldbl-128/w_expl_compat.c b/sysdeps/ieee754/ldbl-128/w_expl_compat.c
index e0fa9e3..ec076de 100644
--- a/sysdeps/ieee754/ldbl-128/w_expl_compat.c
+++ b/sysdeps/ieee754/ldbl-128/w_expl_compat.c
@@ -26,18 +26,20 @@ static char rcsid[] = "$NetBSD: $";
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
long double __expl(long double x) /* wrapper exp */
{
-#ifdef _IEEE_LIBM
+# ifdef _IEEE_LIBM
return __ieee754_expl(x);
-#else
+# else
long double z = __ieee754_expl (x);
if (__glibc_unlikely (!isfinite (z) || z == 0)
&& isfinite (x) && _LIB_VERSION != _IEEE_)
return __kernel_standard_l (x, x, 206 + !!signbit (x));
return z;
-#endif
+# endif
}
hidden_def (__expl)
weak_alias (__expl, expl)
+#endif
diff --git a/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c b/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c
index 019a48f..53948a9 100644
--- a/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c
+++ b/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c
@@ -3,6 +3,7 @@
#include <math-svid-compat.h>
#include <math_ldbl_opt.h>
+#if LIBM_SVID_COMPAT
long double __expl(long double x) /* wrapper exp */
{
long double z;
@@ -20,3 +21,4 @@ long double __expl(long double x) /* wrapper exp */
}
hidden_def (__expl)
long_double_symbol (libm, __expl, expl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-64-128/w_expl_compat.c b/sysdeps/ieee754/ldbl-64-128/w_expl_compat.c
index 37c153e..037e8bf 100644
--- a/sysdeps/ieee754/ldbl-64-128/w_expl_compat.c
+++ b/sysdeps/ieee754/ldbl-64-128/w_expl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <sysdeps/ieee754/ldbl-128/w_expl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __expl, expl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-96/w_expl_compat.c b/sysdeps/ieee754/ldbl-96/w_expl_compat.c
index c9e6003..ae9ab58 100644
--- a/sysdeps/ieee754/ldbl-96/w_expl_compat.c
+++ b/sysdeps/ieee754/ldbl-96/w_expl_compat.c
@@ -20,6 +20,7 @@
#include <math_private.h>
#include <math-svid-compat.h>
+#if LIBM_SVID_COMPAT
/* wrapper expl */
long double
__expl (long double x)
@@ -33,3 +34,4 @@ __expl (long double x)
}
hidden_def (__expl)
weak_alias (__expl, expl)
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c b/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c
index df4338d..f66964a 100644
--- a/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_acoshl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __acoshl, acoshl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c b/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c
index 5efc990..ff33e9a 100644
--- a/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_acosl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __acosl, acosl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c b/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c
index 087fab2..a53f1cb 100644
--- a/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_asinl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __asinl, asinl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c b/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c
index 6b12209..c70f77e 100644
--- a/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_atan2l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __atan2l, atan2l);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c b/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c
index 49bae1e..67450c5 100644
--- a/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_atanhl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __atanhl, atanhl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c b/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c
index a880877..392511b 100644
--- a/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_coshl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __coshl, coshl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
index cf15488..5a52a75 100644
--- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
@@ -4,15 +4,17 @@
#undef compat_symbol
#define compat_symbol(l,n,a,v)
#include <math/w_exp10l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __exp10l, exp10l);
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
/* compat_symbol was undefined and redefined above to avoid the
default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt
configurations, that version should have the alias to exp10). So
it now needs to be redefined to define the compat symbol at version
LONG_DOUBLE_COMPAT_VERSION. */
-# undef compat_symbol
-# define compat_symbol(lib, local, symbol, version) \
+# undef compat_symbol
+# define compat_symbol(lib, local, symbol, version) \
compat_symbol_reference (lib, local, symbol, version)
compat_symbol (libm, __pow10l, pow10l, LONG_DOUBLE_COMPAT_VERSION);
+# endif
#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c b/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c
index 88fe0ac..12419e3 100644
--- a/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_fmodl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __fmodl, fmodl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c b/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c
index 68e3997..b87bac7 100644
--- a/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_hypotl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __hypotl, hypotl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c b/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c
index 9050657..8fc8651 100644
--- a/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c
@@ -2,5 +2,7 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_j0l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __j0l, j0l);
long_double_symbol (libm, __y0l, y0l);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c b/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c
index 4ed9e2d..85b3fee 100644
--- a/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c
@@ -2,5 +2,7 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_j1l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __j1l, j1l);
long_double_symbol (libm, __y1l, y1l);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c b/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c
index d22ee54..9b2c998 100644
--- a/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c
@@ -2,5 +2,7 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_jnl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __jnl, jnl);
long_double_symbol (libm, __ynl, ynl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c
index 6fdf2bb..431aa5d 100644
--- a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_lgammal_r_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __lgammal_r, lgammal_r);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c
index 17de3e7..6eb9ea7 100644
--- a/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_log10l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __log10l, log10l);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c b/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c
index 3c5e734..1507e93 100644
--- a/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_log2l_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __log2l, log2l);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_logl_compat.c b/sysdeps/ieee754/ldbl-opt/w_logl_compat.c
index 2b55842..6b71ef2 100644
--- a/sysdeps/ieee754/ldbl-opt/w_logl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_logl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_logl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __logl, logl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_powl_compat.c b/sysdeps/ieee754/ldbl-opt/w_powl_compat.c
index 1897cf1..c6f8d85 100644
--- a/sysdeps/ieee754/ldbl-opt/w_powl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_powl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_powl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __powl, powl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
index b2ce5c9..849d2db 100644
--- a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
@@ -2,6 +2,8 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_remainderl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __remainderl, remainderl);
strong_alias (__remainderl, __dreml)
long_double_symbol (libm, __dreml, dreml);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c b/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c
index 305ed82..8fce55c 100644
--- a/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_sinhl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __sinhl, sinhl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c b/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c
index 1e4526f..05be917 100644
--- a/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_sqrtl_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __sqrtl, sqrtl);
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c b/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c
index aaf5403..8c201ca 100644
--- a/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c
@@ -2,4 +2,6 @@
#undef weak_alias
#define weak_alias(n,a)
#include <math/w_tgammal_compat.c>
+#if LIBM_SVID_COMPAT
long_double_symbol (libm, __tgammal, tgammal);
+#endif