summaryrefslogtreecommitdiff
path: root/sysdeps/ia64
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ia64')
-rw-r--r--sysdeps/ia64/Implies1
-rw-r--r--sysdeps/ia64/Makeconfig2
-rw-r--r--sysdeps/ia64/Makefile5
-rw-r--r--sysdeps/ia64/_mcount.S2
-rw-r--r--sysdeps/ia64/atomic-machine.h5
-rw-r--r--sysdeps/ia64/backtrace.c1
-rw-r--r--sysdeps/ia64/bits/byteswap-16.h42
-rw-r--r--sysdeps/ia64/bits/byteswap.h100
-rw-r--r--sysdeps/ia64/bits/fenv.h10
-rw-r--r--sysdeps/ia64/bits/floatn.h119
-rw-r--r--sysdeps/ia64/bits/fp-logb.h (renamed from sysdeps/ia64/bits/mathdef.h)24
-rw-r--r--sysdeps/ia64/bits/huge_vall.h41
-rw-r--r--sysdeps/ia64/bits/link.h2
-rw-r--r--sysdeps/ia64/bits/xtitypes.h2
-rw-r--r--sysdeps/ia64/bzero.S2
-rw-r--r--sysdeps/ia64/crti.S4
-rw-r--r--sysdeps/ia64/crtn.S2
-rw-r--r--sysdeps/ia64/dl-dtprocnum.h2
-rw-r--r--sysdeps/ia64/dl-fptr.h2
-rw-r--r--sysdeps/ia64/dl-lookupcfg.h2
-rw-r--r--sysdeps/ia64/dl-machine.h9
-rw-r--r--sysdeps/ia64/dl-sysdep.h2
-rw-r--r--sysdeps/ia64/dl-tls.h5
-rw-r--r--sysdeps/ia64/dl-trampoline.S2
-rw-r--r--sysdeps/ia64/float128-abi.h2
-rw-r--r--sysdeps/ia64/fpu/bits/math-finite.h2
-rw-r--r--sysdeps/ia64/fpu/bits/mathinline.h53
-rw-r--r--sysdeps/ia64/fpu/e_acos.S1
-rw-r--r--sysdeps/ia64/fpu/e_acosf.S1
-rw-r--r--sysdeps/ia64/fpu/e_acosh.S1
-rw-r--r--sysdeps/ia64/fpu/e_acoshf.S1
-rw-r--r--sysdeps/ia64/fpu/e_acoshl.S1
-rw-r--r--sysdeps/ia64/fpu/e_acosl.S1
-rw-r--r--sysdeps/ia64/fpu/e_asin.S1
-rw-r--r--sysdeps/ia64/fpu/e_asinf.S1
-rw-r--r--sysdeps/ia64/fpu/e_asinl.S1
-rw-r--r--sysdeps/ia64/fpu/e_atan2.S1
-rw-r--r--sysdeps/ia64/fpu/e_atan2f.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanh.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanhf.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanhl.S1
-rw-r--r--sysdeps/ia64/fpu/e_cosh.S1
-rw-r--r--sysdeps/ia64/fpu/e_coshf.S1
-rw-r--r--sysdeps/ia64/fpu/e_coshl.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp10.S7
-rw-r--r--sysdeps/ia64/fpu/e_exp10f.S7
-rw-r--r--sysdeps/ia64/fpu/e_exp10l.S7
-rw-r--r--sysdeps/ia64/fpu/e_exp2.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp2f.S11
-rw-r--r--sysdeps/ia64/fpu/e_exp2f_data.c (renamed from sysdeps/ia64/fpu/halfulp.c)0
-rw-r--r--sysdeps/ia64/fpu/e_exp2l.S1
-rw-r--r--sysdeps/ia64/fpu/e_expf.S7
-rw-r--r--sysdeps/ia64/fpu/e_fmod.S1
-rw-r--r--sysdeps/ia64/fpu/e_fmodf.S1
-rw-r--r--sysdeps/ia64/fpu/e_fmodl.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypot.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypotf.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypotl.S1
-rw-r--r--sysdeps/ia64/fpu/e_lgamma_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_lgammaf_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_lgammal_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_log.S2
-rw-r--r--sysdeps/ia64/fpu/e_log2.S1
-rw-r--r--sysdeps/ia64/fpu/e_log2f.S11
-rw-r--r--sysdeps/ia64/fpu/e_log2f_data.c (renamed from sysdeps/ia64/fpu/mpexp.c)0
-rw-r--r--sysdeps/ia64/fpu/e_log2l.S1
-rw-r--r--sysdeps/ia64/fpu/e_logf.S8
-rw-r--r--sysdeps/ia64/fpu/e_logf_data.c (renamed from sysdeps/ia64/fpu/mplog.c)0
-rw-r--r--sysdeps/ia64/fpu/e_logl.S2
-rw-r--r--sysdeps/ia64/fpu/e_pow.S1
-rw-r--r--sysdeps/ia64/fpu/e_powf.S11
-rw-r--r--sysdeps/ia64/fpu/e_powf_log2_data.c (renamed from sysdeps/ia64/fpu/slowexp.c)0
-rw-r--r--sysdeps/ia64/fpu/e_powl.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainder.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainderf.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainderl.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinh.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinhf.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinhl.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrt.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrtf.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrtf128.c1
-rw-r--r--sysdeps/ia64/fpu/e_sqrtl.S1
-rw-r--r--sysdeps/ia64/fpu/fclrexcpt.c2
-rw-r--r--sysdeps/ia64/fpu/fedisblxcpt.c2
-rw-r--r--sysdeps/ia64/fpu/feenablxcpt.c2
-rw-r--r--sysdeps/ia64/fpu/fegetenv.c2
-rw-r--r--sysdeps/ia64/fpu/fegetexcept.c2
-rw-r--r--sysdeps/ia64/fpu/fegetmode.c (renamed from sysdeps/ia64/strcat.c)14
-rw-r--r--sysdeps/ia64/fpu/fegetround.c2
-rw-r--r--sysdeps/ia64/fpu/feholdexcpt.c2
-rw-r--r--sysdeps/ia64/fpu/fesetenv.c2
-rw-r--r--sysdeps/ia64/fpu/fesetexcept.c31
-rw-r--r--sysdeps/ia64/fpu/fesetmode.c42
-rw-r--r--sysdeps/ia64/fpu/fesetround.c2
-rw-r--r--sysdeps/ia64/fpu/feupdateenv.c2
-rw-r--r--sysdeps/ia64/fpu/fgetexcptflg.c2
-rw-r--r--sysdeps/ia64/fpu/fraiseexcpt.c2
-rw-r--r--sysdeps/ia64/fpu/fsetexcptflg.c2
-rw-r--r--sysdeps/ia64/fpu/ftestexcept.c2
-rw-r--r--sysdeps/ia64/fpu/get-rounding-mode.h2
-rw-r--r--sysdeps/ia64/fpu/lgamma-compat.h2
-rw-r--r--sysdeps/ia64/fpu/libm-symbols.h42
-rw-r--r--sysdeps/ia64/fpu/libm-test-ulps1978
-rw-r--r--sysdeps/ia64/fpu/libm-test-ulps-name1
-rw-r--r--sysdeps/ia64/fpu/libm_error.c8
-rw-r--r--sysdeps/ia64/fpu/libm_sincos.S1
-rw-r--r--sysdeps/ia64/fpu/libm_sincosf.S1
-rw-r--r--sysdeps/ia64/fpu/libm_sincosl.S1
-rw-r--r--sysdeps/ia64/fpu/libm_support.h39
-rw-r--r--sysdeps/ia64/fpu/math_errf.c (renamed from sysdeps/ia64/fpu/slowpow.c)0
-rw-r--r--sysdeps/ia64/fpu/math_ldbl.h40
-rw-r--r--sysdeps/ia64/fpu/printf_fphex.c2
-rw-r--r--sysdeps/ia64/fpu/s_asinh.S1
-rw-r--r--sysdeps/ia64/fpu/s_asinhf.S1
-rw-r--r--sysdeps/ia64/fpu/s_asinhl.S1
-rw-r--r--sysdeps/ia64/fpu/s_atan.S1
-rw-r--r--sysdeps/ia64/fpu/s_atanf.S1
-rw-r--r--sysdeps/ia64/fpu/s_atanl.S2
-rw-r--r--sysdeps/ia64/fpu/s_cbrt.S1
-rw-r--r--sysdeps/ia64/fpu/s_cbrtf.S1
-rw-r--r--sysdeps/ia64/fpu/s_cbrtl.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceil.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceilf.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceill.S1
-rw-r--r--sysdeps/ia64/fpu/s_copysign.S8
-rw-r--r--sysdeps/ia64/fpu/s_cos.S2
-rw-r--r--sysdeps/ia64/fpu/s_cosf.S2
-rw-r--r--sysdeps/ia64/fpu/s_cosl.S2
-rw-r--r--sysdeps/ia64/fpu/s_erf.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfc.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfcf.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfcl.S1
-rw-r--r--sysdeps/ia64/fpu/s_erff.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfl.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1f.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1l.S2
-rw-r--r--sysdeps/ia64/fpu/s_fabs.S1
-rw-r--r--sysdeps/ia64/fpu/s_fabsf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fabsl.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdim.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdimf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdiml.S1
-rw-r--r--sysdeps/ia64/fpu/s_finite.S2
-rw-r--r--sysdeps/ia64/fpu/s_floor.S1
-rw-r--r--sysdeps/ia64/fpu/s_floorf.S1
-rw-r--r--sysdeps/ia64/fpu/s_floorl.S1
-rw-r--r--sysdeps/ia64/fpu/s_fma.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmal.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmax.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaxf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaxl.S1
-rw-r--r--sysdeps/ia64/fpu/s_fpclassify.S2
-rw-r--r--sysdeps/ia64/fpu/s_frexp.c1
-rw-r--r--sysdeps/ia64/fpu/s_frexpf.c1
-rw-r--r--sysdeps/ia64/fpu/s_frexpl.c1
-rw-r--r--sysdeps/ia64/fpu/s_isinf.S2
-rw-r--r--sysdeps/ia64/fpu/s_isnan.S2
-rw-r--r--sysdeps/ia64/fpu/s_ldexp.c1
-rw-r--r--sysdeps/ia64/fpu/s_ldexpf.c1
-rw-r--r--sysdeps/ia64/fpu/s_ldexpl.c1
-rw-r--r--sysdeps/ia64/fpu/s_log1p.S1
-rw-r--r--sysdeps/ia64/fpu/s_log1pf.S1
-rw-r--r--sysdeps/ia64/fpu/s_log1pl.S1
-rw-r--r--sysdeps/ia64/fpu/s_logb.S1
-rw-r--r--sysdeps/ia64/fpu/s_logbf.S1
-rw-r--r--sysdeps/ia64/fpu/s_logbl.S1
-rw-r--r--sysdeps/ia64/fpu/s_matherrf.c5
-rw-r--r--sysdeps/ia64/fpu/s_matherrl.c5
-rw-r--r--sysdeps/ia64/fpu/s_modf.S1
-rw-r--r--sysdeps/ia64/fpu/s_modff.S1
-rw-r--r--sysdeps/ia64/fpu/s_modfl.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyint.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyintf.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyintl.S2
-rw-r--r--sysdeps/ia64/fpu/s_nextafter.S1
-rw-r--r--sysdeps/ia64/fpu/s_nextafterf.S1
-rw-r--r--sysdeps/ia64/fpu/s_nextafterl.S1
-rw-r--r--sysdeps/ia64/fpu/s_rint.S1
-rw-r--r--sysdeps/ia64/fpu/s_rintf.S1
-rw-r--r--sysdeps/ia64/fpu/s_rintl.S1
-rw-r--r--sysdeps/ia64/fpu/s_round.S1
-rw-r--r--sysdeps/ia64/fpu/s_roundf.S1
-rw-r--r--sysdeps/ia64/fpu/s_roundl.S1
-rw-r--r--sysdeps/ia64/fpu/s_scalblnf.c1
-rw-r--r--sysdeps/ia64/fpu/s_scalbn.c2
-rw-r--r--sysdeps/ia64/fpu/s_scalbnf.c2
-rw-r--r--sysdeps/ia64/fpu/s_scalbnl.c2
-rw-r--r--sysdeps/ia64/fpu/s_signbit.S2
-rw-r--r--sysdeps/ia64/fpu/s_tan.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanf.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanh.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanhf.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanhl.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanl.S1
-rw-r--r--sysdeps/ia64/fpu/s_trunc.S1
-rw-r--r--sysdeps/ia64/fpu/s_truncf.S1
-rw-r--r--sysdeps/ia64/fpu/s_truncl.S1
-rw-r--r--sysdeps/ia64/fpu/sfp-machine.h100
-rw-r--r--sysdeps/ia64/fpu/w_acos.c2
-rw-r--r--sysdeps/ia64/fpu/w_acos_compat.c (renamed from sysdeps/ia64/fpu/k_rem_pio2.c)0
-rw-r--r--sysdeps/ia64/fpu/w_acosf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_acosh.c2
-rw-r--r--sysdeps/ia64/fpu/w_acosh_compat.c (renamed from sysdeps/ia64/fpu/k_rem_pio2l.c)0
-rw-r--r--sysdeps/ia64/fpu/w_acoshf.c2
-rw-r--r--sysdeps/ia64/fpu/w_acoshf_compat.c (renamed from sysdeps/ia64/fpu/w_scalb.c)0
-rw-r--r--sysdeps/ia64/fpu/w_acoshl.c2
-rw-r--r--sysdeps/ia64/fpu/w_acoshl_compat.c (renamed from sysdeps/ia64/fpu/w_scalbf.c)0
-rw-r--r--sysdeps/ia64/fpu/w_acosl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_asin.c2
-rw-r--r--sysdeps/ia64/fpu/w_asin_compat.c (renamed from sysdeps/ia64/fpu/w_scalbl.c)0
-rw-r--r--sysdeps/ia64/fpu/w_asinf.c2
-rw-r--r--sysdeps/ia64/fpu/w_asinf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_asinl.c2
-rw-r--r--sysdeps/ia64/fpu/w_asinl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2.c2
-rw-r--r--sysdeps/ia64/fpu/w_atan2_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2f.c2
-rw-r--r--sysdeps/ia64/fpu/w_atan2f_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atan2l.c2
-rw-r--r--sysdeps/ia64/fpu/w_atan2l_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanh.c2
-rw-r--r--sysdeps/ia64/fpu/w_atanh_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanhf.c2
-rw-r--r--sysdeps/ia64/fpu/w_atanhf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_atanhl.c2
-rw-r--r--sysdeps/ia64/fpu/w_atanhl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_cosh.c2
-rw-r--r--sysdeps/ia64/fpu/w_cosh_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_coshf.c2
-rw-r--r--sysdeps/ia64/fpu/w_coshf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_coshl.c2
-rw-r--r--sysdeps/ia64/fpu/w_coshl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp10.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp10_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp10f.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp10f_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp10l.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp10l_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp2_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2f.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp2f_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp2l.c2
-rw-r--r--sysdeps/ia64/fpu/w_exp2l_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_exp_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_expf.c2
-rw-r--r--sysdeps/ia64/fpu/w_expf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_expl.c2
-rw-r--r--sysdeps/ia64/fpu/w_expl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmod.c2
-rw-r--r--sysdeps/ia64/fpu/w_fmod_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmodf.c2
-rw-r--r--sysdeps/ia64/fpu/w_fmodf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_fmodl.c2
-rw-r--r--sysdeps/ia64/fpu/w_fmodl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypot.c2
-rw-r--r--sysdeps/ia64/fpu/w_hypot_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypotf.c2
-rw-r--r--sysdeps/ia64/fpu/w_hypotf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_hypotl.c2
-rw-r--r--sysdeps/ia64/fpu/w_hypotl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_r.c2
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_r_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_r.c2
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_r_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_r.c2
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_r_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log.c2
-rw-r--r--sysdeps/ia64/fpu/w_log10.c2
-rw-r--r--sysdeps/ia64/fpu/w_log10_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log10f.c2
-rw-r--r--sysdeps/ia64/fpu/w_log10f_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log10l.c2
-rw-r--r--sysdeps/ia64/fpu/w_log10l_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log1p.c2
-rw-r--r--sysdeps/ia64/fpu/w_log1pf.c2
-rw-r--r--sysdeps/ia64/fpu/w_log1pl.c2
-rw-r--r--sysdeps/ia64/fpu/w_log2.c2
-rw-r--r--sysdeps/ia64/fpu/w_log2_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log2f.c2
-rw-r--r--sysdeps/ia64/fpu/w_log2f_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log2l.c2
-rw-r--r--sysdeps/ia64/fpu/w_log2l_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_log_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_logf.c2
-rw-r--r--sysdeps/ia64/fpu/w_logf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_logl.c2
-rw-r--r--sysdeps/ia64/fpu/w_logl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_pow.c2
-rw-r--r--sysdeps/ia64/fpu/w_pow_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_powf.c2
-rw-r--r--sysdeps/ia64/fpu/w_powf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_powl.c2
-rw-r--r--sysdeps/ia64/fpu/w_powl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainder.c2
-rw-r--r--sysdeps/ia64/fpu/w_remainder_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainderf.c2
-rw-r--r--sysdeps/ia64/fpu/w_remainderf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_remainderl.c2
-rw-r--r--sysdeps/ia64/fpu/w_remainderl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_scalb_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_scalbf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_scalbl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_scalblnf.c2
-rw-r--r--sysdeps/ia64/fpu/w_sinh.c2
-rw-r--r--sysdeps/ia64/fpu/w_sinh_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_sinhf.c2
-rw-r--r--sysdeps/ia64/fpu/w_sinhf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_sinhl.c2
-rw-r--r--sysdeps/ia64/fpu/w_sinhl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrt.c2
-rw-r--r--sysdeps/ia64/fpu/w_sqrt_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrtf.c2
-rw-r--r--sysdeps/ia64/fpu/w_sqrtf_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_sqrtl.c2
-rw-r--r--sysdeps/ia64/fpu/w_sqrtl_compat.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgamma.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgamma_compat.S (renamed from sysdeps/ia64/fpu/w_tgamma.S)1
-rw-r--r--sysdeps/ia64/fpu/w_tgammaf.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammaf_compat.S (renamed from sysdeps/ia64/fpu/w_tgammaf.S)1
-rw-r--r--sysdeps/ia64/fpu/w_tgammal.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammal_compat.S (renamed from sysdeps/ia64/fpu/w_tgammal.S)1
-rw-r--r--sysdeps/ia64/gccframe.h2
-rw-r--r--sysdeps/ia64/hp-timing.h2
-rw-r--r--sysdeps/ia64/htonl.S2
-rw-r--r--sysdeps/ia64/htons.S2
-rw-r--r--sysdeps/ia64/ieee754.h2
-rw-r--r--sysdeps/ia64/jmpbuf-unwind.h2
-rw-r--r--sysdeps/ia64/ldsodefs.h2
-rw-r--r--sysdeps/ia64/libc-tls.c2
-rw-r--r--sysdeps/ia64/machine-gmon.h2
-rw-r--r--sysdeps/ia64/math-tests.h25
-rw-r--r--sysdeps/ia64/memccpy.S2
-rw-r--r--sysdeps/ia64/memchr.S6
-rw-r--r--sysdeps/ia64/memcmp.S2
-rw-r--r--sysdeps/ia64/memcpy.S2
-rw-r--r--sysdeps/ia64/memmove.S2
-rw-r--r--sysdeps/ia64/memset.S2
-rw-r--r--sysdeps/ia64/memusage.h2
-rw-r--r--sysdeps/ia64/nptl/Makefile5
-rw-r--r--sysdeps/ia64/nptl/bits/pthreadtypes-arch.h63
-rw-r--r--sysdeps/ia64/nptl/bits/pthreadtypes.h177
-rw-r--r--sysdeps/ia64/nptl/bits/semaphore.h2
-rw-r--r--sysdeps/ia64/nptl/pthread-offsets.h5
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_lock.c2
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_trylock.c2
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_unlock.c2
-rw-r--r--sysdeps/ia64/nptl/pthreaddef.h2
-rw-r--r--sysdeps/ia64/nptl/tcb-offsets.sym1
-rw-r--r--sysdeps/ia64/nptl/tls.h17
-rw-r--r--sysdeps/ia64/sched_cpucount.c2
-rw-r--r--sysdeps/ia64/softpipe.h2
-rw-r--r--sysdeps/ia64/sotruss-lib.c2
-rw-r--r--sysdeps/ia64/stackinfo.h7
-rw-r--r--sysdeps/ia64/start.S2
-rw-r--r--sysdeps/ia64/strchr.S2
-rw-r--r--sysdeps/ia64/strcmp.S2
-rw-r--r--sysdeps/ia64/strcpy.S2
-rw-r--r--sysdeps/ia64/strlen.S2
-rw-r--r--sysdeps/ia64/strncmp.S2
-rw-r--r--sysdeps/ia64/strncpy.S2
-rw-r--r--sysdeps/ia64/sysdep.h2
-rw-r--r--sysdeps/ia64/tst-audit.h2
371 files changed, 2815 insertions, 749 deletions
diff --git a/sysdeps/ia64/Implies b/sysdeps/ia64/Implies
index 8524257020..22e4836e74 100644
--- a/sysdeps/ia64/Implies
+++ b/sysdeps/ia64/Implies
@@ -1,5 +1,6 @@
wordsize-64
# ia64 uses IEEE 754 floating point.
+ieee754/float128
ieee754/ldbl-96
ieee754/dbl-64
ieee754/flt-32
diff --git a/sysdeps/ia64/Makeconfig b/sysdeps/ia64/Makeconfig
index d1d3f6c95c..2f1abe868c 100644
--- a/sysdeps/ia64/Makeconfig
+++ b/sysdeps/ia64/Makeconfig
@@ -1,2 +1,4 @@
# ia64 does not provide crtbeginT.o, so use crtbegin.o.
+prectorT = $(+prector)
+
+float64x-alias-fcts = yes
diff --git a/sysdeps/ia64/Makefile b/sysdeps/ia64/Makefile
index 5ebca89afa..a4305d524d 100644
--- a/sysdeps/ia64/Makefile
+++ b/sysdeps/ia64/Makefile
@@ -1,6 +1,11 @@
# The ia64 `long double' is a distinct type we support.
long-double-fcts = yes
+ifeq ($(subdir),math)
+# sqrtf128 requires soft-fp.
+CPPFLAGS += -I../soft-fp
+endif
+
ifeq ($(subdir),gmon)
sysdep_routines += _mcount
endif
diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S
index e4f624d4dd..c757ae7d32 100644
--- a/sysdeps/ia64/_mcount.S
+++ b/sysdeps/ia64/_mcount.S
@@ -1,5 +1,5 @@
/* Machine-specific calling sequence for `mcount' profiling function. ia64
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by David Mosberger <davidm@hpl.hp.com>
This file is part of the GNU C Library.
diff --git a/sysdeps/ia64/atomic-machine.h b/sysdeps/ia64/atomic-machine.h
index 78f62ab790..8297571345 100644
--- a/sysdeps/ia64/atomic-machine.h
+++ b/sysdeps/ia64/atomic-machine.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -46,6 +46,9 @@ typedef uintmax_t uatomic_max_t;
#define __HAVE_64B_ATOMICS 1
#define USE_ATOMIC_COMPILER_BUILTINS 0
+/* XXX Is this actually correct? */
+#define ATOMIC_EXCHANGE_USES_CAS 0
+
#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
(abort (), 0)
diff --git a/sysdeps/ia64/backtrace.c b/sysdeps/ia64/backtrace.c
deleted file mode 100644
index 27ce597b39..0000000000
--- a/sysdeps/ia64/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/backtrace.c>
diff --git a/sysdeps/ia64/bits/byteswap-16.h b/sysdeps/ia64/bits/byteswap-16.h
deleted file mode 100644
index 9a2c46bd59..0000000000
--- a/sysdeps/ia64/bits/byteswap-16.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Macros to swap the order of bytes in 16-bit integer values.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_BYTESWAP_H
-# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
-#endif
-
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_16(x) \
- (__extension__ \
- ({ unsigned short int __v, __x = (unsigned short int) (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_16 (__x); \
- else \
- __asm__ __volatile__ ("shl %0 = %1, 48 ;;" \
- "mux1 %0 = %0, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned short int) (__x))); \
- __v; }))
-#else
-/* This is better than nothing. */
-static __inline unsigned short int
-__bswap_16 (unsigned short int __bsx)
-{
- return __bswap_constant_16 (__bsx);
-}
-#endif
diff --git a/sysdeps/ia64/bits/byteswap.h b/sysdeps/ia64/bits/byteswap.h
deleted file mode 100644
index 1dd488473f..0000000000
--- a/sysdeps/ia64/bits/byteswap.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Macros to swap the order of bytes in integer values.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
-# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
-#endif
-
-#ifndef _BITS_BYTESWAP_H
-#define _BITS_BYTESWAP_H 1
-
-/* Swap bytes in 16 bit value. */
-#define __bswap_constant_16(x) \
- ((unsigned short int)((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
-
-/* Get __bswap_16. */
-#include <bits/byteswap-16.h>
-
-/* Swap bytes in 32 bit value. */
-#define __bswap_constant_32(x) \
- ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
-
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_32(x) \
- (__extension__ \
- ({ unsigned int __v, __x = (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ __volatile__ ("shl %0 = %1, 32 ;;" \
- "mux1 %0 = %0, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned int) (__x))); \
- __v; }))
-#else
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
-{
- return __bswap_constant_32 (__bsx);
-}
-#endif
-
-
-/* Swap bytes in 64 bit value. */
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_constant_64(x) \
- (__extension__ ((((x) & 0xff00000000000000ul) >> 56) \
- | (((x) & 0x00ff000000000000ul) >> 40) \
- | (((x) & 0x0000ff0000000000ul) >> 24) \
- | (((x) & 0x000000ff00000000ul) >> 8) \
- | (((x) & 0x00000000ff000000ul) << 8) \
- | (((x) & 0x0000000000ff0000ul) << 24) \
- | (((x) & 0x000000000000ff00ul) << 40) \
- | (((x) & 0x00000000000000fful) << 56)))
-
-# define __bswap_64(x) \
- (__extension__ \
- ({ unsigned long int __v, __x = (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_64 (__x); \
- else \
- __asm__ __volatile__ ("mux1 %0 = %1, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned long int) (__x))); \
- __v; }))
-
-#else
-# define __bswap_constant_64(x) \
- ((((x) & 0xff00000000000000ul) >> 56) \
- | (((x) & 0x00ff000000000000ul) >> 40) \
- | (((x) & 0x0000ff0000000000ul) >> 24) \
- | (((x) & 0x000000ff00000000ul) >> 8) \
- | (((x) & 0x00000000ff000000ul) << 8) \
- | (((x) & 0x0000000000ff0000ul) << 24) \
- | (((x) & 0x000000000000ff00ul) << 40) \
- | (((x) & 0x00000000000000fful) << 56))
-
-static __inline unsigned long int
-__bswap_64 (unsigned long int __bsx)
-{
- return __bswap_constant_64 (__bsx);
-}
-#endif
-
-#endif /* _BITS_BYTESWAP_H */
diff --git a/sysdeps/ia64/bits/fenv.h b/sysdeps/ia64/bits/fenv.h
index 9bb20de27b..6e4f937981 100644
--- a/sysdeps/ia64/bits/fenv.h
+++ b/sysdeps/ia64/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -94,3 +94,11 @@ typedef unsigned long int fenv_t;
s0, s2, and s3. */
# define FE_NONIEEE_ENV ((const fenv_t *) 0xc009a04d0270037fUL)
#endif
+
+#if __GLIBC_USE (IEC_60559_BFP_EXT)
+/* Type representing floating-point control modes. */
+typedef unsigned long int femode_t;
+
+/* Default floating-point control modes. */
+# define FE_DFL_MODE ((const femode_t *) 0xc009804c0270033fUL)
+#endif
diff --git a/sysdeps/ia64/bits/floatn.h b/sysdeps/ia64/bits/floatn.h
new file mode 100644
index 0000000000..633ee10d65
--- /dev/null
+++ b/sysdeps/ia64/bits/floatn.h
@@ -0,0 +1,119 @@
+/* Macros to control TS 18661-3 glibc features on ia64.
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_FLOATN_H
+#define _BITS_FLOATN_H
+
+#include <features.h>
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the IEEE 754 binary128 format, and this
+ glibc includes corresponding *f128 interfaces for it. The required
+ libgcc support was added some time after the basic compiler
+ support. */
+#if __GNUC_PREREQ (4, 4)
+# define __HAVE_FLOAT128 1
+#else
+# define __HAVE_FLOAT128 0
+#endif
+
+/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+ from the default float, double and long double types in this glibc. */
+#if __HAVE_FLOAT128
+# define __HAVE_DISTINCT_FLOAT128 1
+#else
+# define __HAVE_DISTINCT_FLOAT128 0
+#endif
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the right format for _Float64x, and this
+ glibc includes corresponding *f64x interfaces for it. */
+#define __HAVE_FLOAT64X 1
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+ of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+ the format of _Float128, which must be different from that of long
+ double. */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 1
+
+#ifndef __ASSEMBLER__
+
+/* Defined to concatenate the literal suffix to be used with _Float128
+ types, if __HAVE_FLOAT128 is 1. */
+# if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* The literal suffix f128 exists only since GCC 7.0. */
+# define __f128(x) x##q
+# else
+# define __f128(x) x##f128
+# endif
+# endif
+
+/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
+# if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* Add a typedef for older GCC compilers which don't natively support
+ _Complex _Float128. */
+typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
+# define __CFLOAT128 __cfloat128
+# else
+# define __CFLOAT128 _Complex _Float128
+# endif
+# endif
+
+/* The remaining of this file provides support for older compilers. */
+# if __HAVE_FLOAT128
+
+/* The type _Float128 exists only since GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef __float128 _Float128;
+# endif
+
+/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
+# endif
+
+/* Older GCC has only a subset of built-in functions for _Float128 on
+ ia64, and __builtin_infq is not usable in static initializers.
+ Converting a narrower sNaN to _Float128 produces a quiet NaN, so
+ attempts to use _Float128 sNaNs will not work properly with older
+ compilers. */
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_copysignf128 __builtin_copysignq
+# define __builtin_fabsf128 __builtin_fabsq
+# define __builtin_inff128() ((_Float128) __builtin_inf ())
+# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
+# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
+# endif
+
+/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
+ e.g.: __builtin_signbitf128, before GCC 6. However, there has never
+ been a __builtin_signbitf128 in GCC and the type-generic builtin is
+ only available since GCC 6. */
+# if !__GNUC_PREREQ (6, 0)
+# define __builtin_signbitf128 __signbitf128
+# endif
+
+# endif
+
+#endif /* !__ASSEMBLER__. */
+
+#include <bits/floatn-common.h>
+
+#endif /* _BITS_FLOATN_H */
diff --git a/sysdeps/ia64/bits/mathdef.h b/sysdeps/ia64/bits/fp-logb.h
index 5a31bd3db7..e4cda10f44 100644
--- a/sysdeps/ia64/bits/mathdef.h
+++ b/sysdeps/ia64/bits/fp-logb.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. IA64 version.
+ Copyright (C) 2016-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,22 +16,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#ifndef _MATH_H
+# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
#endif
-#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF 1
-
-/* The IA-64 architecture computes values with the precision of the
- used type. */
-typedef float float_t; /* `float' expressions are evaluated as
- `float'. */
-typedef double double_t; /* `double' expressions are evaluated as
- `double'. */
-
-/* The values returned by `ilogb' for 0 and NaN respectively. */
-# define FP_ILOGB0 (-2147483647 - 1)
-# define FP_ILOGBNAN 2147483647
-
-#endif /* ISO C99 */
+#define __FP_LOGB0_IS_MIN 1
+#define __FP_LOGBNAN_IS_MIN 0
diff --git a/sysdeps/ia64/bits/huge_vall.h b/sysdeps/ia64/bits/huge_vall.h
deleted file mode 100644
index 24281792f8..0000000000
--- a/sysdeps/ia64/bits/huge_vall.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* `HUGE_VALL' constant for ia64 (where it is infinity).
- Used by <stdlib.h> and <math.h> functions for overflow.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_vall.h> directly; include <math.h> instead."
-#endif
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VALL (__builtin_huge_vall())
-#elif __GNUC_PREREQ(2,96)
-# define HUGE_VALL (__extension__ 0x1.0p32767L)
-#else
-
-# define __HUGE_VALL_bytes { 0,0,0,0,0,0,0, 0x80, 0xff, 0x7f, 0,0,0,0,0,0}
-
-# define __huge_vall_t union { unsigned char __c[16]; long double __ld; }
-# ifdef __GNUC__
-# define HUGE_VALL (__extension__ \
- ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld)
-# else /* Not GCC. */
-static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };
-# define HUGE_VALL (__huge_vall.__ld)
-# endif /* GCC. */
-
-#endif /* GCC 2.95 */
diff --git a/sysdeps/ia64/bits/link.h b/sysdeps/ia64/bits/link.h
index b39db79dc2..abe558f350 100644
--- a/sysdeps/ia64/bits/link.h
+++ b/sysdeps/ia64/bits/link.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/bits/xtitypes.h b/sysdeps/ia64/bits/xtitypes.h
index 65141bbb82..60ba7aff54 100644
--- a/sysdeps/ia64/bits/xtitypes.h
+++ b/sysdeps/ia64/bits/xtitypes.h
@@ -1,5 +1,5 @@
/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. IA64
- Copyright (C) 2002-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/bzero.S b/sysdeps/ia64/bzero.S
index 34fe4438c6..96329eea9e 100644
--- a/sysdeps/ia64/bzero.S
+++ b/sysdeps/ia64/bzero.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard bzero() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop for Itanium <Dan.Pop@cern.ch>.
Rewritten for McKinley by Sverre Jarp, HP Labs/CERN <Sverre.Jarp@cern.ch>
diff --git a/sysdeps/ia64/crti.S b/sysdeps/ia64/crti.S
index 7861d8a36f..c46e297814 100644
--- a/sysdeps/ia64/crti.S
+++ b/sysdeps/ia64/crti.S
@@ -1,5 +1,5 @@
/* Special .init and .fini section support for IA64.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -129,6 +129,7 @@ gmon_initializer:
.section .init,"ax",@progbits
.global _init#
+ .hidden _init#
.proc _init#
_init:
.prologue
@@ -145,6 +146,7 @@ _init:
.section .fini,"ax",@progbits
.global _fini#
+ .hidden _fini#
.proc _fini#
_fini:
.prologue
diff --git a/sysdeps/ia64/crtn.S b/sysdeps/ia64/crtn.S
index 22b9015c80..bc41a94583 100644
--- a/sysdeps/ia64/crtn.S
+++ b/sysdeps/ia64/crtn.S
@@ -1,5 +1,5 @@
/* Special .init and .fini section support for ARM.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/dl-dtprocnum.h b/sysdeps/ia64/dl-dtprocnum.h
index a0a4dcfeea..a02a6e134f 100644
--- a/sysdeps/ia64/dl-dtprocnum.h
+++ b/sysdeps/ia64/dl-dtprocnum.h
@@ -1,5 +1,5 @@
/* Configuration of lookup functions. IA-64 version.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/dl-fptr.h b/sysdeps/ia64/dl-fptr.h
index 95a4bb60f0..26617b7a7b 100644
--- a/sysdeps/ia64/dl-fptr.h
+++ b/sysdeps/ia64/dl-fptr.h
@@ -1,5 +1,5 @@
/* Function descriptors. IA64 version.
- Copyright (C) 2003-2016 Free Software Foundation, Inc.
+ Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/dl-lookupcfg.h b/sysdeps/ia64/dl-lookupcfg.h
index c0e6200dd6..48f91202c4 100644
--- a/sysdeps/ia64/dl-lookupcfg.h
+++ b/sysdeps/ia64/dl-lookupcfg.h
@@ -1,5 +1,5 @@
/* Configuration of lookup functions.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index 3e934fe30e..61d7bb5795 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. IA-64 version.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
+ Copyright (C) 1995-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,7 +45,7 @@ __ia64_init_bootstrap_fdesc_table (struct link_map *map)
}
#define ELF_MACHINE_BEFORE_RTLD_RELOC(dynamic_info) \
- __ia64_init_bootstrap_fdesc_table (&bootstrap_map);
+ __ia64_init_bootstrap_fdesc_table (BOOTSTRAP_MAP);
/* Return nonzero iff ELF header is compatible with the running host. */
static inline int __attribute__ ((unused))
@@ -333,6 +333,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
/* Fixup a PLT entry to bounce directly to the function at VALUE. */
static inline struct fdesc __attribute__ ((always_inline))
elf_machine_fixup_plt (struct link_map *l, lookup_t t,
+ const ElfW(Sym) *refsym, const ElfW(Sym) *sym,
const Elf64_Rela *reloc,
Elf64_Addr *reloc_addr, struct fdesc value)
{
@@ -418,13 +419,13 @@ elf_machine_rela (struct link_map *map,
/* RESOLVE_MAP() will return NULL if it fail to locate the symbol. */
if ((sym_map = RESOLVE_MAP (&sym, version, r_type)))
{
- value = sym_map->l_addr + sym->st_value + reloc->r_addend;
+ value = SYMBOL_ADDRESS (sym_map, sym, true) + reloc->r_addend;
if (R_IA64_TYPE (r_type) == R_IA64_TYPE (R_IA64_DIR64LSB))
;/* No adjustment. */
else if (r_type == R_IA64_IPLTLSB)
{
- elf_machine_fixup_plt (NULL, NULL, reloc, reloc_addr,
+ elf_machine_fixup_plt (NULL, NULL, NULL, NULL, reloc, reloc_addr,
DL_FIXUP_MAKE_VALUE (sym_map, value));
return;
}
diff --git a/sysdeps/ia64/dl-sysdep.h b/sysdeps/ia64/dl-sysdep.h
index 4a45e20630..0b571a5cc7 100644
--- a/sysdeps/ia64/dl-sysdep.h
+++ b/sysdeps/ia64/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. IA-64 version.
- Copyright (C) 2002-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/dl-tls.h b/sysdeps/ia64/dl-tls.h
index bc008882bf..d589a5a233 100644
--- a/sysdeps/ia64/dl-tls.h
+++ b/sysdeps/ia64/dl-tls.h
@@ -1,5 +1,5 @@
/* Thread-local storage handling in the ELF dynamic linker. IA-64 version.
- Copyright (C) 2002-2016 Free Software Foundation, Inc.
+ Copyright (C) 2002-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -28,6 +28,3 @@
#define DONT_USE_TLS_INDEX 1
extern void *__tls_get_addr (size_t m, size_t offset);
-
-/* Value used for dtv entries for which the allocation is delayed. */
-#define TLS_DTV_UNALLOCATED ((void *) -1l)
diff --git a/sysdeps/ia64/dl-trampoline.S b/sysdeps/ia64/dl-trampoline.S
index b315e856f0..fc24c425bf 100644
--- a/sysdeps/ia64/dl-trampoline.S
+++ b/sysdeps/ia64/dl-trampoline.S
@@ -1,5 +1,5 @@
/* PLT trampolines. ia64 version.
- Copyright (C) 2005-2016 Free Software Foundation, Inc.
+ Copyright (C) 2005-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/float128-abi.h b/sysdeps/ia64/float128-abi.h
new file mode 100644
index 0000000000..6b954cc673
--- /dev/null
+++ b/sysdeps/ia64/float128-abi.h
@@ -0,0 +1,2 @@
+/* ABI version for _Float128 ABI introduction. */
+#define FLOAT128_VERSION GLIBC_2.26
diff --git a/sysdeps/ia64/fpu/bits/math-finite.h b/sysdeps/ia64/fpu/bits/math-finite.h
index 9fb6d51c11..7f52bc388b 100644
--- a/sysdeps/ia64/fpu/bits/math-finite.h
+++ b/sysdeps/ia64/fpu/bits/math-finite.h
@@ -1,5 +1,5 @@
/* Entry points to finite-math-only compiler runs.
- Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ Copyright (C) 2011-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/bits/mathinline.h b/sysdeps/ia64/fpu/bits/mathinline.h
deleted file mode 100644
index b9db888ab6..0000000000
--- a/sysdeps/ia64/fpu/bits/mathinline.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Inline math functions for ia64.
- Copyright (C) 2004-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MATH_H
-# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
-#endif
-
-#ifndef __extern_inline
-# define __MATH_INLINE __inline
-#else
-# define __MATH_INLINE __extern_inline
-#endif
-
-#if defined __USE_ISOC99 && defined __GNUC__ && __GNUC__ >= 2
-/* The gcc, version 2.7 or below, has problems with all this inlining
- code. So disable it for this version of the compiler. */
-# if __GNUC_PREREQ (2, 8)
-/* Test for negative number. Used in the signbit() macro. */
-__MATH_INLINE int
-__NTH (__signbitf (float __x))
-{
- __extension__ union { float __f; int __i; } __u = { __f: __x };
- return __u.__i < 0;
-}
-__MATH_INLINE int
-__NTH (__signbit (double __x))
-{
- __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
- return __u.__i[1] < 0;
-}
-__MATH_INLINE int
-__NTH (__signbitl (long double __x))
-{
- __extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
- return (__u.__i[2] & 0x8000) != 0;
-}
-# endif
-#endif
diff --git a/sysdeps/ia64/fpu/e_acos.S b/sysdeps/ia64/fpu/e_acos.S
index c2b31ab85e..ad7901612c 100644
--- a/sysdeps/ia64/fpu/e_acos.S
+++ b/sysdeps/ia64/fpu/e_acos.S
@@ -822,6 +822,7 @@ acos_abs_gt_1:
}
;;
GLOBAL_LIBM_END(acos)
+libm_alias_double_other (acos, acos)
diff --git a/sysdeps/ia64/fpu/e_acosf.S b/sysdeps/ia64/fpu/e_acosf.S
index bdcac59d22..c0dac3df10 100644
--- a/sysdeps/ia64/fpu/e_acosf.S
+++ b/sysdeps/ia64/fpu/e_acosf.S
@@ -600,6 +600,7 @@ ACOSF_ABS_ONE:
}
GLOBAL_LIBM_END(acosf)
+libm_alias_float_other (acos, acos)
// Stack operations when calling error support.
diff --git a/sysdeps/ia64/fpu/e_acosh.S b/sysdeps/ia64/fpu/e_acosh.S
index fb25fa0053..f8c75e427d 100644
--- a/sysdeps/ia64/fpu/e_acosh.S
+++ b/sysdeps/ia64/fpu/e_acosh.S
@@ -1139,6 +1139,7 @@ ACOSH_LESS_ONE:
;;
GLOBAL_LIBM_END(acosh)
+libm_alias_double_other (acosh, acosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_acoshf.S b/sysdeps/ia64/fpu/e_acoshf.S
index 58ef5f2adb..4affbdf5f0 100644
--- a/sysdeps/ia64/fpu/e_acoshf.S
+++ b/sysdeps/ia64/fpu/e_acoshf.S
@@ -967,6 +967,7 @@ ACOSH_LESS_ONE:
;;
GLOBAL_LIBM_END(acoshf)
+libm_alias_float_other (acosh, acosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_acoshl.S b/sysdeps/ia64/fpu/e_acoshl.S
index 9bd556389b..b5c58884f2 100644
--- a/sysdeps/ia64/fpu/e_acoshl.S
+++ b/sysdeps/ia64/fpu/e_acoshl.S
@@ -1650,6 +1650,7 @@ acoshl_lt_pone:
};;
GLOBAL_LIBM_END(acoshl)
+libm_alias_ldouble_other (acosh, acosh)
diff --git a/sysdeps/ia64/fpu/e_acosl.S b/sysdeps/ia64/fpu/e_acosl.S
index 8c5155a2ec..107266b6a3 100644
--- a/sysdeps/ia64/fpu/e_acosl.S
+++ b/sysdeps/ia64/fpu/e_acosl.S
@@ -2481,6 +2481,7 @@ acosl_SPECIAL_CASES:
GLOBAL_LIBM_END(acosl)
+libm_alias_ldouble_other (acos, acos)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_asin.S b/sysdeps/ia64/fpu/e_asin.S
index f995c597f4..4de08e59d5 100644
--- a/sysdeps/ia64/fpu/e_asin.S
+++ b/sysdeps/ia64/fpu/e_asin.S
@@ -798,6 +798,7 @@ asin_abs_gt_1:
}
;;
GLOBAL_LIBM_END(asin)
+libm_alias_double_other (asin, asin)
diff --git a/sysdeps/ia64/fpu/e_asinf.S b/sysdeps/ia64/fpu/e_asinf.S
index 74a18dd24a..a4b7fc2f27 100644
--- a/sysdeps/ia64/fpu/e_asinf.S
+++ b/sysdeps/ia64/fpu/e_asinf.S
@@ -583,6 +583,7 @@ ASINF_ABS_ONE:
;;
GLOBAL_LIBM_END(asinf)
+libm_alias_float_other (asin, asin)
// Stack operations when calling error support.
// (1) (2)
diff --git a/sysdeps/ia64/fpu/e_asinl.S b/sysdeps/ia64/fpu/e_asinl.S
index 792a0c6578..18153d427f 100644
--- a/sysdeps/ia64/fpu/e_asinl.S
+++ b/sysdeps/ia64/fpu/e_asinl.S
@@ -2457,6 +2457,7 @@ SMALL_S:
GLOBAL_LIBM_END(asinl)
+libm_alias_ldouble_other (asin, asin)
diff --git a/sysdeps/ia64/fpu/e_atan2.S b/sysdeps/ia64/fpu/e_atan2.S
index 7a17fbfed4..1786794e7d 100644
--- a/sysdeps/ia64/fpu/e_atan2.S
+++ b/sysdeps/ia64/fpu/e_atan2.S
@@ -985,6 +985,7 @@ ATAN2_ERROR:
;;
}
GLOBAL_IEEE754_END(atan2)
+libm_alias_double_other (__atan2, atan2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atan2f.S b/sysdeps/ia64/fpu/e_atan2f.S
index 5ff561d7ca..6b318a5ced 100644
--- a/sysdeps/ia64/fpu/e_atan2f.S
+++ b/sysdeps/ia64/fpu/e_atan2f.S
@@ -826,6 +826,7 @@ ATAN2F_XY_INF_NAN_ZERO:
GLOBAL_IEEE754_END(atan2f)
+libm_alias_float_other (__atan2, atan2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atanh.S b/sysdeps/ia64/fpu/e_atanh.S
index 4ae5ee6926..45760af71d 100644
--- a/sysdeps/ia64/fpu/e_atanh.S
+++ b/sysdeps/ia64/fpu/e_atanh.S
@@ -1008,6 +1008,7 @@ atanh_ge_one:
;;
GLOBAL_LIBM_END(atanh)
+libm_alias_double_other (atanh, atanh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atanhf.S b/sysdeps/ia64/fpu/e_atanhf.S
index 1ec1408e35..3c550f9dc4 100644
--- a/sysdeps/ia64/fpu/e_atanhf.S
+++ b/sysdeps/ia64/fpu/e_atanhf.S
@@ -781,6 +781,7 @@ atanhf_ge_one:
;;
GLOBAL_LIBM_END(atanhf)
+libm_alias_float_other (atanh, atanh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atanhl.S b/sysdeps/ia64/fpu/e_atanhl.S
index 5d828d5ffa..96c6360a2b 100644
--- a/sysdeps/ia64/fpu/e_atanhl.S
+++ b/sysdeps/ia64/fpu/e_atanhl.S
@@ -1101,6 +1101,7 @@ atanhl_gt_one:
};;
GLOBAL_LIBM_END(atanhl)
+libm_alias_ldouble_other (atanh, atanh)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_cosh.S b/sysdeps/ia64/fpu/e_cosh.S
index 885456b389..dbac1804ff 100644
--- a/sysdeps/ia64/fpu/e_cosh.S
+++ b/sysdeps/ia64/fpu/e_cosh.S
@@ -811,6 +811,7 @@ COSH_UNORM:
;;
GLOBAL_IEEE754_END(cosh)
+libm_alias_double_other (__cosh, cosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_coshf.S b/sysdeps/ia64/fpu/e_coshf.S
index 97cb4e1771..51a87b840e 100644
--- a/sysdeps/ia64/fpu/e_coshf.S
+++ b/sysdeps/ia64/fpu/e_coshf.S
@@ -652,6 +652,7 @@ COSH_UNORM:
;;
GLOBAL_IEEE754_END(coshf)
+libm_alias_float_other (__cosh, cosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_coshl.S b/sysdeps/ia64/fpu/e_coshl.S
index 43da1ab04d..0d18f2d06a 100644
--- a/sysdeps/ia64/fpu/e_coshl.S
+++ b/sysdeps/ia64/fpu/e_coshl.S
@@ -1032,6 +1032,7 @@ COSH_HUGE:
;;
GLOBAL_IEEE754_END(coshl)
+libm_alias_ldouble_other (__cosh, cosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp.S b/sysdeps/ia64/fpu/e_exp.S
index f17bc26081..c8cebeb177 100644
--- a/sysdeps/ia64/fpu/e_exp.S
+++ b/sysdeps/ia64/fpu/e_exp.S
@@ -738,6 +738,7 @@ EXP_UNDERFLOW_ZERO:
;;
GLOBAL_IEEE754_END(exp)
+libm_alias_double_other (__exp, exp)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10.S b/sysdeps/ia64/fpu/e_exp10.S
index eafa59dd7c..f12344bee3 100644
--- a/sysdeps/ia64/fpu/e_exp10.S
+++ b/sysdeps/ia64/fpu/e_exp10.S
@@ -87,6 +87,8 @@
// p6-p12
//
+#include <shlib-compat.h>
+
GR_TBL_START = r2
GR_LOG_TBL = r3
@@ -534,7 +536,10 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10)
-weak_alias (exp10, pow10)
+libm_alias_double_other (__exp10, exp10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10, pow10, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10f.S b/sysdeps/ia64/fpu/e_exp10f.S
index fa54e9039f..67218c737f 100644
--- a/sysdeps/ia64/fpu/e_exp10f.S
+++ b/sysdeps/ia64/fpu/e_exp10f.S
@@ -86,6 +86,8 @@
// p6-p12
//
+#include <shlib-compat.h>
+
GR_TBL_START = r2
GR_LOG_TBL = r3
@@ -486,7 +488,10 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10f)
-weak_alias (exp10f, pow10f)
+libm_alias_float_other (__exp10, exp10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10l.S b/sysdeps/ia64/fpu/e_exp10l.S
index f72d547ebf..0cc54e2b58 100644
--- a/sysdeps/ia64/fpu/e_exp10l.S
+++ b/sysdeps/ia64/fpu/e_exp10l.S
@@ -85,6 +85,8 @@
// p6-p8, p11-p14
//
+#include <shlib-compat.h>
+
FR_X = f10
FR_Y = f1
@@ -747,7 +749,10 @@ OUT_RANGE_EXP10:
;;
GLOBAL_IEEE754_END(exp10l)
-weak_alias (exp10l, pow10l)
+libm_alias_ldouble_other (__exp10, exp10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10l, pow10l, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp2.S b/sysdeps/ia64/fpu/e_exp2.S
index 54f652e384..18711866a1 100644
--- a/sysdeps/ia64/fpu/e_exp2.S
+++ b/sysdeps/ia64/fpu/e_exp2.S
@@ -494,6 +494,7 @@ OUT_RANGE_exp2:
;;
GLOBAL_LIBM_END(exp2)
+libm_alias_double_other (exp2, exp2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp2f.S b/sysdeps/ia64/fpu/e_exp2f.S
index 36354ae3bd..77bc6ea686 100644
--- a/sysdeps/ia64/fpu/e_exp2f.S
+++ b/sysdeps/ia64/fpu/e_exp2f.S
@@ -221,7 +221,7 @@ LOCAL_OBJECT_END(T_table)
.section .text
-GLOBAL_LIBM_ENTRY(exp2f)
+GLOBAL_LIBM_ENTRY(__exp2f)
{.mfi
@@ -468,7 +468,14 @@ OUT_RANGE_exp2:
}
;;
-GLOBAL_LIBM_END(exp2f)
+GLOBAL_LIBM_END(__exp2f)
+libm_alias_float_other (__exp2, exp2)
+#ifdef SHARED
+.symver __exp2f,exp2f@@GLIBC_2.27
+.weak __exp2f_compat
+.set __exp2f_compat,__exp2f
+.symver __exp2f_compat,exp2f@GLIBC_2.2
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/halfulp.c b/sysdeps/ia64/fpu/e_exp2f_data.c
index 1cc8931700..1cc8931700 100644
--- a/sysdeps/ia64/fpu/halfulp.c
+++ b/sysdeps/ia64/fpu/e_exp2f_data.c
diff --git a/sysdeps/ia64/fpu/e_exp2l.S b/sysdeps/ia64/fpu/e_exp2l.S
index 743ed3558b..c2912ab6de 100644
--- a/sysdeps/ia64/fpu/e_exp2l.S
+++ b/sysdeps/ia64/fpu/e_exp2l.S
@@ -746,6 +746,7 @@ OUT_RANGE_exp2l:
GLOBAL_LIBM_END(exp2l)
+libm_alias_ldouble_other (exp2, exp2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_expf.S b/sysdeps/ia64/fpu/e_expf.S
index 75f918f78e..c95ccafee3 100644
--- a/sysdeps/ia64/fpu/e_expf.S
+++ b/sysdeps/ia64/fpu/e_expf.S
@@ -657,6 +657,13 @@ EXP_UNDERFLOW_ZERO:
;;
GLOBAL_IEEE754_END(expf)
+libm_alias_float_other (__exp, exp)
+#ifdef SHARED
+.symver expf,expf@@GLIBC_2.27
+.weak __expf_compat
+.set __expf_compat,__expf
+.symver __expf_compat,expf@GLIBC_2.2
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_fmod.S b/sysdeps/ia64/fpu/e_fmod.S
index c29056e34a..3eaaf49fbb 100644
--- a/sysdeps/ia64/fpu/e_fmod.S
+++ b/sysdeps/ia64/fpu/e_fmod.S
@@ -499,6 +499,7 @@ FMOD_Y_ZERO:
}
GLOBAL_IEEE754_END(fmod)
+libm_alias_double_other (__fmod, fmod)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_fmodf.S b/sysdeps/ia64/fpu/e_fmodf.S
index f5aec469ca..149e27f1a1 100644
--- a/sysdeps/ia64/fpu/e_fmodf.S
+++ b/sysdeps/ia64/fpu/e_fmodf.S
@@ -514,6 +514,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(fmodf)
+libm_alias_float_other (__fmod, fmod)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_fmodl.S b/sysdeps/ia64/fpu/e_fmodl.S
index 258e4ef8a6..3bd9b77812 100644
--- a/sysdeps/ia64/fpu/e_fmodl.S
+++ b/sysdeps/ia64/fpu/e_fmodl.S
@@ -606,6 +606,7 @@ FMOD_B_ZERO:
;;
GLOBAL_IEEE754_END(fmodl)
+libm_alias_ldouble_other (__fmod, fmod)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_hypot.S b/sysdeps/ia64/fpu/e_hypot.S
index 146bb2fb1b..34c2761dc3 100644
--- a/sysdeps/ia64/fpu/e_hypot.S
+++ b/sysdeps/ia64/fpu/e_hypot.S
@@ -385,6 +385,7 @@ GLOBAL_IEEE754_ENTRY(hypot)
(p9) br.ret.sptk b0;;
}
GLOBAL_IEEE754_END(hypot)
+libm_alias_double_other (__hypot, hypot)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_hypotf.S b/sysdeps/ia64/fpu/e_hypotf.S
index 43a2fe4a27..6c6f5782ff 100644
--- a/sysdeps/ia64/fpu/e_hypotf.S
+++ b/sysdeps/ia64/fpu/e_hypotf.S
@@ -338,6 +338,7 @@ GLOBAL_IEEE754_ENTRY(hypotf)
(p9) br.ret.sptk b0;;
}
GLOBAL_IEEE754_END(hypotf)
+libm_alias_float_other (__hypot, hypot)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_hypotl.S b/sysdeps/ia64/fpu/e_hypotl.S
index 07bb6860ed..9a3f31485f 100644
--- a/sysdeps/ia64/fpu/e_hypotl.S
+++ b/sysdeps/ia64/fpu/e_hypotl.S
@@ -422,6 +422,7 @@ GLOBAL_IEEE754_ENTRY(hypotl)
(p9) br.ret.sptk b0;;
}
GLOBAL_IEEE754_END(hypotl)
+libm_alias_ldouble_other (__hypot, hypot)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_lgamma_r.c b/sysdeps/ia64/fpu/e_lgamma_r.c
index cb9efbfe02..8ae6df3419 100644
--- a/sysdeps/ia64/fpu/e_lgamma_r.c
+++ b/sysdeps/ia64/fpu/e_lgamma_r.c
@@ -60,7 +60,7 @@ double __ieee754_lgamma_r(double x, int* signgam)
{
return __libm_lgamma(x, signgam, sizeof(*signgam));
}
-weak_alias (__ieee754_lgamma_r, lgamma_r)
+libm_alias_double_r (__ieee754_lgamma, lgamma, _r)
#ifndef _LIBC
double __ieee754_gamma_r(double x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_lgammaf_r.c b/sysdeps/ia64/fpu/e_lgammaf_r.c
index 44911aeabd..9af43702ad 100644
--- a/sysdeps/ia64/fpu/e_lgammaf_r.c
+++ b/sysdeps/ia64/fpu/e_lgammaf_r.c
@@ -60,7 +60,7 @@ float __ieee754_lgammaf_r(float x, int* signgam)
{
return __libm_lgammaf(x, signgam, sizeof(*signgam));
}
-weak_alias (__ieee754_lgammaf_r, lgammaf_r)
+libm_alias_float_r (__ieee754_lgamma, lgamma, _r)
#ifndef _LIBC
float __ieee754_gammaf_r(float x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_lgammal_r.c b/sysdeps/ia64/fpu/e_lgammal_r.c
index 4451201b77..1f227c86db 100644
--- a/sysdeps/ia64/fpu/e_lgammal_r.c
+++ b/sysdeps/ia64/fpu/e_lgammal_r.c
@@ -59,7 +59,7 @@ long double __ieee754_lgammal_r(long double x, int* signgam)
{
return __libm_lgammal(x, signgam, sizeof(*signgam));
}
-weak_alias (__ieee754_lgammal_r, lgammal_r)
+libm_alias_ldouble_r (__ieee754_lgamma, lgamma, _r)
#ifndef _LIBC
long double __ieee754_gammal_r(long double x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_log.S b/sysdeps/ia64/fpu/e_log.S
index 50eed956da..0b63ec43c5 100644
--- a/sysdeps/ia64/fpu/e_log.S
+++ b/sysdeps/ia64/fpu/e_log.S
@@ -1386,6 +1386,7 @@ GLOBAL_IEEE754_ENTRY(log10)
br.cond.sptk log_log10_common
};;
GLOBAL_IEEE754_END(log10)
+libm_alias_double_other (__log10, log10)
GLOBAL_IEEE754_ENTRY(log)
@@ -1668,6 +1669,7 @@ log_libm_err:
nop.i 0
};;
GLOBAL_IEEE754_END(log)
+libm_alias_double_other (__log, log)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_log2.S b/sysdeps/ia64/fpu/e_log2.S
index c2b37a65ce..17893a2ede 100644
--- a/sysdeps/ia64/fpu/e_log2.S
+++ b/sysdeps/ia64/fpu/e_log2.S
@@ -654,6 +654,7 @@ SPECIAL_LOG2:
}
GLOBAL_LIBM_END(log2)
+libm_alias_double_other (log2, log2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_log2f.S b/sysdeps/ia64/fpu/e_log2f.S
index 2c3f18f360..5ca3bd61ea 100644
--- a/sysdeps/ia64/fpu/e_log2f.S
+++ b/sysdeps/ia64/fpu/e_log2f.S
@@ -252,7 +252,7 @@ LOCAL_OBJECT_END(T_table)
.section .text
-GLOBAL_LIBM_ENTRY(log2f)
+GLOBAL_LIBM_ENTRY(__log2f)
{ .mfi
alloc r32=ar.pfs,1,4,4,0
@@ -491,7 +491,14 @@ SPECIAL_log2f:
br.ret.sptk b0;;
}
-GLOBAL_LIBM_END(log2f)
+GLOBAL_LIBM_END(__log2f)
+libm_alias_float_other (__log2, log2)
+#ifdef SHARED
+.symver __log2f,log2f@@GLIBC_2.27
+.weak __log2f_compat
+.set __log2f_compat,__log2f
+.symver __log2f_compat,log2f@GLIBC_2.2
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/mpexp.c b/sysdeps/ia64/fpu/e_log2f_data.c
index 1cc8931700..1cc8931700 100644
--- a/sysdeps/ia64/fpu/mpexp.c
+++ b/sysdeps/ia64/fpu/e_log2f_data.c
diff --git a/sysdeps/ia64/fpu/e_log2l.S b/sysdeps/ia64/fpu/e_log2l.S
index 4d5a828f58..51bfd9a278 100644
--- a/sysdeps/ia64/fpu/e_log2l.S
+++ b/sysdeps/ia64/fpu/e_log2l.S
@@ -760,6 +760,7 @@ LOG2_PSEUDO_ZERO:
GLOBAL_IEEE754_END(log2l)
+libm_alias_ldouble_other (__log2, log2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_logf.S b/sysdeps/ia64/fpu/e_logf.S
index 2dda2186d0..d299242198 100644
--- a/sysdeps/ia64/fpu/e_logf.S
+++ b/sysdeps/ia64/fpu/e_logf.S
@@ -842,6 +842,7 @@ GLOBAL_IEEE754_ENTRY(log10f)
br.cond.sptk logf_log10f_common
};;
GLOBAL_IEEE754_END(log10f)
+libm_alias_float_other (__log10, log10)
GLOBAL_IEEE754_ENTRY(logf)
{ .mfi
@@ -1088,6 +1089,13 @@ logf_libm_err:
nop.i 0
};;
GLOBAL_IEEE754_END(logf)
+libm_alias_float_other (__log, log)
+#ifdef SHARED
+.symver logf,logf@@GLIBC_2.27
+.weak __logf_compat
+.set __logf_compat,__logf
+.symver __logf_compat,logf@GLIBC_2.2
+#endif
// Stack operations when calling error support.
diff --git a/sysdeps/ia64/fpu/mplog.c b/sysdeps/ia64/fpu/e_logf_data.c
index 1cc8931700..1cc8931700 100644
--- a/sysdeps/ia64/fpu/mplog.c
+++ b/sysdeps/ia64/fpu/e_logf_data.c
diff --git a/sysdeps/ia64/fpu/e_logl.S b/sysdeps/ia64/fpu/e_logl.S
index 996f64aaee..2ffe106a26 100644
--- a/sysdeps/ia64/fpu/e_logl.S
+++ b/sysdeps/ia64/fpu/e_logl.S
@@ -633,6 +633,7 @@ GLOBAL_IEEE754_ENTRY(logl)
;;
GLOBAL_IEEE754_END(logl)
+libm_alias_ldouble_other (__log, log)
GLOBAL_IEEE754_ENTRY(log10l)
@@ -1145,6 +1146,7 @@ LOGL_64_negative:
GLOBAL_IEEE754_END(log10l)
+libm_alias_ldouble_other (__log10, log10)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_pow.S b/sysdeps/ia64/fpu/e_pow.S
index 765f509695..3b402f3f14 100644
--- a/sysdeps/ia64/fpu/e_pow.S
+++ b/sysdeps/ia64/fpu/e_pow.S
@@ -2234,6 +2234,7 @@ POW_OVER_UNDER_ERROR:
;;
GLOBAL_LIBM_END(pow)
+libm_alias_double_other (pow, pow)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_powf.S b/sysdeps/ia64/fpu/e_powf.S
index d61bc79e5e..7449f8c7d5 100644
--- a/sysdeps/ia64/fpu/e_powf.S
+++ b/sysdeps/ia64/fpu/e_powf.S
@@ -868,7 +868,7 @@ data8 0xEAC0C6E7DD24392F , 0x00003FFF
LOCAL_OBJECT_END(pow_tbl2)
.section .text
-GLOBAL_LIBM_ENTRY(powf)
+GLOBAL_LIBM_ENTRY(__powf)
// Get exponent of x. Will be used to calculate K.
{ .mfi
@@ -2002,7 +2002,14 @@ POW_OVER_UNDER_ERROR:
}
;;
-GLOBAL_LIBM_END(powf)
+GLOBAL_LIBM_END(__powf)
+libm_alias_float_other (__pow, pow)
+#ifdef SHARED
+.symver __powf,powf@@GLIBC_2.27
+.weak __powf_compat
+.set __powf_compat,__powf
+.symver __powf_compat,powf@GLIBC_2.2
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/slowexp.c b/sysdeps/ia64/fpu/e_powf_log2_data.c
index 1cc8931700..1cc8931700 100644
--- a/sysdeps/ia64/fpu/slowexp.c
+++ b/sysdeps/ia64/fpu/e_powf_log2_data.c
diff --git a/sysdeps/ia64/fpu/e_powl.S b/sysdeps/ia64/fpu/e_powl.S
index 3f93f6090e..4596322f15 100644
--- a/sysdeps/ia64/fpu/e_powl.S
+++ b/sysdeps/ia64/fpu/e_powl.S
@@ -2755,6 +2755,7 @@ POWL_64_SQRT:
;;
GLOBAL_LIBM_END(powl)
+libm_alias_ldouble_other (pow, pow)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_remainder.S b/sysdeps/ia64/fpu/e_remainder.S
index 3cd5aac578..acefe7b9c9 100644
--- a/sysdeps/ia64/fpu/e_remainder.S
+++ b/sysdeps/ia64/fpu/e_remainder.S
@@ -529,6 +529,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(remainder)
+libm_alias_double_other (__remainder, remainder)
weak_alias (__remainder, drem)
diff --git a/sysdeps/ia64/fpu/e_remainderf.S b/sysdeps/ia64/fpu/e_remainderf.S
index df4cfdddc8..5b8d029d9a 100644
--- a/sysdeps/ia64/fpu/e_remainderf.S
+++ b/sysdeps/ia64/fpu/e_remainderf.S
@@ -548,6 +548,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(remainderf)
+libm_alias_float_other (__remainder, remainder)
weak_alias (__remainderf, dremf)
diff --git a/sysdeps/ia64/fpu/e_remainderl.S b/sysdeps/ia64/fpu/e_remainderl.S
index d9a9ee8d29..bdc2b8fae4 100644
--- a/sysdeps/ia64/fpu/e_remainderl.S
+++ b/sysdeps/ia64/fpu/e_remainderl.S
@@ -557,6 +557,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(remainderl)
+libm_alias_ldouble_other (__remainder, remainder)
weak_alias (__remainderl, dreml)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sinh.S b/sysdeps/ia64/fpu/e_sinh.S
index f60907b72b..2167c78edc 100644
--- a/sysdeps/ia64/fpu/e_sinh.S
+++ b/sysdeps/ia64/fpu/e_sinh.S
@@ -850,6 +850,7 @@ SINH_UNORM:
;;
GLOBAL_IEEE754_END(sinh)
+libm_alias_double_other (__sinh, sinh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sinhf.S b/sysdeps/ia64/fpu/e_sinhf.S
index 6d808cb478..08b873ecb7 100644
--- a/sysdeps/ia64/fpu/e_sinhf.S
+++ b/sysdeps/ia64/fpu/e_sinhf.S
@@ -689,6 +689,7 @@ SINH_UNORM:
;;
GLOBAL_IEEE754_END(sinhf)
+libm_alias_float_other (__sinh, sinh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sinhl.S b/sysdeps/ia64/fpu/e_sinhl.S
index b560999514..65cfbf4066 100644
--- a/sysdeps/ia64/fpu/e_sinhl.S
+++ b/sysdeps/ia64/fpu/e_sinhl.S
@@ -1054,6 +1054,7 @@ SINH_HUGE:
;;
GLOBAL_IEEE754_END(sinhl)
+libm_alias_ldouble_other (__sinh, sinh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sqrt.S b/sysdeps/ia64/fpu/e_sqrt.S
index da4e8ccb6d..38d8a505ee 100644
--- a/sysdeps/ia64/fpu/e_sqrt.S
+++ b/sysdeps/ia64/fpu/e_sqrt.S
@@ -252,6 +252,7 @@ GLOBAL_IEEE754_ENTRY(sqrt)
}
// END DOUBLE PRECISION MINIMUM LATENCY SQUARE ROOT ALGORITHM
GLOBAL_IEEE754_END(sqrt)
+libm_alias_double_other (__sqrt, sqrt)
// Stack operations when calling error support.
// (1) (2) (3) (call) (4)
diff --git a/sysdeps/ia64/fpu/e_sqrtf.S b/sysdeps/ia64/fpu/e_sqrtf.S
index d50ff012e4..6741bb49ac 100644
--- a/sysdeps/ia64/fpu/e_sqrtf.S
+++ b/sysdeps/ia64/fpu/e_sqrtf.S
@@ -203,6 +203,7 @@ GLOBAL_IEEE754_ENTRY(sqrtf)
// with the result equal to frcpa(x)
//
GLOBAL_IEEE754_END(sqrtf)
+libm_alias_float_other (__sqrt, sqrt)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sqrtf128.c b/sysdeps/ia64/fpu/e_sqrtf128.c
new file mode 100644
index 0000000000..d5bcb79aaa
--- /dev/null
+++ b/sysdeps/ia64/fpu/e_sqrtf128.c
@@ -0,0 +1 @@
+#include <sysdeps/x86/fpu/e_sqrtf128.c>
diff --git a/sysdeps/ia64/fpu/e_sqrtl.S b/sysdeps/ia64/fpu/e_sqrtl.S
index 6aa402150f..e1c22344d0 100644
--- a/sysdeps/ia64/fpu/e_sqrtl.S
+++ b/sysdeps/ia64/fpu/e_sqrtl.S
@@ -221,6 +221,7 @@ alloc r32= ar.pfs,0,5,4,0
// END DOUBLE EXTENDED PRECISION MINIMUM LATENCY SQUARE ROOT ALGORITHM
GLOBAL_IEEE754_END(sqrtl)
+libm_alias_ldouble_other (__sqrt, sqrt)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/fclrexcpt.c b/sysdeps/ia64/fpu/fclrexcpt.c
index ec3b285f9f..546022f80a 100644
--- a/sysdeps/ia64/fpu/fclrexcpt.c
+++ b/sysdeps/ia64/fpu/fclrexcpt.c
@@ -1,5 +1,5 @@
/* Clear given exceptions in current floating-point environment.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999 and
Jes Sorensen <Jes.Sorensen@cern.ch>, 2000
diff --git a/sysdeps/ia64/fpu/fedisblxcpt.c b/sysdeps/ia64/fpu/fedisblxcpt.c
index 488b8e5aa0..441eeb400a 100644
--- a/sysdeps/ia64/fpu/fedisblxcpt.c
+++ b/sysdeps/ia64/fpu/fedisblxcpt.c
@@ -1,5 +1,5 @@
/* Disable floating-point exceptions.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000.
diff --git a/sysdeps/ia64/fpu/feenablxcpt.c b/sysdeps/ia64/fpu/feenablxcpt.c
index 4a52f823a5..bb19aef6b7 100644
--- a/sysdeps/ia64/fpu/feenablxcpt.c
+++ b/sysdeps/ia64/fpu/feenablxcpt.c
@@ -1,5 +1,5 @@
/* Enable floating-point exceptions.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000.
diff --git a/sysdeps/ia64/fpu/fegetenv.c b/sysdeps/ia64/fpu/fegetenv.c
index e490b2e7d9..9b304e4758 100644
--- a/sysdeps/ia64/fpu/fegetenv.c
+++ b/sysdeps/ia64/fpu/fegetenv.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/fegetexcept.c b/sysdeps/ia64/fpu/fegetexcept.c
index 7c59df7964..797a069b70 100644
--- a/sysdeps/ia64/fpu/fegetexcept.c
+++ b/sysdeps/ia64/fpu/fegetexcept.c
@@ -1,5 +1,5 @@
/* Get enabled floating-point exceptions.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000.
diff --git a/sysdeps/ia64/strcat.c b/sysdeps/ia64/fpu/fegetmode.c
index c5f6ae0537..a2ab4feec8 100644
--- a/sysdeps/ia64/strcat.c
+++ b/sysdeps/ia64/fpu/fegetmode.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
+/* Store current floating-point control modes. IA64 version.
+ Copyright (C) 2016-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,12 +16,11 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <string.h>
+#include <fenv.h>
-char *
-strcat (char *dest, const char *src)
+int
+fegetmode (femode_t *modep)
{
- strcpy (dest + strlen (dest), src);
- return dest;
+ __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (*modep));
+ return 0;
}
-libc_hidden_builtin_def (strcat)
diff --git a/sysdeps/ia64/fpu/fegetround.c b/sysdeps/ia64/fpu/fegetround.c
index 11aa43929a..cd22788ff0 100644
--- a/sysdeps/ia64/fpu/fegetround.c
+++ b/sysdeps/ia64/fpu/fegetround.c
@@ -1,5 +1,5 @@
/* Return current rounding direction.
- Copyright (C) 1999-2016 Free Software Foundation, Inc.
+ Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/feholdexcpt.c b/sysdeps/ia64/fpu/feholdexcpt.c
index 0b135a92cf..ac46449450 100644
--- a/sysdeps/ia64/fpu/feholdexcpt.c
+++ b/sysdeps/ia64/fpu/feholdexcpt.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999
diff --git a/sysdeps/ia64/fpu/fesetenv.c b/sysdeps/ia64/fpu/fesetenv.c
index 8e206ab8ce..8097c9fd16 100644
--- a/sysdeps/ia64/fpu/fesetenv.c
+++ b/sysdeps/ia64/fpu/fesetenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000
diff --git a/sysdeps/ia64/fpu/fesetexcept.c b/sysdeps/ia64/fpu/fesetexcept.c
new file mode 100644
index 0000000000..c3c868dcfc
--- /dev/null
+++ b/sysdeps/ia64/fpu/fesetexcept.c
@@ -0,0 +1,31 @@
+/* Set given exception flags. IA64 version.
+ Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <fenv.h>
+
+int
+fesetexcept (int excepts)
+{
+ fenv_t fpsr;
+
+ __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (fpsr));
+ fpsr |= ((excepts & FE_ALL_EXCEPT) << 13);
+ __asm__ __volatile__ ("mov.m ar.fpsr=%0" :: "r" (fpsr) : "memory");
+
+ return 0;
+}
diff --git a/sysdeps/ia64/fpu/fesetmode.c b/sysdeps/ia64/fpu/fesetmode.c
new file mode 100644
index 0000000000..7eda1d6469
--- /dev/null
+++ b/sysdeps/ia64/fpu/fesetmode.c
@@ -0,0 +1,42 @@
+/* Install given floating-point control modes. IA64 version.
+ Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <fenv.h>
+
+#define FPSR_STATUS 0x1f80UL
+#define FPSR_STATUS_ALL ((FPSR_STATUS << 6) | (FPSR_STATUS << 19) \
+ | (FPSR_STATUS << 32) | (FPSR_STATUS << 45))
+
+int
+fesetmode (const femode_t *modep)
+{
+ femode_t mode;
+
+ /* As in fesetenv. */
+ if (((fenv_t) modep >> 62) == 0x03)
+ mode = (femode_t) modep & 0x3fffffffffffffffUL;
+ else
+ mode = *modep;
+
+ femode_t fpsr;
+ __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (fpsr));
+ fpsr = (fpsr & FPSR_STATUS_ALL) | (mode & ~FPSR_STATUS_ALL);
+ __asm__ __volatile__ ("mov.m ar.fpsr=%0;;" :: "r" (fpsr));
+
+ return 0;
+}
diff --git a/sysdeps/ia64/fpu/fesetround.c b/sysdeps/ia64/fpu/fesetround.c
index 418e1530ee..9c3ddf487d 100644
--- a/sysdeps/ia64/fpu/fesetround.c
+++ b/sysdeps/ia64/fpu/fesetround.c
@@ -1,5 +1,5 @@
/* Set current rounding direction.
- Copyright (C) 1999-2016 Free Software Foundation, Inc.
+ Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/feupdateenv.c b/sysdeps/ia64/fpu/feupdateenv.c
index 36370c80e7..379027b8c4 100644
--- a/sysdeps/ia64/fpu/feupdateenv.c
+++ b/sysdeps/ia64/fpu/feupdateenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment and raise exceptions.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/fgetexcptflg.c b/sysdeps/ia64/fpu/fgetexcptflg.c
index dd3422b3de..1a4f03eeb7 100644
--- a/sysdeps/ia64/fpu/fgetexcptflg.c
+++ b/sysdeps/ia64/fpu/fgetexcptflg.c
@@ -1,5 +1,5 @@
/* Store current representation for exceptions.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/fraiseexcpt.c b/sysdeps/ia64/fpu/fraiseexcpt.c
index d9cdca4985..455fdd0705 100644
--- a/sysdeps/ia64/fpu/fraiseexcpt.c
+++ b/sysdeps/ia64/fpu/fraiseexcpt.c
@@ -1,5 +1,5 @@
/* Raise given exceptions.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>, 2000.
diff --git a/sysdeps/ia64/fpu/fsetexcptflg.c b/sysdeps/ia64/fpu/fsetexcptflg.c
index 58f8c1608b..d3022eb1bb 100644
--- a/sysdeps/ia64/fpu/fsetexcptflg.c
+++ b/sysdeps/ia64/fpu/fsetexcptflg.c
@@ -1,5 +1,5 @@
/* Set floating-point environment exception handling.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/ftestexcept.c b/sysdeps/ia64/fpu/ftestexcept.c
index c1bf50ee70..cedf2c001d 100644
--- a/sysdeps/ia64/fpu/ftestexcept.c
+++ b/sysdeps/ia64/fpu/ftestexcept.c
@@ -1,5 +1,5 @@
/* Test exception in current environment.
- Copyright (C) 1997-2016 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/get-rounding-mode.h b/sysdeps/ia64/fpu/get-rounding-mode.h
index 023d35b92c..8fdf9c084b 100644
--- a/sysdeps/ia64/fpu/get-rounding-mode.h
+++ b/sysdeps/ia64/fpu/get-rounding-mode.h
@@ -1,5 +1,5 @@
/* Return current rounding direction within libc. IA64 version.
- Copyright (C) 1999-2016 Free Software Foundation, Inc.
+ Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Christian Boissat <Christian.Boissat@cern.ch>, 1999.
diff --git a/sysdeps/ia64/fpu/lgamma-compat.h b/sysdeps/ia64/fpu/lgamma-compat.h
index c9580b36c6..784567edb2 100644
--- a/sysdeps/ia64/fpu/lgamma-compat.h
+++ b/sysdeps/ia64/fpu/lgamma-compat.h
@@ -1,5 +1,5 @@
/* ABI compatibility for lgamma functions. ia64 version.
- Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2015-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/libm-symbols.h b/sysdeps/ia64/fpu/libm-symbols.h
index 3cbc6c41b0..4a551c9f17 100644
--- a/sysdeps/ia64/fpu/libm-symbols.h
+++ b/sysdeps/ia64/fpu/libm-symbols.h
@@ -1,58 +1,64 @@
-#include <sysdep.h>
-#undef ret /* get rid of the stupid "ret" macro; it breaks br.ret */
+#ifndef _ISOMAC
+# include <sysdep.h>
+# undef ret /* get rid of the stupid "ret" macro; it breaks br.ret */
+
+# include <libm-alias-float.h>
+# include <libm-alias-double.h>
+# include <libm-alias-ldouble.h>
/* Support for compatible assembler handling. */
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-#define LOCAL_LIBM_ENTRY(name) \
+# define LOCAL_LIBM_ENTRY(name) \
.proc name; \
name:
-#define LOCAL_LIBM_END(name) \
+# define LOCAL_LIBM_END(name) \
.endp name; \
ASM_SIZE_DIRECTIVE(name)
-#define RODATA .rodata
-#define LOCAL_OBJECT_START(name) \
+# define RODATA .rodata
+# define LOCAL_OBJECT_START(name) \
name:; \
.type name, @object
-#define LOCAL_OBJECT_END(name) \
+# define LOCAL_OBJECT_END(name) \
ASM_SIZE_DIRECTIVE(name)
-#define GLOBAL_LIBM_ENTRY(name) \
+# define GLOBAL_LIBM_ENTRY(name) \
LOCAL_LIBM_ENTRY(name); \
.global name
-#define GLOBAL_LIBM_END(name) LOCAL_LIBM_END(name)
+# define GLOBAL_LIBM_END(name) LOCAL_LIBM_END(name)
-#define INTERNAL_LIBM_ENTRY(name) \
+# define INTERNAL_LIBM_ENTRY(name) \
GLOBAL_LIBM_ENTRY(__libm_##name); \
.global __libm_##name
-#define INTERNAL_LIBM_END(name) GLOBAL_LIBM_END(__libm_##name)
+# define INTERNAL_LIBM_END(name) GLOBAL_LIBM_END(__libm_##name)
-#define WEAK_LIBM_ENTRY(name) \
+# define WEAK_LIBM_ENTRY(name) \
.align 32; \
LOCAL_LIBM_ENTRY(__##name); \
.global __##name; \
__##name:
-#define WEAK_LIBM_END(name) \
+# define WEAK_LIBM_END(name) \
weak_alias (__##name, name); \
.hidden __##name; \
LOCAL_LIBM_END(__##name); \
ASM_SIZE_DIRECTIVE(__##name); \
.type __##name, @function
-#define GLOBAL_IEEE754_ENTRY(name) \
+# define GLOBAL_IEEE754_ENTRY(name) \
WEAK_LIBM_ENTRY(name); \
.global __ieee754_##name; \
.hidden __ieee754_##name; \
__ieee754_##name:
-#define GLOBAL_IEEE754_END(name) \
+# define GLOBAL_IEEE754_END(name) \
WEAK_LIBM_END(name); \
ASM_SIZE_DIRECTIVE(__ieee754_##name); \
.type __ieee754_##name, @function
-#if defined ASSEMBLER && IS_IN (libc)
-# define __libm_error_support HIDDEN_JUMPTARGET(__libm_error_support)
+# if defined ASSEMBLER && IS_IN (libc)
+# define __libm_error_support HIDDEN_JUMPTARGET(__libm_error_support)
+# endif
#endif
diff --git a/sysdeps/ia64/fpu/libm-test-ulps b/sysdeps/ia64/fpu/libm-test-ulps
index 44230afd78..543cebcb63 100644
--- a/sysdeps/ia64/fpu/libm-test-ulps
+++ b/sysdeps/ia64/fpu/libm-test-ulps
@@ -1,552 +1,2396 @@
# Begin of automatic generation
# Maximal error of functions:
+Function: "acos":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+
+Function: "acos_downward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+
+Function: "acos_towardzero":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+
+Function: "acos_upward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+
+Function: "acosh":
+double: 1
+float128: 2
+idouble: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "acosh_downward":
+float128: 3
+ifloat128: 3
+
+Function: "acosh_towardzero":
+float128: 2
+ifloat128: 2
+
+Function: "acosh_upward":
+float128: 2
+ifloat128: 2
+
+Function: "asin":
+float128: 1
+ifloat128: 1
+
Function: "asin_downward":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: "asin_towardzero":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "asin_upward":
double: 1
float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "asinh":
+double: 1
+float128: 3
+idouble: 1
+ifloat128: 3
+
+Function: "asinh_downward":
+float128: 4
+ifloat128: 4
+
+Function: "asinh_towardzero":
+float128: 2
+ifloat128: 2
+
+Function: "asinh_upward":
+float128: 4
+ifloat128: 4
+
+Function: "atan":
+float128: 1
+ifloat128: 1
+
+Function: "atan2":
+float128: 1
+ifloat128: 1
+
+Function: "atan2_downward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "atan2_towardzero":
+float: 1
+float128: 3
+ifloat: 1
+ifloat128: 3
+ildouble: 1
+ldouble: 1
+
+Function: "atan2_upward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "atan_downward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "atan_towardzero":
+float: 1
+float128: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "atan_upward":
+double: 1
+float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "atanh":
+float128: 3
+ifloat128: 3
+
+Function: "atanh_downward":
+float: 1
+float128: 4
+ifloat: 1
+ifloat128: 4
+
+Function: "atanh_towardzero":
+float: 1
+float128: 2
+ifloat: 1
+ifloat128: 2
+
+Function: "atanh_upward":
+float: 1
+float128: 4
+ifloat: 1
+ifloat128: 4
+
+Function: "cabs":
+float128: 1
+ifloat128: 1
+
+Function: "cabs_downward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "cabs_towardzero":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "cabs_upward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Real part of "cacos":
double: 1
float: 2
+float128: 2
idouble: 1
ifloat: 2
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: Imaginary part of "cacos":
-double: 1
+double: 2
float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "cacos_downward":
+double: 1
+float: 1
+float128: 3
+idouble: 1
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "cacos_downward":
+double: 5
+float: 6
+float128: 6
+idouble: 5
+ifloat: 6
+ifloat128: 6
+ildouble: 5
+ldouble: 5
+
+Function: Real part of "cacos_towardzero":
+double: 1
+float: 1
+float128: 3
idouble: 1
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "cacos_towardzero":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: Real part of "cacos_upward":
+double: 2
+float: 2
+float128: 3
+idouble: 2
ifloat: 2
+ifloat128: 3
ildouble: 2
ldouble: 2
+Function: Imaginary part of "cacos_upward":
+double: 5
+float: 5
+float128: 7
+idouble: 5
+ifloat: 5
+ifloat128: 7
+ildouble: 5
+ldouble: 5
+
Function: Real part of "cacosh":
-double: 1
+double: 2
float: 2
-idouble: 1
+float128: 2
+idouble: 2
ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
Function: Imaginary part of "cacosh":
double: 1
float: 2
+float128: 2
idouble: 1
ifloat: 2
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "cacosh_downward":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "cacosh_downward":
+double: 2
+float: 2
+float128: 4
+idouble: 2
+ifloat: 2
+ifloat128: 4
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "cacosh_towardzero":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "cacosh_towardzero":
+double: 1
+float: 1
+float128: 3
+idouble: 1
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "cacosh_upward":
+double: 4
+float: 3
+float128: 6
+idouble: 4
+ifloat: 3
+ifloat128: 6
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "cacosh_upward":
+double: 3
+float: 2
+float128: 4
+idouble: 3
+ifloat: 2
+ifloat128: 4
+ildouble: 3
+ldouble: 3
+
+Function: "carg":
+float128: 2
+ifloat128: 2
+
+Function: "carg_downward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "carg_towardzero":
+float: 1
+float128: 3
+ifloat: 1
+ifloat128: 3
+ildouble: 1
+ldouble: 1
+
+Function: "carg_upward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: Real part of "casin":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: Imaginary part of "casin":
-double: 1
+double: 2
float: 2
-idouble: 1
+float128: 2
+idouble: 2
ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
+Function: Real part of "casin_downward":
+double: 3
+float: 2
+float128: 3
+idouble: 3
+ifloat: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "casin_downward":
+double: 5
+float: 6
+float128: 6
+idouble: 5
+ifloat: 6
+ifloat128: 6
+ildouble: 5
+ldouble: 5
+
+Function: Real part of "casin_towardzero":
+double: 3
+float: 2
+float128: 3
+idouble: 3
+ifloat: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "casin_towardzero":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: Real part of "casin_upward":
+double: 2
+float: 1
+float128: 3
+idouble: 2
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "casin_upward":
+double: 5
+float: 5
+float128: 7
+idouble: 5
+ifloat: 5
+ifloat128: 7
+ildouble: 5
+ldouble: 5
+
Function: Real part of "casinh":
-double: 1
+double: 2
float: 2
-idouble: 1
+float128: 2
+idouble: 2
ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
Function: Imaginary part of "casinh":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
+Function: Real part of "casinh_downward":
+double: 5
+float: 6
+float128: 6
+idouble: 5
+ifloat: 6
+ifloat128: 6
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "casinh_downward":
+double: 3
+float: 2
+float128: 3
+idouble: 3
+ifloat: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "casinh_towardzero":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "casinh_towardzero":
+double: 3
+float: 2
+float128: 3
+idouble: 3
+ifloat: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "casinh_upward":
+double: 5
+float: 5
+float128: 7
+idouble: 5
+ifloat: 5
+ifloat128: 7
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "casinh_upward":
+double: 2
+float: 1
+float128: 3
+idouble: 2
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "catan":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+
Function: Imaginary part of "catan":
double: 1
float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "catan_downward":
+double: 1
+float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
+Function: Imaginary part of "catan_downward":
+double: 2
+float: 1
+float128: 2
+idouble: 2
+ifloat: 1
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "catan_towardzero":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Imaginary part of "catan_towardzero":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "catan_upward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Imaginary part of "catan_upward":
+double: 2
+float: 2
+float128: 3
+idouble: 2
+ifloat: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
Function: Real part of "catanh":
double: 1
float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: Imaginary part of "catanh":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+
+Function: Real part of "catanh_downward":
+double: 2
+float: 1
+float128: 2
+idouble: 2
+ifloat: 1
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "catanh_downward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "catanh_towardzero":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "catanh_towardzero":
+double: 1
+float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "catanh_upward":
+double: 4
+float: 4
+float128: 4
+idouble: 4
+ifloat: 4
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "catanh_upward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: "cbrt":
+float128: 1
+ifloat128: 1
+
+Function: "cbrt_downward":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "cbrt_towardzero":
+float: 1
+float128: 1
+ifloat: 1
+ifloat128: 1
+
+Function: "cbrt_upward":
+float: 1
+float128: 1
+ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Real part of "ccos":
double: 1
+float128: 1
idouble: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Imaginary part of "ccos":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
+Function: Real part of "ccos_downward":
+double: 3
+float: 1
+float128: 2
+idouble: 3
+ifloat: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "ccos_downward":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "ccos_towardzero":
+double: 3
+float: 1
+float128: 2
+idouble: 3
+ifloat: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "ccos_towardzero":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "ccos_upward":
+double: 1
+float: 2
+float128: 3
+idouble: 1
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "ccos_upward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
Function: Real part of "ccosh":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
Function: Imaginary part of "ccosh":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
+Function: Real part of "ccosh_downward":
+double: 3
+float: 2
+float128: 2
+idouble: 3
+ifloat: 2
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "ccosh_downward":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "ccosh_towardzero":
+double: 3
+float: 2
+float128: 2
+idouble: 3
+ifloat: 2
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "ccosh_upward":
+double: 1
+float: 2
+float128: 3
+idouble: 1
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "ccosh_upward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
Function: Real part of "cexp":
double: 2
float: 1
+float128: 1
idouble: 2
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Imaginary part of "cexp":
double: 1
float: 2
+float128: 1
idouble: 1
ifloat: 2
+ifloat128: 1
ildouble: 1
ldouble: 1
+Function: Real part of "cexp_downward":
+double: 4
+float: 2
+float128: 2
+idouble: 4
+ifloat: 2
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "cexp_downward":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "cexp_towardzero":
+double: 4
+float: 2
+float128: 2
+idouble: 4
+ifloat: 2
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "cexp_towardzero":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "cexp_upward":
+double: 2
+float: 2
+float128: 3
+idouble: 2
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "cexp_upward":
+double: 3
+float: 2
+float128: 3
+idouble: 3
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 2
+float: 3
+float128: 2
+idouble: 2
+ifloat: 3
+ifloat128: 2
+ildouble: 2
+ldouble: 2
Function: Imaginary part of "clog":
double: 1
+float128: 1
idouble: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Real part of "clog10":
+double: 3
+float: 4
+float128: 2
+idouble: 3
+ifloat: 4
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "clog10":
+double: 2
+float: 1
+float128: 2
+idouble: 2
+ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "clog10_downward":
+double: 4
+float: 4
+float128: 3
+idouble: 4
+ifloat: 4
+ifloat128: 3
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "clog10_downward":
+double: 2
+float: 2
+float128: 3
+idouble: 2
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "clog10_towardzero":
+double: 5
+float: 5
+float128: 4
+idouble: 5
+ifloat: 5
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "clog10_towardzero":
+double: 2
+float: 2
+float128: 3
+idouble: 2
+ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "clog10_upward":
+double: 4
+float: 5
+float128: 4
+idouble: 4
+ifloat: 5
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "clog10_upward":
double: 2
float: 2
+float128: 3
idouble: 2
ifloat: 2
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "clog_downward":
+double: 3
+float: 3
+float128: 3
+idouble: 3
+ifloat: 3
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "clog_downward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
-Function: Imaginary part of "clog10":
+Function: Real part of "clog_towardzero":
+double: 3
+float: 4
+float128: 3
+idouble: 3
+ifloat: 4
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "clog_towardzero":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "clog_upward":
+double: 2
+float: 3
+float128: 4
+idouble: 2
+ifloat: 3
+ifloat128: 4
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "clog_upward":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: "cos":
double: 1
+float128: 1
idouble: 1
+ifloat128: 1
Function: "cos_downward":
double: 1
float: 1
+float128: 3
idouble: 1
ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
-Function: "cos_tonearest":
-double: 1
-idouble: 1
-
Function: "cos_towardzero":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "cos_upward":
+double: 1
+float128: 2
+idouble: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
+Function: "cosh":
+float128: 1
+ifloat128: 1
+
+Function: "cosh_downward":
+float128: 2
+ifloat128: 1
+
+Function: "cosh_towardzero":
+float128: 2
+ifloat128: 1
+
+Function: "cosh_upward":
+float128: 3
+ifloat128: 1
+
Function: Real part of "cpow":
double: 2
float: 5
+float128: 4
idouble: 2
ifloat: 5
+ifloat128: 4
ildouble: 3
ldouble: 3
Function: Imaginary part of "cpow":
float: 2
+float128: 1
ifloat: 2
+ifloat128: 1
ildouble: 4
ldouble: 4
+Function: Real part of "cpow_downward":
+double: 5
+float: 8
+float128: 6
+idouble: 5
+ifloat: 8
+ifloat128: 6
+ildouble: 7
+ldouble: 7
+
+Function: Imaginary part of "cpow_downward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "cpow_towardzero":
+double: 5
+float: 8
+float128: 6
+idouble: 5
+ifloat: 8
+ifloat128: 6
+ildouble: 7
+ldouble: 7
+
+Function: Imaginary part of "cpow_towardzero":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "cpow_upward":
+double: 4
+float: 1
+float128: 3
+idouble: 4
+ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "cpow_upward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
Function: Real part of "csin":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: Imaginary part of "csin":
float: 1
+float128: 1
ifloat: 1
+ifloat128: 1
-Function: Real part of "csinh":
-double: 1
+Function: Real part of "csin_downward":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csin_downward":
+double: 3
float: 1
-idouble: 1
+float128: 2
+idouble: 3
ifloat: 1
-ildouble: 1
-ldouble: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
-Function: Imaginary part of "csinh":
-double: 1
+Function: Real part of "csin_towardzero":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csin_towardzero":
+double: 3
float: 1
-idouble: 1
+float128: 2
+idouble: 3
ifloat: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
-Function: Real part of "csqrt":
+Function: Real part of "csin_upward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "csin_upward":
double: 1
-float: 1
+float: 2
+float128: 3
idouble: 1
-ifloat: 1
+ifloat: 2
+ifloat128: 3
ildouble: 1
ldouble: 1
-Function: Imaginary part of "csqrt":
+Function: Real part of "csinh":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
-Function: Real part of "ctan":
+Function: Imaginary part of "csinh":
double: 1
float: 1
+float128: 1
idouble: 1
ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "csinh_downward":
+double: 3
+float: 1
+float128: 2
+idouble: 3
+ifloat: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csinh_downward":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "csinh_towardzero":
+double: 3
+float: 1
+float128: 2
+idouble: 3
+ifloat: 1
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csinh_towardzero":
+double: 3
+float: 3
+float128: 2
+idouble: 3
+ifloat: 3
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "csinh_upward":
+double: 1
+float: 2
+float128: 3
+idouble: 1
+ifloat: 2
+ifloat128: 3
+ildouble: 1
+ldouble: 1
+
+Function: Imaginary part of "csinh_upward":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
-Function: Imaginary part of "ctan":
+Function: Real part of "csqrt":
double: 2
-float: 1
+float: 2
+float128: 2
idouble: 2
-ifloat: 1
+ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
-Function: Real part of "ctan_downward":
+Function: Imaginary part of "csqrt":
+double: 2
+float: 2
+float128: 2
+idouble: 2
+ifloat: 2
+ifloat128: 2
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "csqrt_downward":
double: 4
float: 4
+float128: 4
idouble: 4
ifloat: 4
-ildouble: 2
-ldouble: 2
+ifloat128: 4
+ildouble: 4
+ldouble: 4
-Function: Imaginary part of "ctan_downward":
+Function: Imaginary part of "csqrt_downward":
+double: 3
+float: 3
+float128: 3
+idouble: 3
+ifloat: 3
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "csqrt_towardzero":
+double: 3
+float: 3
+float128: 3
+idouble: 3
+ifloat: 3
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csqrt_towardzero":
+double: 3
+float: 3
+float128: 3
+idouble: 3
+ifloat: 3
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "csqrt_upward":
+double: 4
+float: 4
+float128: 4
+idouble: 4
+ifloat: 4
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "csqrt_upward":
double: 3
float: 2
+float128: 3
idouble: 3
ifloat: 2
-ildouble: 2
-ldouble: 2
+ifloat128: 3
+ildouble: 3
+ldouble: 3
-Function: Real part of "ctan_tonearest":
+Function: Real part of "ctan":
double: 1
float: 1
+float128: 3
idouble: 1
ifloat: 1
+ifloat128: 3
ildouble: 2
ldouble: 2
-Function: Imaginary part of "ctan_tonearest":
+Function: Imaginary part of "ctan":
double: 2
float: 1
+float128: 3
idouble: 2
ifloat: 1
+ifloat128: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "ctan_downward":
+double: 4
+float: 4
+float128: 4
+idouble: 4
+ifloat: 4
+ifloat128: 4
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "ctan_downward":
+double: 3
+float: 2
+float128: 5
+idouble: 3
+ifloat: 2
+ifloat128: 5
ildouble: 2
ldouble: 2
Function: Real part of "ctan_towardzero":
double: 2
-float: 1
+float: 2
+float128: 4
idouble: 2
-ifloat: 1
+ifloat: 2
+ifloat128: 4
ildouble: 2
ldouble: 2
Function: Imaginary part of "ctan_towardzero":
double: 3
float: 2
+float128: 5
idouble: 3
ifloat: 2
+ifloat128: 5
ildouble: 4
ldouble: 4
Function: Real part of "ctan_upward":
double: 2
float: 3
+float128: 5
idouble: 2
ifloat: 3
+ifloat128: 5
ildouble: 5
ldouble: 5
Function: Imaginary part of "ctan_upward":
double: 6
float: 2
+float128: 5
idouble: 6
ifloat: 2
+ifloat128: 5
ildouble: 7
ldouble: 7
Function: Real part of "ctanh":
double: 2
float: 1
+float128: 3
idouble: 2
ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
Function: Imaginary part of "ctanh":
double: 2
float: 1
+float128: 3
idouble: 2
ifloat: 1
+ifloat128: 3
ildouble: 2
ldouble: 2
Function: Real part of "ctanh_downward":
double: 3
float: 2
+float128: 5
idouble: 3
ifloat: 2
+ifloat128: 5
ildouble: 1
ldouble: 1
Function: Imaginary part of "ctanh_downward":
double: 4
float: 4
+float128: 4
idouble: 4
ifloat: 4
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctanh_tonearest":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctanh_tonearest":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+ifloat128: 4
ildouble: 2
ldouble: 2
Function: Real part of "ctanh_towardzero":
double: 3
float: 2
+float128: 5
idouble: 3
ifloat: 2
+ifloat128: 5
ildouble: 4
ldouble: 4
Function: Imaginary part of "ctanh_towardzero":
double: 2
float: 1
+float128: 3
idouble: 2
ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
Function: Real part of "ctanh_upward":
double: 6
float: 2
+float128: 5
idouble: 6
ifloat: 2
+ifloat128: 5
ildouble: 7
ldouble: 7
Function: Imaginary part of "ctanh_upward":
double: 2
float: 3
+float128: 5
idouble: 2
ifloat: 3
+ifloat128: 5
ildouble: 5
ldouble: 5
+Function: "erf":
+float128: 1
+ifloat128: 1
+
+Function: "erf_downward":
+float128: 2
+ifloat128: 2
+
+Function: "erf_towardzero":
+float128: 1
+ifloat128: 1
+
+Function: "erf_upward":
+float128: 2
+ifloat128: 2
+
+Function: "erfc":
+float128: 2
+ifloat128: 2
+
+Function: "erfc_downward":
+double: 1
+float128: 5
+idouble: 1
+ifloat128: 5
+
+Function: "erfc_towardzero":
+double: 1
+float128: 4
+idouble: 1
+ifloat128: 4
+
+Function: "erfc_upward":
+double: 1
+float128: 5
+idouble: 1
+ifloat128: 5
+
+Function: "exp":
+float: 1
+float128: 1
+ifloat: 1
+ifloat128: 1
+
+Function: "exp10":
+float128: 2
+ifloat128: 2
+
+Function: "exp10_downward":
+float128: 3
+ifloat128: 3
+
+Function: "exp10_towardzero":
+float128: 3
+ifloat128: 3
+
+Function: "exp10_upward":
+float128: 3
+ifloat128: 3
+
+Function: "exp2":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_downward":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_towardzero":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_upward":
+double: 1
+float128: 2
+idouble: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
+
Function: "expm1":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "expm1_downward":
+float128: 2
+ifloat128: 2
ildouble: 1
ldouble: 1
-Function: "expm1_tonearest":
+Function: "expm1_towardzero":
+float128: 4
+ifloat128: 4
+
+Function: "expm1_upward":
+float128: 3
+ifloat128: 3
+
+Function: "gamma":
+float: 1
+ifloat: 1
+
+Function: "gamma_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "gamma_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "gamma_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "hypot":
+float128: 1
+ifloat128: 1
+
+Function: "hypot_downward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "hypot_towardzero":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "hypot_upward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "j0":
double: 2
float: 2
+float128: 2
idouble: 2
ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
+Function: "j0_downward":
+double: 6
+float: 4
+float128: 4
+idouble: 6
+ifloat: 4
+ifloat128: 4
+ildouble: 3
+ldouble: 3
+
+Function: "j0_towardzero":
+double: 2
+float: 1
+float128: 2
+idouble: 2
+ifloat: 1
+ifloat128: 2
+ildouble: 5
+ldouble: 5
+
+Function: "j0_upward":
+double: 3
+float: 2
+float128: 5
+idouble: 3
+ifloat: 2
+ifloat128: 5
+ildouble: 5
+ldouble: 5
+
Function: "j1":
double: 1
float: 2
+float128: 4
idouble: 1
ifloat: 2
+ifloat128: 4
ildouble: 1
ldouble: 1
+Function: "j1_downward":
+double: 3
+float: 2
+float128: 4
+idouble: 3
+ifloat: 2
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: "j1_towardzero":
+double: 3
+float: 2
+float128: 4
+idouble: 3
+ifloat: 2
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: "j1_upward":
+double: 3
+float: 4
+float128: 3
+idouble: 3
+ifloat: 4
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
Function: "jn":
double: 4
float: 4
+float128: 7
idouble: 4
ifloat: 4
+ifloat128: 7
+ildouble: 4
+ldouble: 4
+
+Function: "jn_downward":
+double: 4
+float: 5
+float128: 8
+idouble: 4
+ifloat: 5
+ifloat128: 8
ildouble: 4
ldouble: 4
+Function: "jn_towardzero":
+double: 4
+float: 5
+float128: 8
+idouble: 4
+ifloat: 5
+ifloat128: 8
+ildouble: 5
+ldouble: 5
+
+Function: "jn_upward":
+double: 5
+float: 4
+float128: 7
+idouble: 5
+ifloat: 4
+ifloat128: 7
+ildouble: 5
+ldouble: 5
+
+Function: "lgamma":
+float: 1
+float128: 5
+ifloat: 1
+ifloat128: 5
+
+Function: "lgamma_downward":
+double: 1
+float: 1
+float128: 8
+idouble: 1
+ifloat: 1
+ifloat128: 8
+
+Function: "lgamma_towardzero":
+double: 1
+float: 1
+float128: 5
+idouble: 1
+ifloat: 1
+ifloat128: 5
+
+Function: "lgamma_upward":
+double: 1
+float: 1
+float128: 8
+idouble: 1
+ifloat: 1
+ifloat128: 8
+
+Function: "log":
+float128: 1
+ifloat128: 1
+
+Function: "log10":
+float128: 1
+ifloat128: 1
+
+Function: "log10_downward":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "log10_towardzero":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "log10_upward":
+double: 1
+float: 1
+float128: 1
+idouble: 1
+ifloat: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
+
+Function: "log1p":
+float128: 2
+ifloat128: 2
+
+Function: "log1p_downward":
+double: 1
+float128: 3
+idouble: 1
+ifloat128: 3
+
+Function: "log1p_towardzero":
+double: 1
+float128: 3
+idouble: 1
+ifloat128: 3
+
+Function: "log1p_upward":
+double: 1
+float128: 2
+idouble: 1
+ifloat128: 2
+
+Function: "log2":
+float128: 2
+ifloat128: 2
+
+Function: "log2_downward":
+float128: 3
+ifloat128: 3
+
+Function: "log2_towardzero":
+float128: 1
+ifloat128: 1
+
+Function: "log2_upward":
+float128: 1
+ifloat128: 1
+
+Function: "log_downward":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+
+Function: "log_towardzero":
+double: 1
+float128: 2
+idouble: 1
+ifloat128: 2
+
+Function: "log_upward":
+double: 1
+float128: 1
+idouble: 1
+ifloat128: 1
+
+Function: "pow":
+float128: 2
+ifloat128: 2
+
Function: "pow_downward":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
Function: "pow_towardzero":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
+ildouble: 1
+ldouble: 1
Function: "pow_upward":
double: 1
float: 1
+float128: 2
idouble: 1
ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: "sin":
double: 1
+float128: 1
idouble: 1
+ifloat128: 1
Function: "sin_downward":
double: 1
+float: 1
+float128: 3
idouble: 1
+ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
-Function: "sin_tonearest":
-double: 1
-idouble: 1
-
Function: "sin_towardzero":
double: 1
+float: 1
+float128: 2
idouble: 1
+ifloat: 1
+ifloat128: 2
ildouble: 1
ldouble: 1
Function: "sin_upward":
double: 1
+float: 1
+float128: 3
idouble: 1
+ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
Function: "sincos":
double: 1
+float128: 1
idouble: 1
+ifloat128: 1
+
+Function: "sincos_downward":
+double: 1
+float: 1
+float128: 3
+idouble: 1
+ifloat: 1
+ifloat128: 3
+
+Function: "sincos_towardzero":
+double: 1
+float: 1
+float128: 2
+idouble: 1
+ifloat: 1
+ifloat128: 2
+
+Function: "sincos_upward":
+double: 1
+float: 1
+float128: 3
+idouble: 1
+ifloat: 1
+ifloat128: 3
+
+Function: "sinh":
+float128: 2
+ifloat128: 2
+
+Function: "sinh_downward":
+float128: 3
+ifloat128: 3
+
+Function: "sinh_towardzero":
+float128: 3
+ifloat128: 3
+
+Function: "sinh_upward":
+float128: 4
+ifloat128: 4
+
+Function: "tan":
+float128: 1
+ifloat128: 1
+ildouble: 1
+ldouble: 1
Function: "tan_downward":
+float128: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "tan_towardzero":
+float128: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
Function: "tan_upward":
+float128: 1
+ifloat128: 1
ildouble: 1
ldouble: 1
+Function: "tanh":
+float128: 2
+ifloat128: 2
+
+Function: "tanh_downward":
+float128: 4
+ifloat128: 4
+
+Function: "tanh_towardzero":
+float128: 3
+ifloat128: 3
+
+Function: "tanh_upward":
+float128: 3
+ifloat128: 3
+
Function: "tgamma":
+float128: 4
+ifloat128: 4
+ildouble: 1
+ldouble: 1
+
+Function: "tgamma_downward":
+double: 1
+float: 1
+float128: 5
+idouble: 1
+ifloat: 1
+ifloat128: 5
+ildouble: 1
+ldouble: 1
+
+Function: "tgamma_towardzero":
+double: 1
+float: 1
+float128: 5
+idouble: 1
+ifloat: 1
+ifloat128: 5
+ildouble: 1
+ldouble: 1
+
+Function: "tgamma_upward":
+double: 1
+float: 1
+float128: 4
+idouble: 1
+ifloat: 1
+ifloat128: 4
ildouble: 1
ldouble: 1
Function: "y0":
double: 2
float: 1
+float128: 3
idouble: 2
ifloat: 1
+ifloat128: 3
ildouble: 1
ldouble: 1
+Function: "y0_downward":
+double: 4
+float: 4
+float128: 4
+idouble: 4
+ifloat: 4
+ifloat128: 4
+ildouble: 4
+ldouble: 4
+
+Function: "y0_towardzero":
+double: 3
+float: 3
+float128: 3
+idouble: 3
+ifloat: 3
+ifloat128: 3
+ildouble: 5
+ldouble: 5
+
+Function: "y0_upward":
+double: 4
+float: 5
+float128: 3
+idouble: 4
+ifloat: 5
+ifloat128: 3
+ildouble: 3
+ldouble: 3
+
Function: "y1":
double: 3
float: 2
+float128: 2
idouble: 3
ifloat: 2
+ifloat128: 2
ildouble: 2
ldouble: 2
+Function: "y1_downward":
+double: 9
+float: 2
+float128: 4
+idouble: 9
+ifloat: 2
+ifloat128: 4
+ildouble: 3
+ldouble: 3
+
+Function: "y1_towardzero":
+double: 3
+float: 2
+float128: 2
+idouble: 3
+ifloat: 2
+ifloat128: 2
+ildouble: 3
+ldouble: 3
+
+Function: "y1_upward":
+double: 4
+float: 2
+float128: 5
+idouble: 4
+ifloat: 2
+ifloat128: 5
+ildouble: 7
+ldouble: 7
+
Function: "yn":
double: 3
float: 3
+float128: 5
idouble: 3
ifloat: 3
-ildouble: 2
-ldouble: 2
+ifloat128: 5
+ildouble: 3
+ldouble: 3
+
+Function: "yn_downward":
+double: 4
+float: 4
+float128: 5
+idouble: 4
+ifloat: 4
+ifloat128: 5
+ildouble: 4
+ldouble: 4
+
+Function: "yn_towardzero":
+double: 3
+float: 3
+float128: 5
+idouble: 3
+ifloat: 3
+ifloat128: 5
+ildouble: 5
+ldouble: 5
+
+Function: "yn_upward":
+double: 4
+float: 5
+float128: 5
+idouble: 4
+ifloat: 5
+ifloat128: 5
+ildouble: 3
+ldouble: 3
# end of automatic generation
diff --git a/sysdeps/ia64/fpu/libm-test-ulps-name b/sysdeps/ia64/fpu/libm-test-ulps-name
new file mode 100644
index 0000000000..54a0dfffea
--- /dev/null
+++ b/sysdeps/ia64/fpu/libm-test-ulps-name
@@ -0,0 +1 @@
+IA64
diff --git a/sysdeps/ia64/fpu/libm_error.c b/sysdeps/ia64/fpu/libm_error.c
index a9307dd4b5..34d1466e09 100644
--- a/sysdeps/ia64/fpu/libm_error.c
+++ b/sysdeps/ia64/fpu/libm_error.c
@@ -91,11 +91,19 @@
#include <stdio.h>
#include <stdlib.h>
#include "libm_support.h"
+#include <math-svid-compat.h>
#ifdef _LIBC
# define pmatherr matherr
# define pmatherrf matherrf
# define pmatherrl matherrl
+# if LIBM_SVID_COMPAT
+compat_symbol_reference (libm, matherrf, matherrf, GLIBC_2_2_3);
+compat_symbol_reference (libm, matherrl, matherrl, GLIBC_2_2_3);
+# else
+# define matherrf(EXC) ((void) (EXC), 0)
+# define matherrl(EXC) ((void) (EXC), 0)
+# endif
#else
_LIB_VERSION_TYPE
#if defined( __POSIX__ )
diff --git a/sysdeps/ia64/fpu/libm_sincos.S b/sysdeps/ia64/fpu/libm_sincos.S
index c2a9f7262e..85ccd5f56a 100644
--- a/sysdeps/ia64/fpu/libm_sincos.S
+++ b/sysdeps/ia64/fpu/libm_sincos.S
@@ -425,6 +425,7 @@ GLOBAL_IEEE754_ENTRY(sincos)
br.cond.sptk _CIS_COMMON
};;
GLOBAL_IEEE754_END(sincos)
+libm_alias_double_other (__sincos, sincos)
GLOBAL_LIBM_ENTRY(__libm_sincos)
// cis_GR_sig_inv_pi_by_16 = significand of 16/pi
diff --git a/sysdeps/ia64/fpu/libm_sincosf.S b/sysdeps/ia64/fpu/libm_sincosf.S
index 26e66fad6e..f38c247b4b 100644
--- a/sysdeps/ia64/fpu/libm_sincosf.S
+++ b/sysdeps/ia64/fpu/libm_sincosf.S
@@ -421,6 +421,7 @@ GLOBAL_IEEE754_ENTRY(sincosf)
br.cond.sptk _CISF_COMMON
};;
GLOBAL_IEEE754_END(sincosf)
+libm_alias_float_other (__sincos, sincos)
GLOBAL_LIBM_ENTRY(__libm_sincosf)
{ .mlx
diff --git a/sysdeps/ia64/fpu/libm_sincosl.S b/sysdeps/ia64/fpu/libm_sincosl.S
index 7fe92c549c..f76b54d3de 100644
--- a/sysdeps/ia64/fpu/libm_sincosl.S
+++ b/sysdeps/ia64/fpu/libm_sincosl.S
@@ -835,6 +835,7 @@ GLOBAL_IEEE754_ENTRY(sincosl)
br.cond.sptk _COMMON_SINCOSL
};;
GLOBAL_IEEE754_END(sincosl)
+libm_alias_ldouble_other (__sincos, sincos)
GLOBAL_LIBM_ENTRY(__libm_sincosl)
{ .mlx ///////////////////////////// 1 /////////////////
diff --git a/sysdeps/ia64/fpu/libm_support.h b/sysdeps/ia64/fpu/libm_support.h
index dc9c0a2648..4e7a66799d 100644
--- a/sysdeps/ia64/fpu/libm_support.h
+++ b/sysdeps/ia64/fpu/libm_support.h
@@ -83,6 +83,8 @@
#ifndef __LIBM_SUPPORT_H_INCLUDED__
#define __LIBM_SUPPORT_H_INCLUDED__
+#include <math-svid-compat.h>
+
#ifndef _LIBC
#if !(defined(_WIN32) || defined(_WIN64))
# pragma const_seg(".rodata") /* place constant data in text (code) section */
@@ -156,36 +158,8 @@ struct exceptionl
#endif
extern int MATHERR_F(struct exceptionf*);
-extern int MATHERR_D(struct EXC_DECL_D*);
extern int matherrl(struct exceptionl*);
-#ifndef _LIBC
-// Add code to support _LIB_VERSIONIMF
-typedef enum
-{
- _IEEE_ = -1, // IEEE-like behavior
- _SVID_, // SysV, Rel. 4 behavior
- _XOPEN_, // Unix98
- _POSIX_, // Posix
- _ISOC_ // ISO C9X
-} _LIB_VERSION_TYPE;
-#endif
-
-// This is a run-time variable and may affect
-// floating point behavior of the libm functions
-
-#if !defined( LIBM_BUILD )
-#if defined( _DLL )
-extern _LIB_VERSION_TYPE __declspec(dllimport) _LIB_VERSIONIMF;
-#else
-extern _LIB_VERSION_TYPE _LIB_VERSIONIMF;
-#endif /* _DLL */
-#else
-extern int (*pmatherrf)(struct exceptionf*);
-extern int (*pmatherr)(struct EXC_DECL_D*);
-extern int (*pmatherrl)(struct exceptionl*);
-#endif /* LIBM_BUILD */
-
/* memory format definitions (LITTLE_ENDIAN only) */
#if !(defined(SIZE_INT_32) || defined(SIZE_INT_64))
@@ -1031,15 +1005,6 @@ struct ker80 {
#endif
-/* error codes */
-
-#define DOMAIN 1 /* argument domain error */
-#define SING 2 /* argument singularity */
-#define OVERFLOW 3 /* overflow range error */
-#define UNDERFLOW 4 /* underflow range error */
-#define TLOSS 5 /* total loss of precision */
-#define PLOSS 6 /* partial loss of precision */
-
/* */
#define VOLATILE_32 /*volatile*/
diff --git a/sysdeps/ia64/fpu/slowpow.c b/sysdeps/ia64/fpu/math_errf.c
index 1cc8931700..1cc8931700 100644
--- a/sysdeps/ia64/fpu/slowpow.c
+++ b/sysdeps/ia64/fpu/math_errf.c
diff --git a/sysdeps/ia64/fpu/math_ldbl.h b/sysdeps/ia64/fpu/math_ldbl.h
index 475ca795fa..6178169f95 100644
--- a/sysdeps/ia64/fpu/math_ldbl.h
+++ b/sysdeps/ia64/fpu/math_ldbl.h
@@ -1,11 +1,31 @@
-#ifndef _MATH_PRIVATE_H_
-#error "Never use <math_ldbl.h> directly; include <math_private.h> instead."
-#endif
+/* Manipulation of the bit representation of 'long double' quantities.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _MATH_LDBL_H_
+#define _MATH_LDBL_H_ 1
+
+#include <stdint.h>
+#include <endian.h>
/* A union which permits us to convert between a long double and
three 32 bit ints. */
-#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+#if __FLOAT_WORD_ORDER == __BIG_ENDIAN
typedef union
{
@@ -15,22 +35,22 @@ typedef union
unsigned int empty0:32;
int sign_exponent:16;
unsigned int empty1:16;
- u_int32_t msw;
- u_int32_t lsw;
+ uint32_t msw;
+ uint32_t lsw;
} parts;
} ieee_long_double_shape_type;
#endif
-#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
+#if __FLOAT_WORD_ORDER == __LITTLE_ENDIAN
typedef union
{
long double value;
struct
{
- u_int32_t lsw;
- u_int32_t msw;
+ uint32_t lsw;
+ uint32_t msw;
int sign_exponent:16;
unsigned int empty1:16;
unsigned int empty0:32;
@@ -98,3 +118,5 @@ do { \
se_u.parts.sign_exponent = (exp); \
(d) = se_u.value; \
} while (0)
+
+#endif /* math_ldbl.h */
diff --git a/sysdeps/ia64/fpu/printf_fphex.c b/sysdeps/ia64/fpu/printf_fphex.c
index 294aef84ba..ef35e78364 100644
--- a/sysdeps/ia64/fpu/printf_fphex.c
+++ b/sysdeps/ia64/fpu/printf_fphex.c
@@ -1,5 +1,5 @@
/* Print floating point number in hexadecimal notation according to ISO C99.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/s_asinh.S b/sysdeps/ia64/fpu/s_asinh.S
index c5aaee7072..b57c015b0b 100644
--- a/sysdeps/ia64/fpu/s_asinh.S
+++ b/sysdeps/ia64/fpu/s_asinh.S
@@ -1135,3 +1135,4 @@ ASINH_UNORM:
;;
GLOBAL_LIBM_END(asinh)
+libm_alias_double_other (asinh, asinh)
diff --git a/sysdeps/ia64/fpu/s_asinhf.S b/sysdeps/ia64/fpu/s_asinhf.S
index df616deae0..16c0fc4af1 100644
--- a/sysdeps/ia64/fpu/s_asinhf.S
+++ b/sysdeps/ia64/fpu/s_asinhf.S
@@ -935,3 +935,4 @@ ASINH_UNORM:
;;
GLOBAL_LIBM_END(asinhf)
+libm_alias_float_other (asinh, asinh)
diff --git a/sysdeps/ia64/fpu/s_asinhl.S b/sysdeps/ia64/fpu/s_asinhl.S
index 5b8e73b4dc..baace924f2 100644
--- a/sysdeps/ia64/fpu/s_asinhl.S
+++ b/sysdeps/ia64/fpu/s_asinhl.S
@@ -1342,3 +1342,4 @@ near_0:
};;
GLOBAL_LIBM_END(asinhl)
+libm_alias_ldouble_other (asinh, asinh)
diff --git a/sysdeps/ia64/fpu/s_atan.S b/sysdeps/ia64/fpu/s_atan.S
index 720ecad28a..598b42a687 100644
--- a/sysdeps/ia64/fpu/s_atan.S
+++ b/sysdeps/ia64/fpu/s_atan.S
@@ -751,3 +751,4 @@ GLOBAL_LIBM_ENTRY(atan)
}
GLOBAL_LIBM_END(atan)
+libm_alias_double_other (atan, atan)
diff --git a/sysdeps/ia64/fpu/s_atanf.S b/sysdeps/ia64/fpu/s_atanf.S
index 8d9e440ba2..cb3ca78220 100644
--- a/sysdeps/ia64/fpu/s_atanf.S
+++ b/sysdeps/ia64/fpu/s_atanf.S
@@ -553,3 +553,4 @@ ATANF_X_INF_NAN_ZERO:
;;
GLOBAL_LIBM_END(atanf)
+libm_alias_float_other (atan, atan)
diff --git a/sysdeps/ia64/fpu/s_atanl.S b/sysdeps/ia64/fpu/s_atanl.S
index fea68abfde..8d4951acf0 100644
--- a/sysdeps/ia64/fpu/s_atanl.S
+++ b/sysdeps/ia64/fpu/s_atanl.S
@@ -813,6 +813,7 @@ GLOBAL_IEEE754_ENTRY(atanl)
;;
GLOBAL_IEEE754_END(atanl)
+libm_alias_ldouble_other (__atan, atan)
GLOBAL_IEEE754_ENTRY(atan2l)
@@ -1953,6 +1954,7 @@ ATANL_ArgY_Not_INF:
;;
GLOBAL_IEEE754_END(atan2l)
+libm_alias_ldouble_other (__atan2, atan2)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/s_cbrt.S b/sysdeps/ia64/fpu/s_cbrt.S
index 7a74ac19be..783212383b 100644
--- a/sysdeps/ia64/fpu/s_cbrt.S
+++ b/sysdeps/ia64/fpu/s_cbrt.S
@@ -765,3 +765,4 @@ GLOBAL_LIBM_ENTRY(cbrt)
GLOBAL_LIBM_END(cbrt)
+libm_alias_double_other (cbrt, cbrt)
diff --git a/sysdeps/ia64/fpu/s_cbrtf.S b/sysdeps/ia64/fpu/s_cbrtf.S
index 5d51963f87..c0d102291c 100644
--- a/sysdeps/ia64/fpu/s_cbrtf.S
+++ b/sysdeps/ia64/fpu/s_cbrtf.S
@@ -759,3 +759,4 @@ GLOBAL_LIBM_ENTRY(cbrtf)
GLOBAL_LIBM_END(cbrtf)
+libm_alias_float_other (cbrt, cbrt)
diff --git a/sysdeps/ia64/fpu/s_cbrtl.S b/sysdeps/ia64/fpu/s_cbrtl.S
index 301c333ff7..bfd2d5a5a0 100644
--- a/sysdeps/ia64/fpu/s_cbrtl.S
+++ b/sysdeps/ia64/fpu/s_cbrtl.S
@@ -982,3 +982,4 @@ GLOBAL_LIBM_ENTRY(cbrtl)
;;
GLOBAL_LIBM_END(cbrtl)
+libm_alias_ldouble_other (cbrt, cbrt)
diff --git a/sysdeps/ia64/fpu/s_ceil.S b/sysdeps/ia64/fpu/s_ceil.S
index d1d2980618..9380608694 100644
--- a/sysdeps/ia64/fpu/s_ceil.S
+++ b/sysdeps/ia64/fpu/s_ceil.S
@@ -222,3 +222,4 @@ CEIL_UNORM:
;;
GLOBAL_LIBM_END(ceil)
+libm_alias_double_other (ceil, ceil)
diff --git a/sysdeps/ia64/fpu/s_ceilf.S b/sysdeps/ia64/fpu/s_ceilf.S
index 051534a202..b1789d0089 100644
--- a/sysdeps/ia64/fpu/s_ceilf.S
+++ b/sysdeps/ia64/fpu/s_ceilf.S
@@ -222,3 +222,4 @@ CEIL_UNORM:
;;
GLOBAL_LIBM_END(ceilf)
+libm_alias_float_other (ceil, ceil)
diff --git a/sysdeps/ia64/fpu/s_ceill.S b/sysdeps/ia64/fpu/s_ceill.S
index 71cb01d3fa..eb913d25e3 100644
--- a/sysdeps/ia64/fpu/s_ceill.S
+++ b/sysdeps/ia64/fpu/s_ceill.S
@@ -222,3 +222,4 @@ CEIL_UNORM:
;;
GLOBAL_LIBM_END(ceill)
+libm_alias_ldouble_other (ceil, ceil)
diff --git a/sysdeps/ia64/fpu/s_copysign.S b/sysdeps/ia64/fpu/s_copysign.S
index 592ffcf6e1..f6ec3dabeb 100644
--- a/sysdeps/ia64/fpu/s_copysign.S
+++ b/sysdeps/ia64/fpu/s_copysign.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,6 +32,6 @@ strong_alias (__copysign, __libm_copysign)
strong_alias (__copysign, __libm_copysignf)
strong_alias (__copysign, __libm_copysignl)
-weak_alias (__copysign, copysign)
-weak_alias (__copysignf, copysignf)
-weak_alias (__copysignl, copysignl)
+libm_alias_double (__copysign, copysign)
+libm_alias_float (__copysign, copysign)
+libm_alias_ldouble (__copysign, copysign)
diff --git a/sysdeps/ia64/fpu/s_cos.S b/sysdeps/ia64/fpu/s_cos.S
index 5f5cdc1d36..1c54b7e1b0 100644
--- a/sysdeps/ia64/fpu/s_cos.S
+++ b/sysdeps/ia64/fpu/s_cos.S
@@ -420,6 +420,7 @@ GLOBAL_IEEE754_ENTRY(sin)
;;
GLOBAL_IEEE754_END(sin)
+libm_alias_double_other (__sin, sin)
GLOBAL_IEEE754_ENTRY(cos)
@@ -707,6 +708,7 @@ _SINCOS_UNORM:
};;
GLOBAL_IEEE754_END(cos)
+libm_alias_double_other (__cos, cos)
//////////// x >= 2^27 - large arguments routine call ////////////
LOCAL_LIBM_ENTRY(__libm_callout_sincos)
diff --git a/sysdeps/ia64/fpu/s_cosf.S b/sysdeps/ia64/fpu/s_cosf.S
index 2dcdaa8879..42de260cd7 100644
--- a/sysdeps/ia64/fpu/s_cosf.S
+++ b/sysdeps/ia64/fpu/s_cosf.S
@@ -409,6 +409,7 @@ GLOBAL_IEEE754_ENTRY(sinf)
};;
GLOBAL_IEEE754_END(sinf)
+libm_alias_float_other (__sin, sin)
GLOBAL_IEEE754_ENTRY(cosf)
@@ -659,6 +660,7 @@ _SINCOSF_SPECIAL_ARGS:
};;
GLOBAL_IEEE754_END(cosf)
+libm_alias_float_other (__cos, cos)
//////////// x >= 2^24 - large arguments routine call ////////////
LOCAL_LIBM_ENTRY(__libm_callout_sincosf)
diff --git a/sysdeps/ia64/fpu/s_cosl.S b/sysdeps/ia64/fpu/s_cosl.S
index 8d71e50c1a..ed4b571fab 100644
--- a/sysdeps/ia64/fpu/s_cosl.S
+++ b/sysdeps/ia64/fpu/s_cosl.S
@@ -774,6 +774,7 @@ GLOBAL_IEEE754_ENTRY(sinl)
;;
GLOBAL_IEEE754_END(sinl)
+libm_alias_ldouble_other (__sin, sin)
GLOBAL_IEEE754_ENTRY(cosl)
{ .mlx
@@ -2288,6 +2289,7 @@ SINCOSL_SPECIAL:
}
GLOBAL_IEEE754_END(cosl)
+libm_alias_ldouble_other (__cos, cos)
// *******************************************************************
// *******************************************************************
diff --git a/sysdeps/ia64/fpu/s_erf.S b/sysdeps/ia64/fpu/s_erf.S
index 2ae2874cab..8e2355dfff 100644
--- a/sysdeps/ia64/fpu/s_erf.S
+++ b/sysdeps/ia64/fpu/s_erf.S
@@ -922,3 +922,4 @@ erf_denormal:
;;
GLOBAL_LIBM_END(erf)
+libm_alias_double_other (erf, erf)
diff --git a/sysdeps/ia64/fpu/s_erfc.S b/sysdeps/ia64/fpu/s_erfc.S
index cd26545264..95fa0ab534 100644
--- a/sysdeps/ia64/fpu/s_erfc.S
+++ b/sysdeps/ia64/fpu/s_erfc.S
@@ -1136,6 +1136,7 @@ GLOBAL_LIBM_ENTRY(erfc)
};;
GLOBAL_LIBM_END(erfc)
+libm_alias_double_other (erfc, erfc)
// call via (p15) br.cond.spnt __libm_error_region
// for x > ARG_ASYMP = 28.0
diff --git a/sysdeps/ia64/fpu/s_erfcf.S b/sysdeps/ia64/fpu/s_erfcf.S
index f9502d7e4a..88da077a3b 100644
--- a/sysdeps/ia64/fpu/s_erfcf.S
+++ b/sysdeps/ia64/fpu/s_erfcf.S
@@ -918,6 +918,7 @@ SPECIAL:
;;
GLOBAL_LIBM_END(erfcf)
+libm_alias_float_other (erfc, erfc)
// Call via (p10) br.cond.spnt __libm_error_region
diff --git a/sysdeps/ia64/fpu/s_erfcl.S b/sysdeps/ia64/fpu/s_erfcl.S
index aaa0bb0240..ff39c7ee3f 100644
--- a/sysdeps/ia64/fpu/s_erfcl.S
+++ b/sysdeps/ia64/fpu/s_erfcl.S
@@ -2003,6 +2003,7 @@ ERFC_RESULT:
};;
GLOBAL_LIBM_END(erfcl)
+libm_alias_ldouble_other (erfc, erfc)
// call via (p15) br.cond.spnt __libm_error_region
// for x > POS_ARG_ASYMP
diff --git a/sysdeps/ia64/fpu/s_erff.S b/sysdeps/ia64/fpu/s_erff.S
index a5cde66d5d..e20183664a 100644
--- a/sysdeps/ia64/fpu/s_erff.S
+++ b/sysdeps/ia64/fpu/s_erff.S
@@ -556,3 +556,4 @@ erff_denormal:
;;
GLOBAL_LIBM_END(erff)
+libm_alias_float_other (erf, erf)
diff --git a/sysdeps/ia64/fpu/s_erfl.S b/sysdeps/ia64/fpu/s_erfl.S
index 1fcb2127ea..8d58905c1c 100644
--- a/sysdeps/ia64/fpu/s_erfl.S
+++ b/sysdeps/ia64/fpu/s_erfl.S
@@ -1235,3 +1235,4 @@ _0_to_1o8:
GLOBAL_LIBM_END(erfl)
+libm_alias_ldouble_other (erf, erf)
diff --git a/sysdeps/ia64/fpu/s_expm1.S b/sysdeps/ia64/fpu/s_expm1.S
index f0b911e295..18d07e5bf9 100644
--- a/sysdeps/ia64/fpu/s_expm1.S
+++ b/sysdeps/ia64/fpu/s_expm1.S
@@ -831,6 +831,7 @@ EXPM1_CERTAIN_MINUS_ONE:
;;
GLOBAL_IEEE754_END(expm1)
+libm_alias_double_other (__expm1, expm1)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_expm1f.S b/sysdeps/ia64/fpu/s_expm1f.S
index 55264a9875..c324139ccc 100644
--- a/sysdeps/ia64/fpu/s_expm1f.S
+++ b/sysdeps/ia64/fpu/s_expm1f.S
@@ -612,6 +612,7 @@ EXPM1_CERTAIN_OVERFLOW:
;;
GLOBAL_IEEE754_END(expm1f)
+libm_alias_float_other (__expm1, expm1)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_expm1l.S b/sysdeps/ia64/fpu/s_expm1l.S
index 63bf39a3c1..4c9dcebeb3 100644
--- a/sysdeps/ia64/fpu/s_expm1l.S
+++ b/sysdeps/ia64/fpu/s_expm1l.S
@@ -677,6 +677,7 @@ GLOBAL_IEEE754_ENTRY(expm1l)
;;
GLOBAL_IEEE754_END(expm1l)
+libm_alias_ldouble_other (__expm1, expm1)
GLOBAL_IEEE754_ENTRY(expl)
@@ -1377,6 +1378,7 @@ EXP_64_UNSUPPORTED:
;;
GLOBAL_IEEE754_END(expl)
+libm_alias_ldouble_other (__exp, exp)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/s_fabs.S b/sysdeps/ia64/fpu/s_fabs.S
index 8bbdf9b084..f168a04c0e 100644
--- a/sysdeps/ia64/fpu/s_fabs.S
+++ b/sysdeps/ia64/fpu/s_fabs.S
@@ -80,3 +80,4 @@ GLOBAL_IEEE754_ENTRY(fabs)
}
GLOBAL_IEEE754_END(fabs)
+libm_alias_double_other (__fabs, fabs)
diff --git a/sysdeps/ia64/fpu/s_fabsf.S b/sysdeps/ia64/fpu/s_fabsf.S
index 546865fadc..b851ad0c8e 100644
--- a/sysdeps/ia64/fpu/s_fabsf.S
+++ b/sysdeps/ia64/fpu/s_fabsf.S
@@ -80,3 +80,4 @@ GLOBAL_IEEE754_ENTRY(fabsf)
}
GLOBAL_IEEE754_END(fabsf)
+libm_alias_float_other (__fabs, fabs)
diff --git a/sysdeps/ia64/fpu/s_fabsl.S b/sysdeps/ia64/fpu/s_fabsl.S
index 3794d19a8a..ca7812c4dc 100644
--- a/sysdeps/ia64/fpu/s_fabsl.S
+++ b/sysdeps/ia64/fpu/s_fabsl.S
@@ -80,3 +80,4 @@ GLOBAL_IEEE754_ENTRY(fabsl)
}
GLOBAL_IEEE754_END(fabsl)
+libm_alias_ldouble_other (__fabs, fabs)
diff --git a/sysdeps/ia64/fpu/s_fdim.S b/sysdeps/ia64/fpu/s_fdim.S
index a6bdf1f5f8..d962a7f9cc 100644
--- a/sysdeps/ia64/fpu/s_fdim.S
+++ b/sysdeps/ia64/fpu/s_fdim.S
@@ -163,6 +163,7 @@ FDIM_OVERFLOW:
;;
GLOBAL_LIBM_END(fdim)
+libm_alias_double_other (fdim, fdim)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_fdimf.S b/sysdeps/ia64/fpu/s_fdimf.S
index 10bc5a619a..88f67a53f7 100644
--- a/sysdeps/ia64/fpu/s_fdimf.S
+++ b/sysdeps/ia64/fpu/s_fdimf.S
@@ -163,6 +163,7 @@ FDIM_OVERFLOW:
;;
GLOBAL_LIBM_END(fdimf)
+libm_alias_float_other (fdim, fdim)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_fdiml.S b/sysdeps/ia64/fpu/s_fdiml.S
index a5c7396bbd..c23da7ebb0 100644
--- a/sysdeps/ia64/fpu/s_fdiml.S
+++ b/sysdeps/ia64/fpu/s_fdiml.S
@@ -163,6 +163,7 @@ FDIM_OVERFLOW:
;;
GLOBAL_LIBM_END(fdiml)
+libm_alias_ldouble_other (fdim, fdim)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_finite.S b/sysdeps/ia64/fpu/s_finite.S
index 595509f5d9..8784880097 100644
--- a/sysdeps/ia64/fpu/s_finite.S
+++ b/sysdeps/ia64/fpu/s_finite.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/s_floor.S b/sysdeps/ia64/fpu/s_floor.S
index 9ed9d6dcdb..35fa41be7e 100644
--- a/sysdeps/ia64/fpu/s_floor.S
+++ b/sysdeps/ia64/fpu/s_floor.S
@@ -214,3 +214,4 @@ FLOOR_UNORM:
;;
GLOBAL_IEEE754_END(floor)
+libm_alias_double_other (__floor, floor)
diff --git a/sysdeps/ia64/fpu/s_floorf.S b/sysdeps/ia64/fpu/s_floorf.S
index a3f2095931..8cd1ca6a1a 100644
--- a/sysdeps/ia64/fpu/s_floorf.S
+++ b/sysdeps/ia64/fpu/s_floorf.S
@@ -213,3 +213,4 @@ FLOOR_UNORM:
;;
GLOBAL_IEEE754_END(floorf)
+libm_alias_float_other (__floor, floor)
diff --git a/sysdeps/ia64/fpu/s_floorl.S b/sysdeps/ia64/fpu/s_floorl.S
index 345c4f30dd..8d495c0149 100644
--- a/sysdeps/ia64/fpu/s_floorl.S
+++ b/sysdeps/ia64/fpu/s_floorl.S
@@ -213,3 +213,4 @@ FLOOR_UNORM:
;;
GLOBAL_IEEE754_END(floorl)
+libm_alias_ldouble_other (__floor, floor)
diff --git a/sysdeps/ia64/fpu/s_fma.S b/sysdeps/ia64/fpu/s_fma.S
index 556f82a0d0..49e8059da2 100644
--- a/sysdeps/ia64/fpu/s_fma.S
+++ b/sysdeps/ia64/fpu/s_fma.S
@@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fma)
;;
GLOBAL_LIBM_END(fma)
+libm_alias_double_other (fma, fma)
diff --git a/sysdeps/ia64/fpu/s_fmaf.S b/sysdeps/ia64/fpu/s_fmaf.S
index 132467593a..e59b634561 100644
--- a/sysdeps/ia64/fpu/s_fmaf.S
+++ b/sysdeps/ia64/fpu/s_fmaf.S
@@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fmaf)
;;
GLOBAL_LIBM_END(fmaf)
+libm_alias_float_other (fma, fma)
diff --git a/sysdeps/ia64/fpu/s_fmal.S b/sysdeps/ia64/fpu/s_fmal.S
index 979fa9fb16..3547991955 100644
--- a/sysdeps/ia64/fpu/s_fmal.S
+++ b/sysdeps/ia64/fpu/s_fmal.S
@@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fmal)
;;
GLOBAL_LIBM_END(fmal)
+libm_alias_ldouble_other (fma, fma)
diff --git a/sysdeps/ia64/fpu/s_fmax.S b/sysdeps/ia64/fpu/s_fmax.S
index bf0897457b..a5724514e8 100644
--- a/sysdeps/ia64/fpu/s_fmax.S
+++ b/sysdeps/ia64/fpu/s_fmax.S
@@ -112,3 +112,4 @@ GLOBAL_LIBM_ENTRY(fmax)
;;
GLOBAL_LIBM_END(fmax)
+libm_alias_double_other (fmax, fmax)
diff --git a/sysdeps/ia64/fpu/s_fmaxf.S b/sysdeps/ia64/fpu/s_fmaxf.S
index 30a78c708b..04f3f8847d 100644
--- a/sysdeps/ia64/fpu/s_fmaxf.S
+++ b/sysdeps/ia64/fpu/s_fmaxf.S
@@ -112,3 +112,4 @@ GLOBAL_LIBM_ENTRY(fmaxf)
;;
GLOBAL_LIBM_END(fmaxf)
+libm_alias_float_other (fmax, fmax)
diff --git a/sysdeps/ia64/fpu/s_fmaxl.S b/sysdeps/ia64/fpu/s_fmaxl.S
index a575cf00eb..9d5a1a76a4 100644
--- a/sysdeps/ia64/fpu/s_fmaxl.S
+++ b/sysdeps/ia64/fpu/s_fmaxl.S
@@ -112,3 +112,4 @@ GLOBAL_LIBM_ENTRY(fmaxl)
;;
GLOBAL_LIBM_END(fmaxl)
+libm_alias_ldouble_other (fmax, fmax)
diff --git a/sysdeps/ia64/fpu/s_fpclassify.S b/sysdeps/ia64/fpu/s_fpclassify.S
index 6d8a9bd216..edb4ae281e 100644
--- a/sysdeps/ia64/fpu/s_fpclassify.S
+++ b/sysdeps/ia64/fpu/s_fpclassify.S
@@ -1,5 +1,5 @@
/* Return classification value corresponding to argument.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/s_frexp.c b/sysdeps/ia64/fpu/s_frexp.c
index 95421eafdd..43794ea308 100644
--- a/sysdeps/ia64/fpu/s_frexp.c
+++ b/sysdeps/ia64/fpu/s_frexp.c
@@ -65,3 +65,4 @@ double frexp(double x, int *y)
#endif
}
+libm_alias_double_other (frexp, frexp)
diff --git a/sysdeps/ia64/fpu/s_frexpf.c b/sysdeps/ia64/fpu/s_frexpf.c
index 03290b2846..fbdee846d9 100644
--- a/sysdeps/ia64/fpu/s_frexpf.c
+++ b/sysdeps/ia64/fpu/s_frexpf.c
@@ -65,3 +65,4 @@ float frexpf(float x, int *y)
#endif
}
+libm_alias_float_other (frexp, frexp)
diff --git a/sysdeps/ia64/fpu/s_frexpl.c b/sysdeps/ia64/fpu/s_frexpl.c
index f999e20361..7da92550b1 100644
--- a/sysdeps/ia64/fpu/s_frexpl.c
+++ b/sysdeps/ia64/fpu/s_frexpl.c
@@ -65,3 +65,4 @@ long double frexpl(long double x, int *y)
#endif
}
+libm_alias_ldouble_other (frexp, frexp)
diff --git a/sysdeps/ia64/fpu/s_isinf.S b/sysdeps/ia64/fpu/s_isinf.S
index 8c6d425f62..bf68b6910e 100644
--- a/sysdeps/ia64/fpu/s_isinf.S
+++ b/sysdeps/ia64/fpu/s_isinf.S
@@ -1,5 +1,5 @@
/* Test for inf/-inf
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <jes@linuxcare.com>, October 2000.
diff --git a/sysdeps/ia64/fpu/s_isnan.S b/sysdeps/ia64/fpu/s_isnan.S
index df5aadec05..db992b7184 100644
--- a/sysdeps/ia64/fpu/s_isnan.S
+++ b/sysdeps/ia64/fpu/s_isnan.S
@@ -1,5 +1,5 @@
/* Test for NaN
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <jes@linuxcare.com>, October 2000.
diff --git a/sysdeps/ia64/fpu/s_ldexp.c b/sysdeps/ia64/fpu/s_ldexp.c
index 6cf0ffc083..36e3a2d067 100644
--- a/sysdeps/ia64/fpu/s_ldexp.c
+++ b/sysdeps/ia64/fpu/s_ldexp.c
@@ -59,3 +59,4 @@ double ldexp(double x, int n)
#endif
}
+libm_alias_double_other (ldexp, ldexp)
diff --git a/sysdeps/ia64/fpu/s_ldexpf.c b/sysdeps/ia64/fpu/s_ldexpf.c
index 64e335b0ec..c56db0e0b3 100644
--- a/sysdeps/ia64/fpu/s_ldexpf.c
+++ b/sysdeps/ia64/fpu/s_ldexpf.c
@@ -59,3 +59,4 @@ float ldexpf(float x, int n)
#endif
}
+libm_alias_float_other (ldexp, ldexp)
diff --git a/sysdeps/ia64/fpu/s_ldexpl.c b/sysdeps/ia64/fpu/s_ldexpl.c
index aa6f2d7642..594e112562 100644
--- a/sysdeps/ia64/fpu/s_ldexpl.c
+++ b/sysdeps/ia64/fpu/s_ldexpl.c
@@ -59,3 +59,4 @@ long double ldexpl(long double x, int n)
#endif
}
+libm_alias_ldouble_other (ldexp, ldexp)
diff --git a/sysdeps/ia64/fpu/s_log1p.S b/sysdeps/ia64/fpu/s_log1p.S
index 94f9f872e9..02fa3ef49e 100644
--- a/sysdeps/ia64/fpu/s_log1p.S
+++ b/sysdeps/ia64/fpu/s_log1p.S
@@ -1047,6 +1047,7 @@ log_libm_err:
;;
GLOBAL_IEEE754_END(log1p)
+libm_alias_double_other (__log1p, log1p)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_log1pf.S b/sysdeps/ia64/fpu/s_log1pf.S
index b04b18ed74..45638b5b6f 100644
--- a/sysdeps/ia64/fpu/s_log1pf.S
+++ b/sysdeps/ia64/fpu/s_log1pf.S
@@ -733,6 +733,7 @@ log_libm_err:
;;
GLOBAL_IEEE754_END(log1pf)
+libm_alias_float_other (__log1p, log1p)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_log1pl.S b/sysdeps/ia64/fpu/s_log1pl.S
index 3c8be02826..e96782bbac 100644
--- a/sysdeps/ia64/fpu/s_log1pl.S
+++ b/sysdeps/ia64/fpu/s_log1pl.S
@@ -1145,6 +1145,7 @@ LOG1P_LT_Minus_1:
GLOBAL_IEEE754_END(log1pl)
+libm_alias_ldouble_other (__log1p, log1p)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/s_logb.S b/sysdeps/ia64/fpu/s_logb.S
index 7ee898712b..c73db8791e 100644
--- a/sysdeps/ia64/fpu/s_logb.S
+++ b/sysdeps/ia64/fpu/s_logb.S
@@ -218,6 +218,7 @@ LOGB_ZERO:
;;
GLOBAL_LIBM_END(logb)
+libm_alias_double_other (logb, logb)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_logbf.S b/sysdeps/ia64/fpu/s_logbf.S
index eefa270db9..72ecb390e5 100644
--- a/sysdeps/ia64/fpu/s_logbf.S
+++ b/sysdeps/ia64/fpu/s_logbf.S
@@ -218,6 +218,7 @@ LOGB_ZERO:
;;
GLOBAL_LIBM_END(logbf)
+libm_alias_float_other (logb, logb)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_logbl.S b/sysdeps/ia64/fpu/s_logbl.S
index e312c1b438..0100a3e9d7 100644
--- a/sysdeps/ia64/fpu/s_logbl.S
+++ b/sysdeps/ia64/fpu/s_logbl.S
@@ -218,6 +218,7 @@ LOGB_ZERO:
;;
GLOBAL_LIBM_END(logbl)
+libm_alias_ldouble_other (logb, logb)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_matherrf.c b/sysdeps/ia64/fpu/s_matherrf.c
index a47d4b89a2..5808c04573 100644
--- a/sysdeps/ia64/fpu/s_matherrf.c
+++ b/sysdeps/ia64/fpu/s_matherrf.c
@@ -13,8 +13,10 @@
#include <math.h>
#include <math_private.h>
+#include <math-svid-compat.h>
#include "libm_support.h"
+#if LIBM_SVID_COMPAT
int
weak_function
__matherrf(struct exceptionf *x)
@@ -23,4 +25,5 @@ __matherrf(struct exceptionf *x)
if(x->arg1!=x->arg1) return 0;
return n;
}
-weak_alias (__matherrf, matherrf)
+compat_symbol (libm, __matherrf, matherrf, GLIBC_2_2_3);
+#endif
diff --git a/sysdeps/ia64/fpu/s_matherrl.c b/sysdeps/ia64/fpu/s_matherrl.c
index 6fe92d7739..dc64b31e50 100644
--- a/sysdeps/ia64/fpu/s_matherrl.c
+++ b/sysdeps/ia64/fpu/s_matherrl.c
@@ -13,8 +13,10 @@
#include <math.h>
#include <math_private.h>
+#include <math-svid-compat.h>
#include "libm_support.h"
+#if LIBM_SVID_COMPAT
int
weak_function
__matherrl(struct exceptionl *x)
@@ -23,4 +25,5 @@ __matherrl(struct exceptionl *x)
if(x->arg1!=x->arg1) return 0;
return n;
}
-weak_alias (__matherrl, matherrl)
+compat_symbol (libm, __matherrl, matherrl, GLIBC_2_2_3);
+#endif
diff --git a/sysdeps/ia64/fpu/s_modf.S b/sysdeps/ia64/fpu/s_modf.S
index 4634acfb0d..2b6ca8eda7 100644
--- a/sysdeps/ia64/fpu/s_modf.S
+++ b/sysdeps/ia64/fpu/s_modf.S
@@ -276,3 +276,4 @@ MODF_DENORM:
}
GLOBAL_LIBM_END(modf)
+libm_alias_double_other (modf, modf)
diff --git a/sysdeps/ia64/fpu/s_modff.S b/sysdeps/ia64/fpu/s_modff.S
index 36e02be81b..31f43c60d9 100644
--- a/sysdeps/ia64/fpu/s_modff.S
+++ b/sysdeps/ia64/fpu/s_modff.S
@@ -276,3 +276,4 @@ MODF_DENORM:
}
GLOBAL_LIBM_END(modff)
+libm_alias_float_other (modf, modf)
diff --git a/sysdeps/ia64/fpu/s_modfl.S b/sysdeps/ia64/fpu/s_modfl.S
index e95d520b4b..3139999536 100644
--- a/sysdeps/ia64/fpu/s_modfl.S
+++ b/sysdeps/ia64/fpu/s_modfl.S
@@ -271,3 +271,4 @@ MODF_DENORM:
}
GLOBAL_LIBM_END(modfl)
+libm_alias_ldouble_other (modf, modf)
diff --git a/sysdeps/ia64/fpu/s_nearbyint.S b/sysdeps/ia64/fpu/s_nearbyint.S
index ec1ff22dbc..91508e8cc4 100644
--- a/sysdeps/ia64/fpu/s_nearbyint.S
+++ b/sysdeps/ia64/fpu/s_nearbyint.S
@@ -215,3 +215,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_LIBM_END(nearbyint)
+libm_alias_double_other (nearbyint, nearbyint)
diff --git a/sysdeps/ia64/fpu/s_nearbyintf.S b/sysdeps/ia64/fpu/s_nearbyintf.S
index aac7b5c126..8a80fb0829 100644
--- a/sysdeps/ia64/fpu/s_nearbyintf.S
+++ b/sysdeps/ia64/fpu/s_nearbyintf.S
@@ -215,3 +215,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_LIBM_END(nearbyintf)
+libm_alias_float_other (nearbyint, nearbyint)
diff --git a/sysdeps/ia64/fpu/s_nearbyintl.S b/sysdeps/ia64/fpu/s_nearbyintl.S
index 83adc07896..bf4e8a9afd 100644
--- a/sysdeps/ia64/fpu/s_nearbyintl.S
+++ b/sysdeps/ia64/fpu/s_nearbyintl.S
@@ -215,4 +215,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_LIBM_END(__nearbyintl)
-weak_alias (__nearbyintl, nearbyintl)
+libm_alias_ldouble (__nearbyint, nearbyint)
diff --git a/sysdeps/ia64/fpu/s_nextafter.S b/sysdeps/ia64/fpu/s_nextafter.S
index 44a43c50b9..fa1d3f1633 100644
--- a/sysdeps/ia64/fpu/s_nextafter.S
+++ b/sysdeps/ia64/fpu/s_nextafter.S
@@ -431,6 +431,7 @@ NEXT_OVERFLOW:
;;
GLOBAL_LIBM_END(nextafter)
+libm_alias_double_other (nextafter, nextafter)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_nextafterf.S b/sysdeps/ia64/fpu/s_nextafterf.S
index 5769ce8f9b..ca8d6ab608 100644
--- a/sysdeps/ia64/fpu/s_nextafterf.S
+++ b/sysdeps/ia64/fpu/s_nextafterf.S
@@ -437,6 +437,7 @@ NEXT_OVERFLOW:
;;
GLOBAL_LIBM_END(nextafterf)
+libm_alias_float_other (nextafter, nextafter)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_nextafterl.S b/sysdeps/ia64/fpu/s_nextafterl.S
index d771a97389..cf2feba043 100644
--- a/sysdeps/ia64/fpu/s_nextafterl.S
+++ b/sysdeps/ia64/fpu/s_nextafterl.S
@@ -436,6 +436,7 @@ NEXT_OVERFLOW:
;;
GLOBAL_LIBM_END(nextafterl)
+libm_alias_ldouble_other (nextafter, nextafter)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_rint.S b/sysdeps/ia64/fpu/s_rint.S
index 1735d9b498..3a546d963f 100644
--- a/sysdeps/ia64/fpu/s_rint.S
+++ b/sysdeps/ia64/fpu/s_rint.S
@@ -227,3 +227,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_IEEE754_END(rint)
+libm_alias_double_other (__rint, rint)
diff --git a/sysdeps/ia64/fpu/s_rintf.S b/sysdeps/ia64/fpu/s_rintf.S
index 05d6b411f2..1d9a538538 100644
--- a/sysdeps/ia64/fpu/s_rintf.S
+++ b/sysdeps/ia64/fpu/s_rintf.S
@@ -227,3 +227,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_IEEE754_END(rintf)
+libm_alias_float_other (__rint, rint)
diff --git a/sysdeps/ia64/fpu/s_rintl.S b/sysdeps/ia64/fpu/s_rintl.S
index b5402149ec..8b6c87162b 100644
--- a/sysdeps/ia64/fpu/s_rintl.S
+++ b/sysdeps/ia64/fpu/s_rintl.S
@@ -227,3 +227,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_IEEE754_END(rintl)
+libm_alias_ldouble_other (__rint, rint)
diff --git a/sysdeps/ia64/fpu/s_round.S b/sysdeps/ia64/fpu/s_round.S
index 821187522b..03afb1bf73 100644
--- a/sysdeps/ia64/fpu/s_round.S
+++ b/sysdeps/ia64/fpu/s_round.S
@@ -231,3 +231,4 @@ ROUND_UNORM:
;;
GLOBAL_LIBM_END(round)
+libm_alias_double_other (round, round)
diff --git a/sysdeps/ia64/fpu/s_roundf.S b/sysdeps/ia64/fpu/s_roundf.S
index c0351b4a4d..8de595472d 100644
--- a/sysdeps/ia64/fpu/s_roundf.S
+++ b/sysdeps/ia64/fpu/s_roundf.S
@@ -231,3 +231,4 @@ ROUND_UNORM:
;;
GLOBAL_LIBM_END(roundf)
+libm_alias_float_other (round, round)
diff --git a/sysdeps/ia64/fpu/s_roundl.S b/sysdeps/ia64/fpu/s_roundl.S
index 355eaf5057..8ec511f69f 100644
--- a/sysdeps/ia64/fpu/s_roundl.S
+++ b/sysdeps/ia64/fpu/s_roundl.S
@@ -231,3 +231,4 @@ ROUND_UNORM:
;;
GLOBAL_LIBM_END(roundl)
+libm_alias_ldouble_other (round, round)
diff --git a/sysdeps/ia64/fpu/s_scalblnf.c b/sysdeps/ia64/fpu/s_scalblnf.c
index ed92bfd989..d07069dccf 100644
--- a/sysdeps/ia64/fpu/s_scalblnf.c
+++ b/sysdeps/ia64/fpu/s_scalblnf.c
@@ -59,3 +59,4 @@ float scalblnf(float x, long int n)
#endif
}
+libm_alias_float_other (scalbln, scalbln)
diff --git a/sysdeps/ia64/fpu/s_scalbn.c b/sysdeps/ia64/fpu/s_scalbn.c
index 23e8d818b2..8bb7b2aa5e 100644
--- a/sysdeps/ia64/fpu/s_scalbn.c
+++ b/sysdeps/ia64/fpu/s_scalbn.c
@@ -60,4 +60,4 @@ double __scalbn(double x, int n)
}
-weak_alias (__scalbn, scalbn)
+libm_alias_double (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_scalbnf.c b/sysdeps/ia64/fpu/s_scalbnf.c
index ec2582cddc..ee2296064f 100644
--- a/sysdeps/ia64/fpu/s_scalbnf.c
+++ b/sysdeps/ia64/fpu/s_scalbnf.c
@@ -60,4 +60,4 @@ float __scalbnf(float x, int n)
}
-weak_alias (__scalbnf, scalbnf)
+libm_alias_float (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_scalbnl.c b/sysdeps/ia64/fpu/s_scalbnl.c
index 73ffb904b7..dca01cfb5f 100644
--- a/sysdeps/ia64/fpu/s_scalbnl.c
+++ b/sysdeps/ia64/fpu/s_scalbnl.c
@@ -60,4 +60,4 @@ long double __scalbnl(long double x, int n)
}
-weak_alias (__scalbnl, scalbnl)
+libm_alias_ldouble (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_signbit.S b/sysdeps/ia64/fpu/s_signbit.S
index 76193de326..015db97464 100644
--- a/sysdeps/ia64/fpu/s_signbit.S
+++ b/sysdeps/ia64/fpu/s_signbit.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/s_tan.S b/sysdeps/ia64/fpu/s_tan.S
index 050b4434e1..8305b8e91b 100644
--- a/sysdeps/ia64/fpu/s_tan.S
+++ b/sysdeps/ia64/fpu/s_tan.S
@@ -737,6 +737,7 @@ COMMON_PATH:
br.ret.sptk b0 ;;
}
GLOBAL_IEEE754_END(tan)
+libm_alias_double_other (__tan, tan)
LOCAL_LIBM_ENTRY(__libm_callout)
diff --git a/sysdeps/ia64/fpu/s_tanf.S b/sysdeps/ia64/fpu/s_tanf.S
index 7df762f621..a25bb943fe 100644
--- a/sysdeps/ia64/fpu/s_tanf.S
+++ b/sysdeps/ia64/fpu/s_tanf.S
@@ -550,6 +550,7 @@ Return_From_Huges:
;;
GLOBAL_IEEE754_END(tanf)
+libm_alias_float_other (__tan, tan)
LOCAL_LIBM_ENTRY(__libm_callout)
diff --git a/sysdeps/ia64/fpu/s_tanh.S b/sysdeps/ia64/fpu/s_tanh.S
index 393af1f8c2..56cc43dfea 100644
--- a/sysdeps/ia64/fpu/s_tanh.S
+++ b/sysdeps/ia64/fpu/s_tanh.S
@@ -982,3 +982,4 @@ _tanh_spec:
};;
GLOBAL_LIBM_END(tanh)
+libm_alias_double_other (tanh, tanh)
diff --git a/sysdeps/ia64/fpu/s_tanhf.S b/sysdeps/ia64/fpu/s_tanhf.S
index 4749477b40..ffbc9ea175 100644
--- a/sysdeps/ia64/fpu/s_tanhf.S
+++ b/sysdeps/ia64/fpu/s_tanhf.S
@@ -579,3 +579,4 @@ tanhf_denormal:
;;
GLOBAL_LIBM_END(tanhf)
+libm_alias_float_other (tanh, tanh)
diff --git a/sysdeps/ia64/fpu/s_tanhl.S b/sysdeps/ia64/fpu/s_tanhl.S
index 2ebd1e780e..1810e4daea 100644
--- a/sysdeps/ia64/fpu/s_tanhl.S
+++ b/sysdeps/ia64/fpu/s_tanhl.S
@@ -1342,3 +1342,4 @@ _0_to_1o8:
};;
GLOBAL_LIBM_END(tanhl)
+libm_alias_ldouble_other (tanh, tanh)
diff --git a/sysdeps/ia64/fpu/s_tanl.S b/sysdeps/ia64/fpu/s_tanl.S
index b59936c4a1..ab893fc2b4 100644
--- a/sysdeps/ia64/fpu/s_tanl.S
+++ b/sysdeps/ia64/fpu/s_tanl.S
@@ -3091,6 +3091,7 @@ TANL_UNSUPPORTED:
;;
GLOBAL_IEEE754_END(tanl)
+libm_alias_ldouble_other (__tan, tan)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_trunc.S b/sysdeps/ia64/fpu/s_trunc.S
index b9ad03b5a8..e0aa3d33c5 100644
--- a/sysdeps/ia64/fpu/s_trunc.S
+++ b/sysdeps/ia64/fpu/s_trunc.S
@@ -164,3 +164,4 @@ TRUNC_UNORM:
;;
GLOBAL_LIBM_END(trunc)
+libm_alias_double_other (trunc, trunc)
diff --git a/sysdeps/ia64/fpu/s_truncf.S b/sysdeps/ia64/fpu/s_truncf.S
index ff40bc7101..b9a055b393 100644
--- a/sysdeps/ia64/fpu/s_truncf.S
+++ b/sysdeps/ia64/fpu/s_truncf.S
@@ -164,3 +164,4 @@ TRUNC_UNORM:
;;
GLOBAL_LIBM_END(truncf)
+libm_alias_float_other (trunc, trunc)
diff --git a/sysdeps/ia64/fpu/s_truncl.S b/sysdeps/ia64/fpu/s_truncl.S
index 1afa19ba2b..f73e7b46b9 100644
--- a/sysdeps/ia64/fpu/s_truncl.S
+++ b/sysdeps/ia64/fpu/s_truncl.S
@@ -164,3 +164,4 @@ TRUNC_UNORM:
;;
GLOBAL_LIBM_END(truncl)
+libm_alias_ldouble_other (trunc, trunc)
diff --git a/sysdeps/ia64/fpu/sfp-machine.h b/sysdeps/ia64/fpu/sfp-machine.h
new file mode 100644
index 0000000000..45e844d3da
--- /dev/null
+++ b/sysdeps/ia64/fpu/sfp-machine.h
@@ -0,0 +1,100 @@
+#define _FP_W_TYPE_SIZE 64
+#define _FP_W_TYPE unsigned long
+#define _FP_WS_TYPE signed long
+#define _FP_I_TYPE long
+
+typedef int TItype __attribute__ ((mode (TI)));
+typedef unsigned int UTItype __attribute__ ((mode (TI)));
+
+#define TI_BITS (__CHAR_BIT__ * (int)sizeof(TItype))
+
+/* The type of the result of a floating point comparison. This must
+ match `__libgcc_cmp_return__' in GCC for the target. */
+typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
+#define CMPtype __gcc_CMPtype
+
+#define _FP_MUL_MEAT_Q(R,X,Y) \
+ _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
+
+#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y)
+
+#define _FP_NANFRAC_S _FP_QNANBIT_S
+#define _FP_NANFRAC_D _FP_QNANBIT_D
+#define _FP_NANFRAC_E _FP_QNANBIT_E, 0
+#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
+
+#define _FP_KEEPNANFRACP 1
+#define _FP_QNANNEGATEDP 0
+
+#define _FP_NANSIGN_S 1
+#define _FP_NANSIGN_D 1
+#define _FP_NANSIGN_E 1
+#define _FP_NANSIGN_Q 1
+
+/* Here is something Intel misdesigned: the specs don't define
+ the case where we have two NaNs with same mantissas, but
+ different sign. Different operations pick up different NaNs. */
+#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
+ do { \
+ if (_FP_FRAC_GT_##wc(X, Y) \
+ || (_FP_FRAC_EQ_##wc(X,Y) && (OP == '+' || OP == '*'))) \
+ { \
+ R##_s = X##_s; \
+ _FP_FRAC_COPY_##wc(R,X); \
+ } \
+ else \
+ { \
+ R##_s = Y##_s; \
+ _FP_FRAC_COPY_##wc(R,Y); \
+ } \
+ R##_c = FP_CLS_NAN; \
+ } while (0)
+
+#define FP_EX_INVALID 0x01
+#define FP_EX_DENORM 0x02
+#define FP_EX_DIVZERO 0x04
+#define FP_EX_OVERFLOW 0x08
+#define FP_EX_UNDERFLOW 0x10
+#define FP_EX_INEXACT 0x20
+#define FP_EX_ALL \
+ (FP_EX_INVALID | FP_EX_DENORM | FP_EX_DIVZERO | FP_EX_OVERFLOW \
+ | FP_EX_UNDERFLOW | FP_EX_INEXACT)
+
+#define _FP_TININESS_AFTER_ROUNDING 1
+
+void __sfp_handle_exceptions (int);
+
+#define FP_HANDLE_EXCEPTIONS \
+ do { \
+ if (__builtin_expect (_fex, 0)) \
+ __sfp_handle_exceptions (_fex); \
+ } while (0);
+
+#define FP_TRAPPING_EXCEPTIONS (~_fcw & FP_EX_ALL)
+
+#define FP_RND_NEAREST 0
+#define FP_RND_ZERO 0xc00L
+#define FP_RND_PINF 0x800L
+#define FP_RND_MINF 0x400L
+
+#define FP_RND_MASK 0xc00L
+
+#define _FP_DECL_EX \
+ unsigned long int _fcw __attribute__ ((unused)) = FP_RND_NEAREST
+
+#define FP_INIT_ROUNDMODE \
+ do { \
+ __asm__ __volatile__ ("mov.m %0 = ar.fpsr" : "=r" (_fcw)); \
+ } while (0)
+
+#define FP_ROUNDMODE (_fcw & FP_RND_MASK)
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+
+#define __BYTE_ORDER __LITTLE_ENDIAN
+
+/* Define ALIASNAME as a strong alias for NAME. */
+#define strong_alias(name, aliasname) _strong_alias(name, aliasname)
+#define _strong_alias(name, aliasname) \
+ extern __typeof (name) aliasname __attribute__ ((alias (#name)));
diff --git a/sysdeps/ia64/fpu/w_acos.c b/sysdeps/ia64/fpu/w_acos.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_acos.c
+++ b/sysdeps/ia64/fpu/w_acos.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/k_rem_pio2.c b/sysdeps/ia64/fpu/w_acos_compat.c
index 41254ae60a..41254ae60a 100644
--- a/sysdeps/ia64/fpu/k_rem_pio2.c
+++ b/sysdeps/ia64/fpu/w_acos_compat.c
diff --git a/sysdeps/ia64/fpu/w_acosf_compat.c b/sysdeps/ia64/fpu/w_acosf_compat.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acosf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_acosh.c b/sysdeps/ia64/fpu/w_acosh.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_acosh.c
+++ b/sysdeps/ia64/fpu/w_acosh.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/k_rem_pio2l.c b/sysdeps/ia64/fpu/w_acosh_compat.c
index 41254ae60a..41254ae60a 100644
--- a/sysdeps/ia64/fpu/k_rem_pio2l.c
+++ b/sysdeps/ia64/fpu/w_acosh_compat.c
diff --git a/sysdeps/ia64/fpu/w_acoshf.c b/sysdeps/ia64/fpu/w_acoshf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_acoshf.c
+++ b/sysdeps/ia64/fpu/w_acoshf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalb.c b/sysdeps/ia64/fpu/w_acoshf_compat.c
index 41254ae60a..41254ae60a 100644
--- a/sysdeps/ia64/fpu/w_scalb.c
+++ b/sysdeps/ia64/fpu/w_acoshf_compat.c
diff --git a/sysdeps/ia64/fpu/w_acoshl.c b/sysdeps/ia64/fpu/w_acoshl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_acoshl.c
+++ b/sysdeps/ia64/fpu/w_acoshl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalbf.c b/sysdeps/ia64/fpu/w_acoshl_compat.c
index 41254ae60a..41254ae60a 100644
--- a/sysdeps/ia64/fpu/w_scalbf.c
+++ b/sysdeps/ia64/fpu/w_acoshl_compat.c
diff --git a/sysdeps/ia64/fpu/w_acosl_compat.c b/sysdeps/ia64/fpu/w_acosl_compat.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_acosl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asin.c b/sysdeps/ia64/fpu/w_asin.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_asin.c
+++ b/sysdeps/ia64/fpu/w_asin.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalbl.c b/sysdeps/ia64/fpu/w_asin_compat.c
index 41254ae60a..41254ae60a 100644
--- a/sysdeps/ia64/fpu/w_scalbl.c
+++ b/sysdeps/ia64/fpu/w_asin_compat.c
diff --git a/sysdeps/ia64/fpu/w_asinf.c b/sysdeps/ia64/fpu/w_asinf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_asinf.c
+++ b/sysdeps/ia64/fpu/w_asinf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asinf_compat.c b/sysdeps/ia64/fpu/w_asinf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_asinf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asinl.c b/sysdeps/ia64/fpu/w_asinl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_asinl.c
+++ b/sysdeps/ia64/fpu/w_asinl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_asinl_compat.c b/sysdeps/ia64/fpu/w_asinl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_asinl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2.c b/sysdeps/ia64/fpu/w_atan2.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atan2.c
+++ b/sysdeps/ia64/fpu/w_atan2.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2_compat.c b/sysdeps/ia64/fpu/w_atan2_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2f.c b/sysdeps/ia64/fpu/w_atan2f.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atan2f.c
+++ b/sysdeps/ia64/fpu/w_atan2f.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2f_compat.c b/sysdeps/ia64/fpu/w_atan2f_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2f_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2l.c b/sysdeps/ia64/fpu/w_atan2l.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atan2l.c
+++ b/sysdeps/ia64/fpu/w_atan2l.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atan2l_compat.c b/sysdeps/ia64/fpu/w_atan2l_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atan2l_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanh.c b/sysdeps/ia64/fpu/w_atanh.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atanh.c
+++ b/sysdeps/ia64/fpu/w_atanh.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanh_compat.c b/sysdeps/ia64/fpu/w_atanh_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanh_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhf.c b/sysdeps/ia64/fpu/w_atanhf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atanhf.c
+++ b/sysdeps/ia64/fpu/w_atanhf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhf_compat.c b/sysdeps/ia64/fpu/w_atanhf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanhf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhl.c b/sysdeps/ia64/fpu/w_atanhl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_atanhl.c
+++ b/sysdeps/ia64/fpu/w_atanhl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_atanhl_compat.c b/sysdeps/ia64/fpu/w_atanhl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_atanhl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_cosh.c b/sysdeps/ia64/fpu/w_cosh.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_cosh.c
+++ b/sysdeps/ia64/fpu/w_cosh.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_cosh_compat.c b/sysdeps/ia64/fpu/w_cosh_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_cosh_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshf.c b/sysdeps/ia64/fpu/w_coshf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_coshf.c
+++ b/sysdeps/ia64/fpu/w_coshf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshf_compat.c b/sysdeps/ia64/fpu/w_coshf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_coshf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshl.c b/sysdeps/ia64/fpu/w_coshl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_coshl.c
+++ b/sysdeps/ia64/fpu/w_coshl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_coshl_compat.c b/sysdeps/ia64/fpu/w_coshl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_coshl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp.c b/sysdeps/ia64/fpu/w_exp.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp.c
+++ b/sysdeps/ia64/fpu/w_exp.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10.c b/sysdeps/ia64/fpu/w_exp10.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp10.c
+++ b/sysdeps/ia64/fpu/w_exp10.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10_compat.c b/sysdeps/ia64/fpu/w_exp10_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10f.c b/sysdeps/ia64/fpu/w_exp10f.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp10f.c
+++ b/sysdeps/ia64/fpu/w_exp10f.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10f_compat.c b/sysdeps/ia64/fpu/w_exp10f_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10f_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10l.c b/sysdeps/ia64/fpu/w_exp10l.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp10l.c
+++ b/sysdeps/ia64/fpu/w_exp10l.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp10l_compat.c b/sysdeps/ia64/fpu/w_exp10l_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp10l_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2.c b/sysdeps/ia64/fpu/w_exp2.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp2.c
+++ b/sysdeps/ia64/fpu/w_exp2.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2_compat.c b/sysdeps/ia64/fpu/w_exp2_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2f.c b/sysdeps/ia64/fpu/w_exp2f.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp2f.c
+++ b/sysdeps/ia64/fpu/w_exp2f.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2f_compat.c b/sysdeps/ia64/fpu/w_exp2f_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2f_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2l.c b/sysdeps/ia64/fpu/w_exp2l.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_exp2l.c
+++ b/sysdeps/ia64/fpu/w_exp2l.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp2l_compat.c b/sysdeps/ia64/fpu/w_exp2l_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp2l_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_exp_compat.c b/sysdeps/ia64/fpu/w_exp_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_exp_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expf.c b/sysdeps/ia64/fpu/w_expf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_expf.c
+++ b/sysdeps/ia64/fpu/w_expf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expf_compat.c b/sysdeps/ia64/fpu/w_expf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_expf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expl.c b/sysdeps/ia64/fpu/w_expl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_expl.c
+++ b/sysdeps/ia64/fpu/w_expl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_expl_compat.c b/sysdeps/ia64/fpu/w_expl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_expl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmod.c b/sysdeps/ia64/fpu/w_fmod.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_fmod.c
+++ b/sysdeps/ia64/fpu/w_fmod.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmod_compat.c b/sysdeps/ia64/fpu/w_fmod_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmod_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodf.c b/sysdeps/ia64/fpu/w_fmodf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_fmodf.c
+++ b/sysdeps/ia64/fpu/w_fmodf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodf_compat.c b/sysdeps/ia64/fpu/w_fmodf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmodf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodl.c b/sysdeps/ia64/fpu/w_fmodl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_fmodl.c
+++ b/sysdeps/ia64/fpu/w_fmodl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_fmodl_compat.c b/sysdeps/ia64/fpu/w_fmodl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_fmodl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypot.c b/sysdeps/ia64/fpu/w_hypot.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_hypot.c
+++ b/sysdeps/ia64/fpu/w_hypot.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypot_compat.c b/sysdeps/ia64/fpu/w_hypot_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypot_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotf.c b/sysdeps/ia64/fpu/w_hypotf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_hypotf.c
+++ b/sysdeps/ia64/fpu/w_hypotf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotf_compat.c b/sysdeps/ia64/fpu/w_hypotf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypotf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotl.c b/sysdeps/ia64/fpu/w_hypotl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_hypotl.c
+++ b/sysdeps/ia64/fpu/w_hypotl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_hypotl_compat.c b/sysdeps/ia64/fpu/w_hypotl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_hypotl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgamma_main.c b/sysdeps/ia64/fpu/w_lgamma_main.c
index 3ad73b6756..2fd6dd1b04 100644
--- a/sysdeps/ia64/fpu/w_lgamma_main.c
+++ b/sysdeps/ia64/fpu/w_lgamma_main.c
@@ -69,6 +69,7 @@ double LGFUNC (lgamma) (double x)
compat_symbol (libm, __lgamma_compat, lgamma, LGAMMA_OLD_VER);
# else
versioned_symbol (libm, __ieee754_lgamma, lgamma, LGAMMA_NEW_VER);
+libm_alias_double_other (__ieee754_lgamma, lgamma)
# endif
# if GAMMA_ALIAS
strong_alias (LGFUNC (lgamma), __ieee754_gamma)
diff --git a/sysdeps/ia64/fpu/w_lgamma_r.c b/sysdeps/ia64/fpu/w_lgamma_r.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_lgamma_r.c
+++ b/sysdeps/ia64/fpu/w_lgamma_r.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgamma_r_compat.c b/sysdeps/ia64/fpu/w_lgamma_r_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgamma_r_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammaf_main.c b/sysdeps/ia64/fpu/w_lgammaf_main.c
index 2f3dd41088..dc781aacab 100644
--- a/sysdeps/ia64/fpu/w_lgammaf_main.c
+++ b/sysdeps/ia64/fpu/w_lgammaf_main.c
@@ -69,6 +69,7 @@ float LGFUNC (lgammaf) (float x)
compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER);
# else
versioned_symbol (libm, __ieee754_lgammaf, lgammaf, LGAMMA_NEW_VER);
+libm_alias_float_other (__ieee754_lgamma, lgamma)
# endif
# if GAMMA_ALIAS
strong_alias (LGFUNC (lgammaf), __ieee754_gammaf)
diff --git a/sysdeps/ia64/fpu/w_lgammaf_r.c b/sysdeps/ia64/fpu/w_lgammaf_r.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_lgammaf_r.c
+++ b/sysdeps/ia64/fpu/w_lgammaf_r.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammaf_r_compat.c b/sysdeps/ia64/fpu/w_lgammaf_r_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgammaf_r_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammal_main.c b/sysdeps/ia64/fpu/w_lgammal_main.c
index 7879611d54..46e4d7f629 100644
--- a/sysdeps/ia64/fpu/w_lgammal_main.c
+++ b/sysdeps/ia64/fpu/w_lgammal_main.c
@@ -68,6 +68,7 @@ long double LGFUNC (lgammal) (long double x)
compat_symbol (libm, __lgammal_compat, lgammal, LGAMMA_OLD_VER);
# else
versioned_symbol (libm, __ieee754_lgammal, lgammal, LGAMMA_NEW_VER);
+libm_alias_ldouble_other (__ieee754_lgamma, lgamma)
# endif
# if GAMMA_ALIAS
strong_alias (LGFUNC (lgammal), __ieee754_gammal)
diff --git a/sysdeps/ia64/fpu/w_lgammal_r.c b/sysdeps/ia64/fpu/w_lgammal_r.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_lgammal_r.c
+++ b/sysdeps/ia64/fpu/w_lgammal_r.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_lgammal_r_compat.c b/sysdeps/ia64/fpu/w_lgammal_r_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_lgammal_r_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log.c b/sysdeps/ia64/fpu/w_log.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log.c
+++ b/sysdeps/ia64/fpu/w_log.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10.c b/sysdeps/ia64/fpu/w_log10.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log10.c
+++ b/sysdeps/ia64/fpu/w_log10.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10_compat.c b/sysdeps/ia64/fpu/w_log10_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10f.c b/sysdeps/ia64/fpu/w_log10f.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log10f.c
+++ b/sysdeps/ia64/fpu/w_log10f.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10f_compat.c b/sysdeps/ia64/fpu/w_log10f_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10f_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10l.c b/sysdeps/ia64/fpu/w_log10l.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log10l.c
+++ b/sysdeps/ia64/fpu/w_log10l.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log10l_compat.c b/sysdeps/ia64/fpu/w_log10l_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log10l_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log1p.c b/sysdeps/ia64/fpu/w_log1p.c
index 82f2667b8d..0c15b166f8 100644
--- a/sysdeps/ia64/fpu/w_log1p.c
+++ b/sysdeps/ia64/fpu/w_log1p.c
@@ -1,5 +1,5 @@
/* Wrapper for __log1p that handles setting errno.
- Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2015-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/w_log1pf.c b/sysdeps/ia64/fpu/w_log1pf.c
index 4ef6b36ac4..0840e72f4e 100644
--- a/sysdeps/ia64/fpu/w_log1pf.c
+++ b/sysdeps/ia64/fpu/w_log1pf.c
@@ -1,5 +1,5 @@
/* Wrapper for __log1pf that handles setting errno.
- Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2015-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/w_log1pl.c b/sysdeps/ia64/fpu/w_log1pl.c
index 392ad6b323..d76b8f709c 100644
--- a/sysdeps/ia64/fpu/w_log1pl.c
+++ b/sysdeps/ia64/fpu/w_log1pl.c
@@ -1,5 +1,5 @@
/* Wrapper for __log1pl that handles setting errno.
- Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ Copyright (C) 2015-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/w_log2.c b/sysdeps/ia64/fpu/w_log2.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log2.c
+++ b/sysdeps/ia64/fpu/w_log2.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2_compat.c b/sysdeps/ia64/fpu/w_log2_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2f.c b/sysdeps/ia64/fpu/w_log2f.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log2f.c
+++ b/sysdeps/ia64/fpu/w_log2f.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2f_compat.c b/sysdeps/ia64/fpu/w_log2f_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2f_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2l.c b/sysdeps/ia64/fpu/w_log2l.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_log2l.c
+++ b/sysdeps/ia64/fpu/w_log2l.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log2l_compat.c b/sysdeps/ia64/fpu/w_log2l_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log2l_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_log_compat.c b/sysdeps/ia64/fpu/w_log_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_log_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logf.c b/sysdeps/ia64/fpu/w_logf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_logf.c
+++ b/sysdeps/ia64/fpu/w_logf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logf_compat.c b/sysdeps/ia64/fpu/w_logf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_logf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logl.c b/sysdeps/ia64/fpu/w_logl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_logl.c
+++ b/sysdeps/ia64/fpu/w_logl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_logl_compat.c b/sysdeps/ia64/fpu/w_logl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_logl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_pow.c b/sysdeps/ia64/fpu/w_pow.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_pow.c
+++ b/sysdeps/ia64/fpu/w_pow.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_pow_compat.c b/sysdeps/ia64/fpu/w_pow_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_pow_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powf.c b/sysdeps/ia64/fpu/w_powf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_powf.c
+++ b/sysdeps/ia64/fpu/w_powf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powf_compat.c b/sysdeps/ia64/fpu/w_powf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_powf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powl.c b/sysdeps/ia64/fpu/w_powl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_powl.c
+++ b/sysdeps/ia64/fpu/w_powl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_powl_compat.c b/sysdeps/ia64/fpu/w_powl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_powl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainder.c b/sysdeps/ia64/fpu/w_remainder.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_remainder.c
+++ b/sysdeps/ia64/fpu/w_remainder.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainder_compat.c b/sysdeps/ia64/fpu/w_remainder_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainder_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderf.c b/sysdeps/ia64/fpu/w_remainderf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_remainderf.c
+++ b/sysdeps/ia64/fpu/w_remainderf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderf_compat.c b/sysdeps/ia64/fpu/w_remainderf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainderf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderl.c b/sysdeps/ia64/fpu/w_remainderl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_remainderl.c
+++ b/sysdeps/ia64/fpu/w_remainderl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_remainderl_compat.c b/sysdeps/ia64/fpu/w_remainderl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_remainderl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalb_compat.c b/sysdeps/ia64/fpu/w_scalb_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_scalb_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalbf_compat.c b/sysdeps/ia64/fpu/w_scalbf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_scalbf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalbl_compat.c b/sysdeps/ia64/fpu/w_scalbl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_scalbl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_scalblnf.c b/sysdeps/ia64/fpu/w_scalblnf.c
index 39f55f85b8..631fc9997b 100644
--- a/sysdeps/ia64/fpu/w_scalblnf.c
+++ b/sysdeps/ia64/fpu/w_scalblnf.c
@@ -1,5 +1,5 @@
/* Wrapper for __scalblnf handles setting errno.
- Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ Copyright (C) 2014-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/fpu/w_sinh.c b/sysdeps/ia64/fpu/w_sinh.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sinh.c
+++ b/sysdeps/ia64/fpu/w_sinh.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinh_compat.c b/sysdeps/ia64/fpu/w_sinh_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinh_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhf.c b/sysdeps/ia64/fpu/w_sinhf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sinhf.c
+++ b/sysdeps/ia64/fpu/w_sinhf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhf_compat.c b/sysdeps/ia64/fpu/w_sinhf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinhf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhl.c b/sysdeps/ia64/fpu/w_sinhl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sinhl.c
+++ b/sysdeps/ia64/fpu/w_sinhl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sinhl_compat.c b/sysdeps/ia64/fpu/w_sinhl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sinhl_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrt.c b/sysdeps/ia64/fpu/w_sqrt.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sqrt.c
+++ b/sysdeps/ia64/fpu/w_sqrt.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrt_compat.c b/sysdeps/ia64/fpu/w_sqrt_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrt_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtf.c b/sysdeps/ia64/fpu/w_sqrtf.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sqrtf.c
+++ b/sysdeps/ia64/fpu/w_sqrtf.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtf_compat.c b/sysdeps/ia64/fpu/w_sqrtf_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrtf_compat.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtl.c b/sysdeps/ia64/fpu/w_sqrtl.c
index 41254ae60a..1cc8931700 100644
--- a/sysdeps/ia64/fpu/w_sqrtl.c
+++ b/sysdeps/ia64/fpu/w_sqrtl.c
@@ -1 +1 @@
-/* Not needed. */
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_sqrtl_compat.c b/sysdeps/ia64/fpu/w_sqrtl_compat.c
new file mode 100644
index 0000000000..41254ae60a
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_sqrtl_compat.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 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgamma.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgamma.S b/sysdeps/ia64/fpu/w_tgamma_compat.S
index 867815cf46..364c70f4a9 100644
--- a/sysdeps/ia64/fpu/w_tgamma.S
+++ b/sysdeps/ia64/fpu/w_tgamma_compat.S
@@ -1781,6 +1781,7 @@ tgamma_libm_err:
};;
GLOBAL_LIBM_END(tgamma)
+libm_alias_double_other (tgamma, tgamma)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/w_tgammaf.c b/sysdeps/ia64/fpu/w_tgammaf.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgammaf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgammaf.S b/sysdeps/ia64/fpu/w_tgammaf_compat.S
index 0fbd840adb..7ffc761d42 100644
--- a/sysdeps/ia64/fpu/w_tgammaf.S
+++ b/sysdeps/ia64/fpu/w_tgammaf_compat.S
@@ -1276,6 +1276,7 @@ tgammaf_libm_err:
};;
GLOBAL_LIBM_END(tgammaf)
+libm_alias_float_other (tgamma, tgamma)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/w_tgammal.c b/sysdeps/ia64/fpu/w_tgammal.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ia64/fpu/w_tgammal.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/ia64/fpu/w_tgammal.S b/sysdeps/ia64/fpu/w_tgammal_compat.S
index b10c5dc276..e71466d1d4 100644
--- a/sysdeps/ia64/fpu/w_tgammal.S
+++ b/sysdeps/ia64/fpu/w_tgammal_compat.S
@@ -4426,6 +4426,7 @@ tgammal_underflow:
GLOBAL_LIBM_END(tgammal)
+libm_alias_ldouble_other (tgamma, tgamma)
diff --git a/sysdeps/ia64/gccframe.h b/sysdeps/ia64/gccframe.h
index 26121db8bb..d458c3b051 100644
--- a/sysdeps/ia64/gccframe.h
+++ b/sysdeps/ia64/gccframe.h
@@ -1,5 +1,5 @@
/* Definition of object in frame unwind info. ia64 version.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/hp-timing.h b/sysdeps/ia64/hp-timing.h
index f97cf53648..d8d1d7bf2c 100644
--- a/sysdeps/ia64/hp-timing.h
+++ b/sysdeps/ia64/hp-timing.h
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. IA-64 version.
- Copyright (C) 2001-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
diff --git a/sysdeps/ia64/htonl.S b/sysdeps/ia64/htonl.S
index 53780763a2..3cc127546f 100644
--- a/sysdeps/ia64/htonl.S
+++ b/sysdeps/ia64/htonl.S
@@ -1,5 +1,5 @@
/* Change byte order in 32-bit value. ia64 version.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Dan Pop <Dan.Pop@cern.ch>
diff --git a/sysdeps/ia64/htons.S b/sysdeps/ia64/htons.S
index eb825ed47b..3baa6a0bd5 100644
--- a/sysdeps/ia64/htons.S
+++ b/sysdeps/ia64/htons.S
@@ -1,5 +1,5 @@
/* Change byte order in 16-bit value. ia64 version.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Dan Pop <Dan.Pop@cern.ch>
diff --git a/sysdeps/ia64/ieee754.h b/sysdeps/ia64/ieee754.h
index d4ae04ee5d..89312d01a8 100644
--- a/sysdeps/ia64/ieee754.h
+++ b/sysdeps/ia64/ieee754.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/jmpbuf-unwind.h b/sysdeps/ia64/jmpbuf-unwind.h
index 2b0499f73f..8f814d7d60 100644
--- a/sysdeps/ia64/jmpbuf-unwind.h
+++ b/sysdeps/ia64/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/sysdeps/ia64/ldsodefs.h b/sysdeps/ia64/ldsodefs.h
index f79392fe6b..4d1ce234ca 100644
--- a/sysdeps/ia64/ldsodefs.h
+++ b/sysdeps/ia64/ldsodefs.h
@@ -1,5 +1,5 @@
/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 2012-2016 Free Software Foundation, Inc.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/libc-tls.c b/sysdeps/ia64/libc-tls.c
index 5361a2ec54..ca117b9eea 100644
--- a/sysdeps/ia64/libc-tls.c
+++ b/sysdeps/ia64/libc-tls.c
@@ -1,5 +1,5 @@
/* Thread-local storage handling in the ELF dynamic linker. IA-64 version.
- Copyright (C) 2003-2016 Free Software Foundation, Inc.
+ Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/machine-gmon.h b/sysdeps/ia64/machine-gmon.h
index 5f17c1eabc..c76c567d28 100644
--- a/sysdeps/ia64/machine-gmon.h
+++ b/sysdeps/ia64/machine-gmon.h
@@ -1,5 +1,5 @@
/* Machine-specific calling sequence for `mcount' profiling function. IA-64.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
+ Copyright (C) 1995-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/math-tests.h b/sysdeps/ia64/math-tests.h
new file mode 100644
index 0000000000..81e29f5c03
--- /dev/null
+++ b/sysdeps/ia64/math-tests.h
@@ -0,0 +1,25 @@
+/* Configuration for math tests. ia64 version.
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* Before GCC 7, there is no built-in function to provide a __float128
+ sNaN, so most sNaN tests for this type cannot work. */
+#if !__GNUC_PREREQ (7, 0)
+# define SNAN_TESTS_float128 0
+#endif
+
+#include_next <math-tests.h>
diff --git a/sysdeps/ia64/memccpy.S b/sysdeps/ia64/memccpy.S
index a0a462a78e..c97d1de33c 100644
--- a/sysdeps/ia64/memccpy.S
+++ b/sysdeps/ia64/memccpy.S
@@ -1,6 +1,6 @@
/* Optimized version of the memccpy() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/memchr.S b/sysdeps/ia64/memchr.S
index 909e86b907..c52fca6109 100644
--- a/sysdeps/ia64/memchr.S
+++ b/sysdeps/ia64/memchr.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard memchr() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@@ -67,6 +67,10 @@ ENTRY(__memchr)
.body
mov ret0 = str
add last = str, in2 // last byte
+ ;;
+ cmp.ltu p6, p0 = last, str
+ ;;
+(p6) mov last = -1
and tmp = 7, str // tmp = str % 8
cmp.ne p7, p0 = r0, r0 // clear p7
extr.u chr = in1, 0, 8 // chr = (unsigned char) in1
diff --git a/sysdeps/ia64/memcmp.S b/sysdeps/ia64/memcmp.S
index ffae63fcdb..bf475b38e9 100644
--- a/sysdeps/ia64/memcmp.S
+++ b/sysdeps/ia64/memcmp.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard memcmp() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/memcpy.S b/sysdeps/ia64/memcpy.S
index f355ce48f3..3abfee91ce 100644
--- a/sysdeps/ia64/memcpy.S
+++ b/sysdeps/ia64/memcpy.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard memcpy() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop for Itanium <Dan.Pop@cern.ch>.
Rewritten for McKinley by Sverre Jarp, HP Labs/CERN <Sverre.Jarp@cern.ch>
diff --git a/sysdeps/ia64/memmove.S b/sysdeps/ia64/memmove.S
index 598dcd450e..37d7466d14 100644
--- a/sysdeps/ia64/memmove.S
+++ b/sysdeps/ia64/memmove.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard memmove() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/memset.S b/sysdeps/ia64/memset.S
index f3ac0361cf..11cc1d2fea 100644
--- a/sysdeps/ia64/memset.S
+++ b/sysdeps/ia64/memset.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard memset() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop for Itanium <Dan.Pop@cern.ch>.
Rewritten for McKinley by Sverre Jarp, HP Labs/CERN <Sverre.Jarp@cern.ch>
diff --git a/sysdeps/ia64/memusage.h b/sysdeps/ia64/memusage.h
index 33005fb3a4..f231ffd3d5 100644
--- a/sysdeps/ia64/memusage.h
+++ b/sysdeps/ia64/memusage.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/nptl/Makefile b/sysdeps/ia64/nptl/Makefile
index 48f1327446..080663185d 100644
--- a/sysdeps/ia64/nptl/Makefile
+++ b/sysdeps/ia64/nptl/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2016 Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -20,5 +20,6 @@ gen-as-const-headers += tcb-offsets.sym
endif
ifeq ($(subdir),nptl)
-libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
+libpthread-routines += sysdep sigblock sigprocmask
+libpthread-shared-only-routines += sysdep sigblock sigprocmask
endif
diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
new file mode 100644
index 0000000000..57be66cb99
--- /dev/null
+++ b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
@@ -0,0 +1,63 @@
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_PTHREADTYPES_ARCH_H
+#define _BITS_PTHREADTYPES_ARCH_H 1
+
+#define __SIZEOF_PTHREAD_ATTR_T 56
+#define __SIZEOF_PTHREAD_MUTEX_T 40
+#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
+#define __SIZEOF_PTHREAD_COND_T 48
+#define __SIZEOF_PTHREAD_CONDATTR_T 4
+#define __SIZEOF_PTHREAD_RWLOCK_T 56
+#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
+#define __SIZEOF_PTHREAD_BARRIER_T 32
+#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+
+/* Definitions for internal mutex struct. */
+#define __PTHREAD_COMPAT_PADDING_MID
+#define __PTHREAD_COMPAT_PADDING_END
+#define __PTHREAD_MUTEX_LOCK_ELISION 0
+#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
+#define __PTHREAD_MUTEX_USE_UNION 0
+
+#define __LOCK_ALIGNMENT
+#define __ONCE_ALIGNMENT
+
+/* Data structure for reader-write lock variable handling. The
+ structure of the attribute type is not exposed on purpose. */
+struct __pthread_rwlock_arch_t
+{
+ unsigned int __readers;
+ unsigned int __writers;
+ unsigned int __wrphase_futex;
+ unsigned int __writers_futex;
+ unsigned int __pad3;
+ unsigned int __pad4;
+ int __cur_writer;
+ int __shared;
+ unsigned long int __pad1;
+ unsigned long int __pad2;
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned int __flags;
+};
+
+#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
+
+#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes.h b/sysdeps/ia64/nptl/bits/pthreadtypes.h
deleted file mode 100644
index f2e6dacf98..0000000000
--- a/sysdeps/ia64/nptl/bits/pthreadtypes.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_PTHREADTYPES_H
-#define _BITS_PTHREADTYPES_H 1
-
-#define __SIZEOF_PTHREAD_ATTR_T 56
-#define __SIZEOF_PTHREAD_MUTEX_T 40
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCK_T 56
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 32
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-
-/* Thread identifiers. The structure of the attribute type is not
- exposed on purpose. */
-typedef unsigned long int pthread_t;
-
-
-union pthread_attr_t
-{
- char __size[__SIZEOF_PTHREAD_ATTR_T];
- long int __align;
-};
-#ifndef __have_pthread_attr_t
-typedef union pthread_attr_t pthread_attr_t;
-# define __have_pthread_attr_t 1
-#endif
-
-
-typedef struct __pthread_internal_list
-{
- struct __pthread_internal_list *__prev;
- struct __pthread_internal_list *__next;
-} __pthread_list_t;
-
-
-/* Data structures for mutex handling. The structure of the attribute
- type is not exposed on purpose. */
-typedef union
-{
- struct __pthread_mutex_s
- {
- int __lock;
- unsigned int __count;
- int __owner;
- unsigned int __nusers;
- /* KIND must stay at this position in the structure to maintain
- binary compatibility. */
- int __kind;
- int __spins;
- __pthread_list_t __list;
-#define __PTHREAD_MUTEX_HAVE_PREV 1
- } __data;
- char __size[__SIZEOF_PTHREAD_MUTEX_T];
- long int __align;
-} pthread_mutex_t;
-
-/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */
-#define __PTHREAD_SPINS 0
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
- int __align;
-} pthread_mutexattr_t;
-
-
-/* Data structure for conditional variable handling. The structure of
- the attribute type is not exposed on purpose. */
-typedef union
-{
- struct
- {
- int __lock;
- unsigned int __futex;
- __extension__ unsigned long long int __total_seq;
- __extension__ unsigned long long int __wakeup_seq;
- __extension__ unsigned long long int __woken_seq;
- void *__mutex;
- unsigned int __nwaiters;
- unsigned int __broadcast_seq;
- } __data;
- char __size[__SIZEOF_PTHREAD_COND_T];
- long int __align;
-} pthread_cond_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_CONDATTR_T];
- int __align;
-} pthread_condattr_t;
-
-
-/* Keys for thread-specific data */
-typedef unsigned int pthread_key_t;
-
-
-/* Once-only execution */
-typedef int pthread_once_t;
-
-
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K
-/* Data structure for read-write lock variable handling. The
- structure of the attribute type is not exposed on purpose. */
-typedef union
-{
- struct
- {
- int __lock;
- unsigned int __nr_readers;
- unsigned int __readers_wakeup;
- unsigned int __writer_wakeup;
- unsigned int __nr_readers_queued;
- unsigned int __nr_writers_queued;
- int __writer;
- int __shared;
- unsigned long int __pad1;
- unsigned long int __pad2;
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned int __flags;
- } __data;
- char __size[__SIZEOF_PTHREAD_RWLOCK_T];
- long int __align;
-} pthread_rwlock_t;
-
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
- long int __align;
-} pthread_rwlockattr_t;
-#endif
-
-
-#ifdef __USE_XOPEN2K
-/* POSIX spinlock data type. */
-typedef volatile int pthread_spinlock_t;
-
-
-/* POSIX barriers data type. The structure of the type is
- deliberately not exposed. */
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_BARRIER_T];
- long int __align;
-} pthread_barrier_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
- int __align;
-} pthread_barrierattr_t;
-#endif
-
-
-#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/ia64/nptl/bits/semaphore.h b/sysdeps/ia64/nptl/bits/semaphore.h
index 84a861e4de..8836ddedcf 100644
--- a/sysdeps/ia64/nptl/bits/semaphore.h
+++ b/sysdeps/ia64/nptl/bits/semaphore.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
diff --git a/sysdeps/ia64/nptl/pthread-offsets.h b/sysdeps/ia64/nptl/pthread-offsets.h
new file mode 100644
index 0000000000..16c6b0d9fd
--- /dev/null
+++ b/sysdeps/ia64/nptl/pthread-offsets.h
@@ -0,0 +1,5 @@
+#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
+#define __PTHREAD_MUTEX_KIND_OFFSET 16
+#define __PTHREAD_MUTEX_SPINS_OFFSET 20
+#define __PTHREAD_MUTEX_ELISION_OFFSET 22
+#define __PTHREAD_MUTEX_LIST_OFFSET 24
diff --git a/sysdeps/ia64/nptl/pthread_spin_lock.c b/sysdeps/ia64/nptl/pthread_spin_lock.c
index a38740b578..4843a6d3e5 100644
--- a/sysdeps/ia64/nptl/pthread_spin_lock.c
+++ b/sysdeps/ia64/nptl/pthread_spin_lock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/sysdeps/ia64/nptl/pthread_spin_trylock.c b/sysdeps/ia64/nptl/pthread_spin_trylock.c
index 304ac0706a..0a2beccf10 100644
--- a/sysdeps/ia64/nptl/pthread_spin_trylock.c
+++ b/sysdeps/ia64/nptl/pthread_spin_trylock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/sysdeps/ia64/nptl/pthread_spin_unlock.c b/sysdeps/ia64/nptl/pthread_spin_unlock.c
index ccdef4168e..b16dfed1ac 100644
--- a/sysdeps/ia64/nptl/pthread_spin_unlock.c
+++ b/sysdeps/ia64/nptl/pthread_spin_unlock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/sysdeps/ia64/nptl/pthreaddef.h b/sysdeps/ia64/nptl/pthreaddef.h
index 810bf419c2..09f9acf25c 100644
--- a/sysdeps/ia64/nptl/pthreaddef.h
+++ b/sysdeps/ia64/nptl/pthreaddef.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/nptl/tcb-offsets.sym b/sysdeps/ia64/nptl/tcb-offsets.sym
index e1707ab1c8..b01f712be2 100644
--- a/sysdeps/ia64/nptl/tcb-offsets.sym
+++ b/sysdeps/ia64/nptl/tcb-offsets.sym
@@ -1,7 +1,6 @@
#include <sysdep.h>
#include <tls.h>
-PID offsetof (struct pthread, pid) - TLS_PRE_TCB_SIZE
TID offsetof (struct pthread, tid) - TLS_PRE_TCB_SIZE
MULTIPLE_THREADS_OFFSET offsetof (struct pthread, header.multiple_threads) - TLS_PRE_TCB_SIZE
SYSINFO_OFFSET offsetof (tcbhead_t, __private)
diff --git a/sysdeps/ia64/nptl/tls.h b/sysdeps/ia64/nptl/tls.h
index 54fddf5952..8760ee3b3a 100644
--- a/sysdeps/ia64/nptl/tls.h
+++ b/sysdeps/ia64/nptl/tls.h
@@ -1,5 +1,5 @@
/* Definition for thread-local data handling. nptl/IA-64 version.
- Copyright (C) 2003-2016 Free Software Foundation, Inc.
+ Copyright (C) 2003-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -26,19 +26,7 @@
# include <stdint.h>
# include <stdlib.h>
# include <list.h>
-
-
-/* Type for the dtv. */
-typedef union dtv
-{
- size_t counter;
- struct
- {
- void *val;
- bool is_static;
- } pointer;
-} dtv_t;
-
+# include <dl-dtv.h>
typedef struct
{
@@ -167,6 +155,7 @@ register struct pthread *__thread_self __asm__("r13");
= THREAD_GET_POINTER_GUARD ())
/* Get and set the global scope generation counter in struct pthread. */
+#define THREAD_GSCOPE_IN_TCB 1
#define THREAD_GSCOPE_FLAG_UNUSED 0
#define THREAD_GSCOPE_FLAG_USED 1
#define THREAD_GSCOPE_FLAG_WAIT 2
diff --git a/sysdeps/ia64/sched_cpucount.c b/sysdeps/ia64/sched_cpucount.c
index 521e1a2df7..3a128a38b2 100644
--- a/sysdeps/ia64/sched_cpucount.c
+++ b/sysdeps/ia64/sched_cpucount.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/softpipe.h b/sysdeps/ia64/softpipe.h
index 2156c35fd0..684ad40471 100644
--- a/sysdeps/ia64/softpipe.h
+++ b/sysdeps/ia64/softpipe.h
@@ -1,5 +1,5 @@
/* This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/sysdeps/ia64/sotruss-lib.c b/sysdeps/ia64/sotruss-lib.c
index dd9345a535..2f3b642241 100644
--- a/sysdeps/ia64/sotruss-lib.c
+++ b/sysdeps/ia64/sotruss-lib.c
@@ -1,5 +1,5 @@
/* Override generic sotruss-lib.c to define actual functions for ia64.
- Copyright (C) 2012-2016 Free Software Foundation, Inc.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/sysdeps/ia64/stackinfo.h b/sysdeps/ia64/stackinfo.h
index 9930e25fb8..102f54bac2 100644
--- a/sysdeps/ia64/stackinfo.h
+++ b/sysdeps/ia64/stackinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,8 +27,7 @@
here. */
#define _STACK_GROWS_DOWN 1
-/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is
- * present, but it is presumed absent. */
-#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X)
+/* Default to a non-executable stack. */
+#define DEFAULT_STACK_PERMS (PF_R|PF_W)
#endif /* stackinfo.h */
diff --git a/sysdeps/ia64/start.S b/sysdeps/ia64/start.S
index 666fc48ce4..04205aa94f 100644
--- a/sysdeps/ia64/start.S
+++ b/sysdeps/ia64/start.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
diff --git a/sysdeps/ia64/strchr.S b/sysdeps/ia64/strchr.S
index c8580ee839..3a29e80b52 100644
--- a/sysdeps/ia64/strchr.S
+++ b/sysdeps/ia64/strchr.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strchr() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/strcmp.S b/sysdeps/ia64/strcmp.S
index 7f8f30719c..e4a3329987 100644
--- a/sysdeps/ia64/strcmp.S
+++ b/sysdeps/ia64/strcmp.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strcmp() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/strcpy.S b/sysdeps/ia64/strcpy.S
index 56d51a016f..5d025f6990 100644
--- a/sysdeps/ia64/strcpy.S
+++ b/sysdeps/ia64/strcpy.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strcpy() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/strlen.S b/sysdeps/ia64/strlen.S
index 87494094a9..fcf3786546 100644
--- a/sysdeps/ia64/strlen.S
+++ b/sysdeps/ia64/strlen.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strlen() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/strncmp.S b/sysdeps/ia64/strncmp.S
index fcec2303fd..33379aa083 100644
--- a/sysdeps/ia64/strncmp.S
+++ b/sysdeps/ia64/strncmp.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strncmp() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/ia64/strncpy.S b/sysdeps/ia64/strncpy.S
index b551927550..2bedbbe277 100644
--- a/sysdeps/ia64/strncpy.S
+++ b/sysdeps/ia64/strncpy.S
@@ -1,6 +1,6 @@
/* Optimized version of the standard strncpy() function.
This file is part of the GNU C Library.
- Copyright (C) 2000-2016 Free Software Foundation, Inc.
+ Copyright (C) 2000-2018 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>
and Jakub Jelinek <jakub@redhat.com>.
diff --git a/sysdeps/ia64/sysdep.h b/sysdeps/ia64/sysdep.h
index 04b05c5cb1..6066ebd1d3 100644
--- a/sysdeps/ia64/sysdep.h
+++ b/sysdeps/ia64/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
diff --git a/sysdeps/ia64/tst-audit.h b/sysdeps/ia64/tst-audit.h
index 0e98430ded..64607a09d8 100644
--- a/sysdeps/ia64/tst-audit.h
+++ b/sysdeps/ia64/tst-audit.h
@@ -1,6 +1,6 @@
/* Definitions for testing PLT entry/exit auditing. IA64 version.
- Copyright (C) 2012-2016 Free Software Foundation, Inc.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.