diff options
author | Roland McGrath <roland@gnu.org> | 2006-01-14 12:10:44 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-01-14 12:10:44 +0000 |
commit | c6251f036c35bb358459e14617e4aba892b45213 (patch) | |
tree | eaba4b3b109d385c32a7fce505a2021a97f02098 /sysdeps/ieee754 | |
parent | 7f943f4be2e5911484436d0a97841f0b96252c85 (diff) | |
download | glibc-c6251f036c35bb358459e14617e4aba892b45213.tar glibc-c6251f036c35bb358459e14617e4aba892b45213.tar.gz glibc-c6251f036c35bb358459e14617e4aba892b45213.tar.bz2 glibc-c6251f036c35bb358459e14617e4aba892b45213.zip |
* math/math.h [__NO_LONG_DOUBLE_MATH] (__nldbl_nexttowardf): New
prototype.
(nexttowardf): Redirect to __nldbl_nexttowardf.
(nexttoward): Redirect to nextafter.
(__MATHDECL_2, __MATHDECL_1): Redirect *l functions to
non-*l versions if __LONG_DOUBLE_MATH_OPTIONAL and
__NO_LONG_DOUBLE_MATH.
* math/complex.h (__MATHDECL_1): Likewise.
* math/bits/mathcalls.h (nexttoward): Don't prototype if
__LDBL_COMPAT.
* misc/sys/cdefs.h: Include <bits/wordsize.h>.
(__LDBL_COMPAT, __LDBL_REDIR1, __LDBL_REDIR, __LDBL_REDIR1_NTH,
__LDBL_REDIR_NTH, __LDBL_REDIR_DECL): New macros.
* libio/bits/stdio-ldbl.h: New file.
* libio/Makefile (headers): Add it.
* libio/stdio.h [__LDBL_COMPAT]: #include it.
* libio/bits/libio-ldbl.h: New file.
* libio/Makefile (headers): Add it.
* libio/libio.h [__LDBL_COMPAT]: #include it.
* libio/libioP.h: Include <math_ldbl_opt.h>.
* include/wchar.h (__fwprintf, __vfwprintf): Fix commented out
attribute.
(__vfwprintf_chk): New prototype. Add libc_hidden_proto.
* wcsmbs/bits/wchar-ldbl.h: New file.
* wcsmbs/Makefile (headers): Add it.
* wcsmbs/wchar.h [__LDBL_COMPAT]: #include it.
* wcsmbs/bits/wchar2.h (__vswprintf_alias): Removed.
(vswprintf): Define as a macro rather than inline function.
* stdio-common/bits/printf-ldbl.h: New file.
* stdio-common/Makefile (headers): Add it.
* stdio-common/printf.h [__LDBL_COMPAT]: #include it.
* libio/fwprintf.c: Include libioP.h.
(fwprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/fwscanf.c: Include libioP.h.
(fwscanf): Rename to __fwscanf and add ldbl_strong_alias.
* libio/iovdprintf.c (vdprintf): Use ldbl_weak_alias instead of
weak_alias.
* libio/iovsprintf.c (_IO_vsprintf): Rename to __IO_vsprintf,
add ldbl_strong_alias and use INTDEF2 instead of INTDEF.
(vsprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/iovsscanf.c (__vsscanf, vsscanf): Use ldbl_weak_alias
instead of weak_alias.
* libio/iovswscanf.c (vswscanf): Rename to __vswscanf,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* libio/obprintf.c (obstack_printf, obstack_vprintf): Use
ldbl_weak_alias instead of weak_alias.
* libio/swprintf.c: Include libioP.h.
(swprintf): Rename to __swprintf and add ldbl_strong_alias.
* libio/swscanf.c: Include libioP.h.
(swscanf): Rename to __swscanf and add ldbl_strong_alias.
* libio/vasprintf.c (vasprintf): Use ldbl_weak_alias instead of
weak_alias.
* libio/vscanf.c (vscanf): Use ldbl_weak_alias instead of
weak_alias.
* libio/vsnprintf.c (__vsnprintf, vsnprintf): Use ldbl_weak_alias
instead of weak_alias.
* libio/vswprintf.c (__vswprintf): Remove alias.
(vswprintf): Use ldbl_weak_alias instead of weak_alias.
* libio/vwprintf.c: Include libioP.h.
(vwprintf): Rename to __vwprintf and add ldbl_strong_alias.
* libio/vwscanf.c (vwscanf): Rename to __vwscanf and add
ldbl_strong_alias.
* libio/wprintf.c: Include libioP.h.
(wprintf): Rename to __wprintf and add ldbl_strong_alias.
* libio/wscanf.c: Include libioP.h.
(wscanf): Rename to __wscanf and add ldbl_strong_alias.
* stdio-common/asprintf.c (__asprintf): Rename to ___asprintf, add
ldbl_strong_alias and use INTDEF2 instead of INTDEF.
(asprintf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/dprintf.c (dprintf): Rename to __dprintf, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdio-common/fprintf.c: Include libioP.h.
(fprintf): Rename to __fprintf, add ldbl_strong_alias and
use ldbl_hidden_def instead of libc_hidden_def.
(_IO_fprintf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/fscanf.c: Include libioP.h.
(fscanf): Rename to __fscanf and add ldbl_strong_alias.
* stdio-common/printf.c: Include libioP.h.
(printf): Rename to __printf and add ldbl_strong_alias.
(_IO_printf): Use ldbl_strong_alias instead of strong_alias.
* stdio-common/printf_fp.c (__printf_fp): Rename to __printf_fp, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdio-common/printf_size.c (printf_size): Rename to __printf_size
and add ldbl_strong_alias.
* stdio-common/scanf.c (scanf): Rename to __scanf and add
ldbl_strong_alias.
* stdio-common/snprintf.c (snprintf): Use ldbl_weak_alias instead of
weak_alias.
* stdio-common/sprintf.c (sprintf): Rename to __sprintf, add
ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
(_IO_sprintf): Use ldbl_strong_alias instead of strong_alias.
* stdio-common/sscanf.c: Include libioP.h instead of iolibio.h.
(sscanf): Rename to __sscanf and add ldbl_strong_alias.
* stdio-common/vfprintf.c (vfprintf): Define to
_IO_vfprintf_internal. Use ldbl_strong_alias instead. Use
ldbl_hidden_def instead of libc_hidden_def.
(_IO_vfprintf_internal): Clear is_long_double if __ldbl_is_dbl,
handle the argument as double if it is non-zero.
(vfwprintf): Use ldbl_weak_alias instead of weak_alias.
(_IO_vfprintf): Add ldbl_strong_alias.
* stdio-common/vfscanf.c (_IO_vfscanf): Rename to
_IO_vfscanf_internal, don't use strtold if __ldbl_is_dbl, add
ldbl_strong_alias.
(vfwscanf): Use ldbl_weak_alias instead of weak_alias.
(__vfscanf): Rename to ___vfscanf, add ldbl_strong_alias and
use ldbl_hidden_def instead of libc_hidden_def.
(vfscanf): Use ldbl_weak_alias instead of weak_alias.
* stdio-common/vprintf.c: Include libioP.h.
(vprintf): Rename to __vprintf and add ldbl_strong_alias.
* debug/fprintf_chk.c (__fprintf_chk): Rename to ___fprintf_chk
and add ldbl_strong_alias.
* debug/printf_chk.c (__printf_chk): Rename to ___printf_chk
and add ldbl_strong_alias.
* debug/snprintf_chk.c: Include libioP.h.
(__snprintf_chk): Rename to ___snprintf_chk and add ldbl_strong_alias.
* debug/sprintf_chk.c: Include libioP.h.
(__sprintf_chk): Rename to ___sprintf_chk and add ldbl_strong_alias.
* debug/vfprintf_chk.c (__vfprintf_chk): Rename to ___vfprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* debug/vfwprintf_chk.c (__vfwprintf_chk): Add libc_hidden_def.
* debug/vprintf_chk.c (__vprintf_chk): Rename to ___vprintf_chk
and add ldbl_strong_alias.
* debug/vsnprintf_chk.c (__vsnprintf_chk): Rename to ___vsnprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* debug/vsprintf_chk.c (__vsprintf_chk): Rename to ___vsprintf_chk,
add ldbl_strong_alias and use ldbl_hidden_def instead of
libc_hidden_def.
* stdlib/stdlib.h (strtold): Don't define inline if [!__LDBL_COMPAT].
* wcsmbs/wchar.h (wcstold): Likewise.
* stdlib/strtod_l.c: Include math_ldbl_opt.h.
(____STRTOF_INTERNAL): Define.
(INTERNAL (__STRTOF)): Rename to ____STRTOF_INTERNAL.
(__STRTOF): Call ____STRTOF_INTERNAL instead.
[LONG_DOUBLE_COMPAT] (strtold_l, wcstold_l, __strtold_l, __wcstold_l):
Add compatibility symbols.
* stdlib/strtod.c: Include math_ldbl_opt.h.
[LONG_DOUBLE_COMPAT] (strtold, wcstold, __strtold_internal,
__wcstold_internal): Add compatibility symbols.
* stdlib/strtold.c: Include bits/wordsize.h, wchar.h.
(NEW, NEW1): Define.
(__new_strtold, __new_wcstold): New prototypes.
(____new_strtold_internal, ____new_wcstold_internal): Likewise.
Add libc_hidden_proto.
(STRTOF): Define to NEW (*told).
[__LONG_DOUBLE_MATH_OPTIONAL] (wcstold, strtold): Add
long_double_symbol.
[__LONG_DOUBLE_MATH_OPTIONAL] (__wcstold_internal,
__strtold_internal): Likewise. Add libc_hidden_ver.
* stdlib/bits/stdlib-ldbl.h: New file.
* stdlib/Makefile (headers): Add it.
* stdlib/stdlib.h [__LDBL_COMPAT]: #include it.
* include/stdlib.h (ecvt_r, fcvt_r, qecvt_r, qfcvt_r): Remove
libc_hidden_proto.
(__ecvt, __fcvt, __gcvt, __ecvt_r, __fcvt_r, __qecvt, __qfcvt,
__qgcvt, __qecvt_r, __qfcvt_r): New prototypes.
* misc/efgcvt_r.c: Include shlib-compat.h.
(LONG_DOUBLE_CVT): Define.
(__APPEND, __APPEND2): Define.
(*fcvt_r): Use __APPEND instead of APPEND. Remove libc_hidden_def.
(*ecvt_r): Likewise.
(cvt_symbol): Define. Use it on fcvt_r and ecvt_r.
* misc/efgcvt.c: Include shlib-compat.h.
(LONG_DOUBLE_CVT): Define.
(__APPEND, __APPEND2): Define.
(fcvt): Use __APPEND instead of APPEND. Remove libc_hidden_def.
(ecvt, gcvt): Likewise.
(cvt_symbol): Define. Use it on fcvt, ecvt and gcvt.
* stdlib/bits/monetary-ldbl.h: New file.
* stdlib/Makefile (headers): Add it.
* stdlib/monetary.h [__LDBL_COMPAT]: #include it.
* stdlib/strfmon.c: Include math_ldbl_opt.h.
(strfmon): Rename to __strfmon and add ldbl_strong_alias.
* stdlib/strfmon_l.c: Remove all traces of [!USE_IN_LIBIO].
(__vstrfmon_l): Don't set is_long_double if __ldbl_is_dbl.
(__strfmon_l): Rename to ___strfmon_l and add ldbl_strong_alias.
(strfmon_l): Use ldbl_weak_alias instead of weak_alias.
* misc/bits/syslog-ldbl.h: New file.
* misc/Makefile (headers): Add it.
* misc/sys/syslog.h [__LDBL_COMPAT]: #include it.
* misc/syslog.c: Include math_ldbl_opt.h.
(syslog): Rename to __syslog and add ldbl_strong_alias,
use ldbl_hidden_def instead of libc_hidden_def.
(vsyslog): Rename to __vsyslog and add ldbl_strong_alias,
use ldbl_hidden_def instead of libc_hidden_def.
* sysdeps/generic/math_ldbl_opt.h: New file.
* math/w_j1l.c (j1l, y1l): Rename to __ prefixed variants.
Add weak_alias.
* math/w_j0l.c (j0l, y0l): Likewise.
* math/w_jnl.c (jnl, ynl): Likewise.
* sysdeps/ieee754/ldbl-96/s_nexttoward.c
(__nexttowardl): Remove strong_alias.
(nexttowardl): Remove weak_alias.
* sysdeps/ieee754/ldbl-96/s_erfl.c
(__erfl, __erfcl): Remove strong_alias.
(erfl, erfcl): Remove weak_alias.
* sysdeps/ieee754/ldbl-64-128/s_asinhl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_atanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_ceill.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_copysignl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_cosl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_erfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_expm1l.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_fabsl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_finitel.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_floorl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_frexpl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_ilogbl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_isinfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_isnanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_llrintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_llroundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_log1pl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_logbl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_lrintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_lroundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_modfl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nextafterl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttoward.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_remquol.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_rintl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_roundl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_signbitl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_sincosl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_sinl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_tanhl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_tanl.c: New file.
* sysdeps/ieee754/ldbl-64-128/s_truncl.c: New file.
* sysdeps/ieee754/ldbl-64-128/strtold_l.c: New file.
* sysdeps/ieee754/ldbl-64-128/w_expl.c: New file.
* sysdeps/ieee754/ldbl-opt/configure.in: New file.
* sysdeps/ieee754/ldbl-opt/configure: New file.
* sysdeps/ieee754/ldbl-opt/Makefile: New file.
* sysdeps/ieee754/ldbl-opt/Versions: New file.
* sysdeps/ieee754/ldbl-opt/cabs.c: New file.
* sysdeps/ieee754/ldbl-opt/cabsl.c: New file.
* sysdeps/ieee754/ldbl-opt/carg.c: New file.
* sysdeps/ieee754/ldbl-opt/cargl.c: New file.
* sysdeps/ieee754/ldbl-opt/cimag.c: New file.
* sysdeps/ieee754/ldbl-opt/cimagl.c: New file.
* sysdeps/ieee754/ldbl-opt/conj.c: New file.
* sysdeps/ieee754/ldbl-opt/conjl.c: New file.
* sysdeps/ieee754/ldbl-opt/creal.c: New file.
* sysdeps/ieee754/ldbl-opt/creall.c: New file.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c: New file.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-acos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-acosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atan2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-atanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cabs.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cacos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-carg.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-casin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-casinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-catan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-catanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ccos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ceil.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cimag.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-clog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-clog10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-conj.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-copysign.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cosh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cpow.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-cproj.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-creal.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ctan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-drem.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-erf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-erfc.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-exp2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-expm1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fabs.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fdim.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-finite.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-floor.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmax.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fmod.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-frexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-gamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-hypot.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isinf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isnan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-j0.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-j1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-jn.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-llrint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-llround.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log1p.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-log2.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-logb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lrint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-lround.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-modf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-pow.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-remainder.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-remquo.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-rint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-round.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalb.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-scanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-signbit.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-significand.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sin.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sincos.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sinh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtold.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-syslog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tan.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tanh.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-trunc.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-y0.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-y1.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-yn.c: New file.
* sysdeps/ieee754/ldbl-opt/s_asinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_atan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacosh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cacosl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_casinl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_catanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cbrt.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccosh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ccosl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ceil.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cexpl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clog10l.c: New file.
* sysdeps/ieee754/ldbl-opt/s_clogl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_copysign.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cpow.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cpowl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cproj.c: New file.
* sysdeps/ieee754/ldbl-opt/s_cprojl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csinl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/s_csqrtl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ctanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_erf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_expm1.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fabs.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fdim.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fdiml.c: New file.
* sysdeps/ieee754/ldbl-opt/s_finite.c: New file.
* sysdeps/ieee754/ldbl-opt/s_floor.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fma.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmal.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmax.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmaxl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fmin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_fminl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_frexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ilogb.c: New file.
* sysdeps/ieee754/ldbl-opt/s_isinf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_isnan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ldexp.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ldexpl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_llrint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_llround.c: New file.
* sysdeps/ieee754/ldbl-opt/s_log1p.c: New file.
* sysdeps/ieee754/ldbl-opt/s_logb.c: New file.
* sysdeps/ieee754/ldbl-opt/s_lrint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_lround.c: New file.
* sysdeps/ieee754/ldbl-opt/s_modf.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nanl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nearbyint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_nextafter.c: New file.
* sysdeps/ieee754/ldbl-opt/s_remquo.c: New file.
* sysdeps/ieee754/ldbl-opt/s_rint.c: New file.
* sysdeps/ieee754/ldbl-opt/s_round.c: New file.
* sysdeps/ieee754/ldbl-opt/s_scalbln.c: New file.
* sysdeps/ieee754/ldbl-opt/s_scalbn.c: New file.
* sysdeps/ieee754/ldbl-opt/s_significand.c: New file.
* sysdeps/ieee754/ldbl-opt/s_significandl.c: New file.
* sysdeps/ieee754/ldbl-opt/s_sin.c: New file.
* sysdeps/ieee754/ldbl-opt/s_sincos.c: New file.
* sysdeps/ieee754/ldbl-opt/s_tan.c: New file.
* sysdeps/ieee754/ldbl-opt/s_tanh.c: New file.
* sysdeps/ieee754/ldbl-opt/s_trunc.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acos.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acosh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acoshl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_acosl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_asin.c: New file.
* sysdeps/ieee754/ldbl-opt/w_asinl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atan2.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atan2l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atanh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_atanhl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_cosh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_coshl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_drem.c: New file.
* sysdeps/ieee754/ldbl-opt/w_dreml.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp10.c: New file.
* sysdeps/ieee754/ldbl-opt/w_exp10l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_fmod.c: New file.
* sysdeps/ieee754/ldbl-opt/w_fmodl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_hypot.c: New file.
* sysdeps/ieee754/ldbl-opt/w_hypotl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j0.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j0l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j1.c: New file.
* sysdeps/ieee754/ldbl-opt/w_j1l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_jn.c: New file.
* sysdeps/ieee754/ldbl-opt/w_jnl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgamma_r.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgammal.c: New file.
* sysdeps/ieee754/ldbl-opt/w_lgammal_r.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log10.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log10l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log2.c: New file.
* sysdeps/ieee754/ldbl-opt/w_log2l.c: New file.
* sysdeps/ieee754/ldbl-opt/w_logl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_pow.c: New file.
* sysdeps/ieee754/ldbl-opt/w_powl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_remainder.c: New file.
* sysdeps/ieee754/ldbl-opt/w_remainderl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_scalb.c: New file.
* sysdeps/ieee754/ldbl-opt/w_scalbl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sinh.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sinhl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sqrt.c: New file.
* sysdeps/ieee754/ldbl-opt/w_sqrtl.c: New file.
* sysdeps/ieee754/ldbl-opt/w_tgamma.c: New file.
* sysdeps/ieee754/ldbl-opt/w_tgammal.c: New file.
* sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Implies: New file.
* sysdeps/sparc/sparc32/Implies: Move ldbl-128 first and flt-32
after dbl-64.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions (NLDBL_VERSION):
%define this to to GLIBC_2.4.
* sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
* sysdeps/sparc/sparc32/fpu/s_fabs.c: New file.
* sysdeps/sparc/sparc32/fpu/s_fabsf.S: New file.
* sysdeps/sparc/sparc32/fpu/s_fabsl.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoui.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_qtoux.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_qtox.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_uitoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_xtoq.c: Removed.
* sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtou.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/q_utoq.c: New file.
* sysdeps/sparc/sparc32/soft-fp/Versions: New file.
* sysdeps/sparc/fpu/bits/mathinline.h (__unordered_cmp,
__unordered_v9cmp): Define differently depending on
-m32 -mlong-double-{64,128}.
(__signbitl, sqrtl, __ieee754_sqrtl): New inlines.
* sysdeps/sparc/fpu/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
* sysdeps/sparc/sparc32/soft-fp/Makefile (sparc32-quad-routines):
Set.
(sysdep-routines): Add sparc32-quad-routines.
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Include stdlib.h.
(FP_HANDLE_EXCEPTIONS): Call ___Q_simulate_exceptions as a normal
function.
* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c (__ieee754_sqrtl): New
alias to _Q_sqrt.
* sysdeps/sparc/sparc32/soft-fp/q_div.c (_Q_div): Fix a typo.
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Include stdlib.h.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
* libio/libio.h (_IO_vfscanf, _IO_vfprintf): Remove __THROW.
(_IO_vfwscanf, _IO_vfwprintf): Likewise.
* libio/libioP.h (_IO_vdprintf): Likewise.
Diffstat (limited to 'sysdeps/ieee754')
358 files changed, 3988 insertions, 12 deletions
diff --git a/sysdeps/ieee754/ldbl-64-128/s_asinhl.c b/sysdeps/ieee754/ldbl-64-128/s_asinhl.c new file mode 100644 index 0000000000..4e8a541263 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_asinhl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_asinhl.c> +long_double_symbol (libm, __asinhl, asinhl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_atanl.c b/sysdeps/ieee754/ldbl-64-128/s_atanl.c new file mode 100644 index 0000000000..c23d14aade --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_atanl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_atanl.c> +long_double_symbol (libm, __atanl, atanl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_cbrtl.c b/sysdeps/ieee754/ldbl-64-128/s_cbrtl.c new file mode 100644 index 0000000000..ace5645277 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_cbrtl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_cbrtl.c> +long_double_symbol (libm, __cbrtl, cbrtl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_ceill.c b/sysdeps/ieee754/ldbl-64-128/s_ceill.c new file mode 100644 index 0000000000..a646494f14 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_ceill.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_ceill.c> +long_double_symbol (libm, __ceill, ceill); diff --git a/sysdeps/ieee754/ldbl-64-128/s_copysignl.c b/sysdeps/ieee754/ldbl-64-128/s_copysignl.c new file mode 100644 index 0000000000..1319584a52 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_copysignl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_copysignl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __copysignl, copysignl); +#else +long_double_symbol (libc, __copysignl, copysignl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_cosl.c b/sysdeps/ieee754/ldbl-64-128/s_cosl.c new file mode 100644 index 0000000000..6a7e2e3162 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_cosl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_cosl.c> +long_double_symbol (libm, __cosl, cosl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_erfl.c b/sysdeps/ieee754/ldbl-64-128/s_erfl.c new file mode 100644 index 0000000000..c5f9bb3ac4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_erfl.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_erfl.c> +long_double_symbol (libm, __erfl, erfl); +long_double_symbol (libm, __erfcl, erfcl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_expm1l.c b/sysdeps/ieee754/ldbl-64-128/s_expm1l.c new file mode 100644 index 0000000000..4fb186127f --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_expm1l.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_expm1l.c> +long_double_symbol (libm, __expm1l, expm1l); diff --git a/sysdeps/ieee754/ldbl-64-128/s_fabsl.c b/sysdeps/ieee754/ldbl-64-128/s_fabsl.c new file mode 100644 index 0000000000..93d81d98bc --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_fabsl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_fabsl.c> +long_double_symbol (libm, __fabsl, fabsl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_finitel.c b/sysdeps/ieee754/ldbl-64-128/s_finitel.c new file mode 100644 index 0000000000..90717a1057 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_finitel.c @@ -0,0 +1,17 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#undef hidden_def +#define hidden_def(x) +#define __finitel(arg) ___finitel(arg) +#include <sysdeps/ieee754/ldbl-128/s_finitel.c> +#undef __finitel +hidden_ver (___finitel, __finitel) +_weak_alias (___finitel, ____finitel) +#ifdef IS_IN_libm +long_double_symbol (libm, ____finitel, finitel); +long_double_symbol (libm, ___finitel, __finitel); +#else +long_double_symbol (libc, ____finitel, finitel); +long_double_symbol (libc, ___finitel, __finitel); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_floorl.c b/sysdeps/ieee754/ldbl-64-128/s_floorl.c new file mode 100644 index 0000000000..953043035e --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_floorl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_floorl.c> +long_double_symbol (libm, __floorl, floorl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c b/sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c new file mode 100644 index 0000000000..a10b6c3a1a --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c @@ -0,0 +1,10 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#define __fpclassifyl ___fpclassifyl +#undef libm_hidden_def +#define libm_hidden_def(a) +#include <sysdeps/ieee754/ldbl-128/s_fpclassifyl.c> +#undef __fpclassifyl +long_double_symbol (libm, ___fpclassifyl, __fpclassifyl); +libm_hidden_ver (___fpclassifyl, __fpclassifyl) diff --git a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c b/sysdeps/ieee754/ldbl-64-128/s_frexpl.c new file mode 100644 index 0000000000..685bbbab41 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_frexpl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_frexpl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __frexpl, frexpl); +#else +long_double_symbol (libc, __frexpl, frexpl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_ilogbl.c b/sysdeps/ieee754/ldbl-64-128/s_ilogbl.c new file mode 100644 index 0000000000..bb88082405 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_ilogbl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_ilogbl.c> +long_double_symbol (libm, __ilogbl, ilogbl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_isinfl.c b/sysdeps/ieee754/ldbl-64-128/s_isinfl.c new file mode 100644 index 0000000000..e046032b09 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_isinfl.c @@ -0,0 +1,16 @@ +#include <math_ldbl_opt.h> +#ifndef IS_IN_libm +# undef weak_alias +# define weak_alias(n,a) +# undef hidden_def +# define hidden_def(x) +# define __isinfl(arg) ___isinfl(arg) +#endif +#include <sysdeps/ieee754/ldbl-128/s_isinfl.c> +#ifndef IS_IN_libm +# undef __isinfl +hidden_ver (___isinfl, __isinfl) +_weak_alias (___isinfl, ____isinfl) +long_double_symbol (libc, ____isinfl, isinfl); +long_double_symbol (libc, ___isinfl, __isinfl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_isnanl.c b/sysdeps/ieee754/ldbl-64-128/s_isnanl.c new file mode 100644 index 0000000000..3673463ae5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_isnanl.c @@ -0,0 +1,16 @@ +#include <math_ldbl_opt.h> +#ifndef IS_IN_libm +# undef weak_alias +# define weak_alias(n,a) +# undef hidden_def +# define hidden_def(x) +# define __isnanl(arg) ___isnanl(arg) +#endif +#include <sysdeps/ieee754/ldbl-128/s_isnanl.c> +#ifndef IS_IN_libm +# undef __isnanl +hidden_ver (___isnanl, __isnanl) +_weak_alias (___isnanl, ____isnanl) +long_double_symbol (libc, ____isnanl, isnanl); +long_double_symbol (libc, ___isnanl, __isnanl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_llrintl.c b/sysdeps/ieee754/ldbl-64-128/s_llrintl.c new file mode 100644 index 0000000000..1515f3abd7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_llrintl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_llrintl.c> +long_double_symbol (libm, __llrintl, llrintl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_llroundl.c b/sysdeps/ieee754/ldbl-64-128/s_llroundl.c new file mode 100644 index 0000000000..ca35dae491 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_llroundl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_llroundl.c> +long_double_symbol (libm, __llroundl, llroundl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_log1pl.c b/sysdeps/ieee754/ldbl-64-128/s_log1pl.c new file mode 100644 index 0000000000..eebd63638a --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_log1pl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_log1pl.c> +long_double_symbol (libm, __log1pl, log1pl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_logbl.c b/sysdeps/ieee754/ldbl-64-128/s_logbl.c new file mode 100644 index 0000000000..8ba8179feb --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_logbl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_logbl.c> +long_double_symbol (libm, __logbl, logbl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_lrintl.c b/sysdeps/ieee754/ldbl-64-128/s_lrintl.c new file mode 100644 index 0000000000..56e69c94f9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_lrintl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_lrintl.c> +long_double_symbol (libm, __lrintl, lrintl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_lroundl.c b/sysdeps/ieee754/ldbl-64-128/s_lroundl.c new file mode 100644 index 0000000000..d5429e2384 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_lroundl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_lroundl.c> +long_double_symbol (libm, __lroundl, lroundl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_modfl.c b/sysdeps/ieee754/ldbl-64-128/s_modfl.c new file mode 100644 index 0000000000..c17d6690a8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_modfl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_modfl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __modfl, modfl); +#else +long_double_symbol (libc, __modfl, modfl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c b/sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c new file mode 100644 index 0000000000..a6d0a313fd --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_nearbyintl.c> +long_double_symbol (libm, __nearbyintl, nearbyintl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_nextafterl.c b/sysdeps/ieee754/ldbl-64-128/s_nextafterl.c new file mode 100644 index 0000000000..64c663eda3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_nextafterl.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_nextafterl.c> +long_double_symbol (libm, __nextafterl, nextafterl); +long_double_symbol (libm, __nexttowardl, nexttowardl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_nexttoward.c b/sysdeps/ieee754/ldbl-64-128/s_nexttoward.c new file mode 100644 index 0000000000..2968503d2e --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_nexttoward.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_nexttoward.c> +long_double_symbol (libm, __nexttoward, nexttoward); diff --git a/sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c b/sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c new file mode 100644 index 0000000000..64b9c24465 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_nexttowardf.c> +long_double_symbol (libm, __nexttowardf, nexttowardf); diff --git a/sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c b/sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c new file mode 100644 index 0000000000..d52526f719 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c @@ -0,0 +1,77 @@ +/* Single precision version of nexttoward.c. + Conversion to IEEE single float by Jakub Jelinek, jj@ultra.linux.cz. */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* IEEE functions + * __nexttowardfd(x,y) + * return the next machine floating-point number of x in the + * direction toward y. + * This is for machines which use different binary type for double and + * long double conditionally, y is long double equal to double. + * Special cases: + */ + +#include <math_ldbl_opt.h> + +float __nldbl_nexttowardf(float x, double y); + +float __nldbl_nexttowardf(float x, double y) +{ + int32_t hx,hy,ix,iy; + u_int32_t ly; + + GET_FLOAT_WORD(hx,x); + EXTRACT_WORDS(hy,ly,y); + ix = hx&0x7fffffff; /* |x| */ + iy = hy&0x7fffffff; /* |y| */ + + if((ix>0x7f800000) || /* x is nan */ + ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */ + return x+y; + if((double) x==y) return y; /* x=y, return y */ + if(ix==0) { /* x == 0 */ + float x2; + SET_FLOAT_WORD(x,(u_int32_t)(hy&0x80000000)|1);/* return +-minsub*/ + x2 = x*x; + if(x2==x) return x2; else return x; /* raise underflow flag */ + } + if(hx>=0) { /* x > 0 */ + if(hy<0||(ix>>23)>(iy>>20)-0x380 + || ((ix>>23)==(iy>>20)-0x380 + && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x > y, x -= ulp */ + hx -= 1; + else /* x < y, x += ulp */ + hx += 1; + } else { /* x < 0 */ + if(hy>=0||(ix>>23)>(iy>>20)-0x380 + || ((ix>>23)==(iy>>20)-0x380 + && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x < y, x -= ulp */ + hx -= 1; + else /* x > y, x += ulp */ + hx += 1; + } + hy = hx&0x7f800000; + if(hy>=0x7f800000) return x+x; /* overflow */ + if(hy<0x00800000) { /* underflow */ + float x2 = x*x; + if(x2!=x) { /* raise underflow flag */ + SET_FLOAT_WORD(x2,hx); + return x2; + } + } + SET_FLOAT_WORD(x,hx); + return x; +} + +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __nldbl_nexttowardf, nexttowardf, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_remquol.c b/sysdeps/ieee754/ldbl-64-128/s_remquol.c new file mode 100644 index 0000000000..16f0eb16a4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_remquol.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_remquol.c> +long_double_symbol (libm, __remquol, remquol); diff --git a/sysdeps/ieee754/ldbl-64-128/s_rintl.c b/sysdeps/ieee754/ldbl-64-128/s_rintl.c new file mode 100644 index 0000000000..19af9bbdcb --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_rintl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_rintl.c> +long_double_symbol (libm, __rintl, rintl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_roundl.c b/sysdeps/ieee754/ldbl-64-128/s_roundl.c new file mode 100644 index 0000000000..3fa99d6f2a --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_roundl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_roundl.c> +long_double_symbol (libm, __roundl, roundl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_scalblnl.c b/sysdeps/ieee754/ldbl-64-128/s_scalblnl.c new file mode 100644 index 0000000000..3143f18f6c --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_scalblnl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_scalblnl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __scalblnl, scalblnl); +#else +long_double_symbol (libc, __scalblnl, scalblnl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_scalbnl.c b/sysdeps/ieee754/ldbl-64-128/s_scalbnl.c new file mode 100644 index 0000000000..78520e9648 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_scalbnl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_scalbnl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __scalbnl, scalbnl); +#else +long_double_symbol (libc, __scalbnl, scalbnl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_signbitl.c b/sysdeps/ieee754/ldbl-64-128/s_signbitl.c new file mode 100644 index 0000000000..f66db2f651 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_signbitl.c @@ -0,0 +1,11 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#define __signbitl(arg) ___signbitl(arg) +#include <sysdeps/ieee754/ldbl-128/s_signbitl.c> +#undef __signbitl +#ifdef IS_IN_libm +long_double_symbol (libm, ___signbitl, __signbitl); +#else +long_double_symbol (libc, ___signbitl, __signbitl); +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/s_sincosl.c b/sysdeps/ieee754/ldbl-64-128/s_sincosl.c new file mode 100644 index 0000000000..ce0d4e2887 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_sincosl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_sincosl.c> +long_double_symbol (libm, __sincosl, sincosl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_sinl.c b/sysdeps/ieee754/ldbl-64-128/s_sinl.c new file mode 100644 index 0000000000..ebc20affdb --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_sinl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_sinl.c> +long_double_symbol (libm, __sinl, sinl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_tanhl.c b/sysdeps/ieee754/ldbl-64-128/s_tanhl.c new file mode 100644 index 0000000000..ede93930cd --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_tanhl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_tanhl.c> +long_double_symbol (libm, __tanhl, tanhl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_tanl.c b/sysdeps/ieee754/ldbl-64-128/s_tanl.c new file mode 100644 index 0000000000..6e635dfdc9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_tanl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_tanl.c> +long_double_symbol (libm, __tanl, tanl); diff --git a/sysdeps/ieee754/ldbl-64-128/s_truncl.c b/sysdeps/ieee754/ldbl-64-128/s_truncl.c new file mode 100644 index 0000000000..6311479d01 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/s_truncl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/s_truncl.c> +long_double_symbol (libm, __truncl, truncl); diff --git a/sysdeps/ieee754/ldbl-64-128/strtold_l.c b/sysdeps/ieee754/ldbl-64-128/strtold_l.c new file mode 100644 index 0000000000..ef8fe05759 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/strtold_l.c @@ -0,0 +1,63 @@ +/* Copyright (C) 1999, 2006 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, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <math.h> +#include <stdlib.h> +#include <wchar.h> +#include <xlocale.h> + +/* The actual implementation for all floating point sizes is in strtod.c. + These macros tell it to produce the `long double' version, `strtold'. */ + +#define FLOAT long double +#define FLT LDBL +#ifdef USE_WIDE_CHAR +extern long double ____new_wcstold_l (const wchar_t *, wchar_t **, __locale_t); +# define STRTOF __new_wcstold_l +# define __STRTOF ____new_wcstold_l +# define ____STRTOF_INTERNAL ____wcstold_l_internal +#else +extern long double ____new_strtold_l (const char *, char **, __locale_t); +# define STRTOF __new_strtold_l +# define __STRTOF ____new_strtold_l +# define ____STRTOF_INTERNAL ____strtold_l_internal +#endif +#define MPN2FLOAT __mpn_construct_long_double +#define FLOAT_HUGE_VAL HUGE_VALL +#define SET_MANTISSA(flt, mant) \ + do { union ieee854_long_double u; \ + u.d = (flt); \ + u.ieee.mantissa0 = 0x8000; \ + u.ieee.mantissa1 = 0; \ + u.ieee.mantissa2 = ((mant) >> 32); \ + u.ieee.mantissa3 = (mant) & 0xffffffff; \ + (flt) = u.d; \ + } while (0) + +#include <strtod_l.c> + +#ifdef __LONG_DOUBLE_MATH_OPTIONAL +# include <math_ldbl_opt.h> +# ifdef USE_WIDE_CHAR +long_double_symbol (libc, __new_wcstold_l, wcstold_l); +long_double_symbol (libc, ____new_wcstold_l, __wcstold_l); +# else +long_double_symbol (libc, __new_strtold_l, strtold_l); +long_double_symbol (libc, ____new_strtold_l, __strtold_l); +# endif +#endif diff --git a/sysdeps/ieee754/ldbl-64-128/w_expl.c b/sysdeps/ieee754/ldbl-64-128/w_expl.c new file mode 100644 index 0000000000..2a402b04c0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-64-128/w_expl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <sysdeps/ieee754/ldbl-128/w_expl.c> +long_double_symbol (libm, __expl, expl); diff --git a/sysdeps/ieee754/ldbl-96/s_erfl.c b/sysdeps/ieee754/ldbl-96/s_erfl.c index e026f5a516..7406c3624c 100644 --- a/sysdeps/ieee754/ldbl-96/s_erfl.c +++ b/sysdeps/ieee754/ldbl-96/s_erfl.c @@ -341,10 +341,6 @@ __erfl (x) } weak_alias (__erfl, erfl) -#ifdef NO_LONG_DOUBLE -strong_alias (__erf, __erfl) -weak_alias (__erf, erfl) -#endif #ifdef __STDC__ long double __erfcl (long double x) @@ -456,7 +452,3 @@ weak_alias (__erf, erfl) } weak_alias (__erfcl, erfcl) -#ifdef NO_LONG_DOUBLE -strong_alias (__erfc, __erfcl) -weak_alias (__erfc, erfcl) -#endif diff --git a/sysdeps/ieee754/ldbl-96/s_nexttoward.c b/sysdeps/ieee754/ldbl-96/s_nexttoward.c index 8b273af929..7945cb5cb1 100644 --- a/sysdeps/ieee754/ldbl-96/s_nexttoward.c +++ b/sysdeps/ieee754/ldbl-96/s_nexttoward.c @@ -99,7 +99,3 @@ static char rcsid[] = "$NetBSD: $"; return x; } weak_alias (__nexttoward, nexttoward) -#ifdef NO_LONG_DOUBLE -strong_alias (__nexttoward, __nexttowardl) -weak_alias (__nexttoward, nexttowardl) -#endif diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile new file mode 100644 index 0000000000..bcafb3c84a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/Makefile @@ -0,0 +1,41 @@ +# The`long double' type is a distinct type we support if +# -mlong-double-128 option is used (or when it becomes a default +# when -mlong-double-64 is not used). +long-double-fcts = yes +sysdep-CFLAGS += -mlong-double-128 + +ifeq ($(subdir),math) +libm-routines += s_nexttowardfd +routines += math_ldbl_opt nldbl-compat + +extra-libs += libnldbl +libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \ + obstack_printf obstack_vprintf printf scanf snprintf \ + sprintf sscanf swprintf swscanf vasprintf vdprintf vfprintf \ + vfscanf vfwprintf vfwscanf vprintf vscanf vsnprintf \ + vsprintf vsscanf vswprintf vswscanf vwprintf vwscanf \ + wprintf wscanf printf_fp printf_size \ + fprintf_chk fwprintf_chk printf_chk snprintf_chk sprintf_chk \ + swprintf_chk vfprintf_chk vfwprintf_chk vprintf_chk \ + vsnprintf_chk vsprintf_chk vswprintf_chk vwprintf_chk \ + wprintf_chk \ + syslog syslog_chk vsyslog vsyslog_chk \ + strfmon strfmon_l \ + strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \ + qecvt qfcvt qgcvt qecvt_r qfcvt_r \ + isinf isnan finite signbit scalb log2 lgamma_r ceil \ + significand acos asin atan atan2 cos sin tan cosh sinh \ + tanh acosh asinh atanh exp log log10 exp10 pow10 expm1 \ + log1p logb exp2 sqrt cbrt fabs floor j0 j1 y0 y1 erf erfc \ + lgamma tgamma gamma rint nearbyint round trunc \ + copysign fdim fmax fmin nextafter pow hypot fmod drem \ + remainder ldexp scalbn frexp modf scalbln fma nan sincos \ + jn yn ilogb remquo lrint lround llrint llround nexttowardf \ + nexttoward conj cacos cacosh casin catan catanh ccos ccosh \ + casinh cexp clog cproj csin csinh csqrt ctan ctanh cpow \ + cabs carg cimag creal clog10 +libnldbl-routines = $(libnldbl-calls:%=nldbl-%) +libnldbl-inhibit-o = $(object-suffixes) +libnldbl-static-only-routines = $(libnldbl-routines) + +endif diff --git a/sysdeps/ieee754/ldbl-opt/Versions b/sysdeps/ieee754/ldbl-opt/Versions new file mode 100644 index 0000000000..337db192d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/Versions @@ -0,0 +1,86 @@ +%ifndef NLDBL_VERSION +% error "CPU-specific sysdeps/.../Version file must %define NLDBL_VERSION" +%endif + +libc { + NLDBL_VERSION { + # IEEE quad long double functions (older symver is for + # IEEE double long double). + ldexpl; copysignl; finitel; frexpl; isinfl; isnanl; modfl; + __isinfl; __isnanl; __finitel; __signbitl; + scalbnl; + qecvt; qfcvt; qgcvt; qecvt_r; qfcvt_r; + + strtold; __strtold_internal; wcstold; __wcstold_internal; + __strtold_l; strtold_l; __wcstold_l; wcstold_l; + + strfmon; __strfmon_l; strfmon_l; + __nldbl_strfmon; __nldbl___strfmon_l; __nldbl_strfmon_l; + __nldbl___vstrfmon; __nldbl___vstrfmon_l; + + syslog; vsyslog; + __nldbl_syslog; __nldbl_vsyslog; + __nldbl___syslog_chk; __nldbl___vsyslog_chk; + + # *printf* family, using IEEE quad long double + __asprintf; asprintf; dprintf; fprintf; fwprintf; _IO_fprintf; + _IO_printf; _IO_sprintf; _IO_vfprintf; _IO_vsprintf; obstack_printf; + obstack_vprintf; printf; __printf_fp; printf_size; snprintf; sprintf; + swprintf; vasprintf; vdprintf; vfprintf; vfwprintf; vprintf; vsnprintf; + __vsnprintf; vsprintf; vswprintf; vwprintf; wprintf; + + # *printf* family, using IEEE double as long double + # The standard functions are __REDIRECTed to these if -mlong-double-64 + __nldbl___asprintf; __nldbl_asprintf; __nldbl_dprintf; __nldbl_fprintf; + __nldbl_fwprintf; __nldbl__IO_fprintf; __nldbl__IO_printf; + __nldbl__IO_sprintf; __nldbl__IO_vfprintf; __nldbl__IO_vsprintf; + __nldbl_obstack_printf; __nldbl_obstack_vprintf; __nldbl_printf; + __nldbl___printf_fp; __nldbl_printf_size; __nldbl_snprintf; + __nldbl_sprintf; __nldbl_swprintf; __nldbl_vasprintf; __nldbl_vdprintf; + __nldbl_vfprintf; __nldbl_vfwprintf; __nldbl_vprintf; __nldbl_vsnprintf; + __nldbl___vsnprintf; __nldbl_vsprintf; __nldbl_vswprintf; + __nldbl_vwprintf; __nldbl_wprintf; + + # *scanf family, using IEEE quad long double + _IO_sscanf; _IO_vfscanf; __vfscanf; __vsscanf; fscanf; fwscanf; scanf; + sscanf; swscanf; vfscanf; vfwscanf; vscanf; vsscanf; vswscanf; vwscanf; + wscanf; + + # *scanf family, using IEEE double as long double + __nldbl__IO_sscanf; __nldbl__IO_vfscanf; __nldbl___vfscanf; + __nldbl___vsscanf; __nldbl_fscanf; __nldbl_fwscanf; __nldbl_scanf; + __nldbl_sscanf; __nldbl_swscanf; __nldbl_vfscanf; __nldbl_vfwscanf; + __nldbl_vscanf; __nldbl_vsscanf; __nldbl_vswscanf; __nldbl_vwscanf; + __nldbl_wscanf; + + # checking versions, using IEEE quad long double + __sprintf_chk; __vsprintf_chk; __snprintf_chk; __vsnprintf_chk; + __printf_chk; __fprintf_chk; __vprintf_chk; __vfprintf_chk; + + # checking versions, using IEEE double as long double + __nldbl___sprintf_chk; __nldbl___vsprintf_chk; __nldbl___snprintf_chk; + __nldbl___vsnprintf_chk; __nldbl___printf_chk; __nldbl___fprintf_chk; + __nldbl___vprintf_chk; __nldbl___vfprintf_chk; + __nldbl___swprintf_chk; __nldbl___vswprintf_chk; __nldbl___fwprintf_chk; + __nldbl___wprintf_chk; __nldbl___vfwprintf_chk; __nldbl___vwprintf_chk; + } +} +libm { + NLDBL_VERSION { + # IEEE quad long double functions (older symver is for + # IEEE double as long double). + cabsl; cargl; cimagl; conjl; creall; cacosl; cacoshl; casinl; + catanl; catanhl; ccosl; ccoshl; casinhl; cexpl; clogl; __clog10l; + clog10l; cpowl; cprojl; csinl; csinhl; csqrtl; ctanl; ctanhl; + fdiml; fmal; fmaxl; fminl; ldexpl; nanl; nextafterl; nexttowardl; + significandl; acosl; acoshl; asinl; atan2l; atanhl; coshl; dreml; + exp10l; pow10l; exp2l; fmodl; hypotl; j0l; y0l; j1l; y1l; jnl; ynl; + lgammal; gammal; lgammal_r; logl; log10l; log2l; powl; remainderl; + scalbl; sinhl; sqrtl; tgammal; asinhl; atanl; cbrtl; ceill; copysignl; + erfl; erfcl; expm1l; fabsl; finitel; floorl; frexpl; ilogbl; + llrintl; llroundl; log1pl; logbl; lrintl; lroundl; modfl; + nearbyintl; remquol; rintl; roundl; scalblnl; scalbnl; sinl; cosl; + sincosl; tanl; tanhl; truncl; expl; __finitel; __signbitl; + __fpclassifyl; nexttowardf; nexttoward; __nldbl_nexttowardf; + } +} diff --git a/sysdeps/ieee754/ldbl-opt/cabs.c b/sysdeps/ieee754/ldbl-opt/cabs.c new file mode 100644 index 0000000000..a181de2fa8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/cabs.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/cabs.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cabs, cabsl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/cabsl.c b/sysdeps/ieee754/ldbl-opt/cabsl.c new file mode 100644 index 0000000000..b861633544 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/cabsl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/cabsl.c> +long_double_symbol (libm, __cabsl, cabsl); diff --git a/sysdeps/ieee754/ldbl-opt/carg.c b/sysdeps/ieee754/ldbl-opt/carg.c new file mode 100644 index 0000000000..2ed358113c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/carg.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/carg.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __carg, cargl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/cargl.c b/sysdeps/ieee754/ldbl-opt/cargl.c new file mode 100644 index 0000000000..952dc60664 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/cargl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/cargl.c> +long_double_symbol (libm, __cargl, cargl); diff --git a/sysdeps/ieee754/ldbl-opt/cimag.c b/sysdeps/ieee754/ldbl-opt/cimag.c new file mode 100644 index 0000000000..f8052581b3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/cimag.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/cimag.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cimag, cimagl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/cimagl.c b/sysdeps/ieee754/ldbl-opt/cimagl.c new file mode 100644 index 0000000000..112365e3ae --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/cimagl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/cimagl.c> +long_double_symbol (libm, __cimagl, cimagl); diff --git a/sysdeps/ieee754/ldbl-opt/configure b/sysdeps/ieee754/ldbl-opt/configure new file mode 100755 index 0000000000..05b1447bea --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/configure @@ -0,0 +1,22 @@ +# This file is generated from configure.in by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/ieee754/ldbl-opt/. + +echo "$as_me:$LINENO: checking whether $CC $CFLAGS -mlong-double-128" >&5 +echo $ECHO_N "checking whether $CC $CFLAGS -mlong-double-128... $ECHO_C" >&6 +if test "${libc_cv_mlong_double_128+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if $CC $CFLAGS -mlong-double-128 -S -xc /dev/null -o /dev/null 2>&1 +then + libc_cv_mlong_double_128=yes +else + libc_cv_mlong_double_128=no +fi +fi +echo "$as_me:$LINENO: result: $libc_cv_mlong_double_128" >&5 +echo "${ECHO_T}$libc_cv_mlong_double_128" >&6 +if test "$libc_cv_mlong_double_128" = no; then + { { echo "$as_me:$LINENO: error: this configuration requires -mlong-double-128 support" >&5 +echo "$as_me: error: this configuration requires -mlong-double-128 support" >&2;} + { (exit 1); exit 1; }; } +fi diff --git a/sysdeps/ieee754/ldbl-opt/configure.in b/sysdeps/ieee754/ldbl-opt/configure.in new file mode 100644 index 0000000000..bc9d29908f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/configure.in @@ -0,0 +1,15 @@ +sinclude(./aclocal.m4)dnl Autoconf lossage +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/ieee754/ldbl-opt/. + +AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128, + libc_cv_mlong_double_128, [dnl +if $CC $CFLAGS -mlong-double-128 -S -xc /dev/null -o /dev/null 2>&1 +then + libc_cv_mlong_double_128=yes +else + libc_cv_mlong_double_128=no +fi]) +if test "$libc_cv_mlong_double_128" = no; then + AC_MSG_ERROR([this configuration requires -mlong-double-128 support]) +fi diff --git a/sysdeps/ieee754/ldbl-opt/conj.c b/sysdeps/ieee754/ldbl-opt/conj.c new file mode 100644 index 0000000000..e4edade05e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/conj.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/conj.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __conj, conjl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/conjl.c b/sysdeps/ieee754/ldbl-opt/conjl.c new file mode 100644 index 0000000000..c98e0ed1c3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/conjl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/conjl.c> +long_double_symbol (libm, __conjl, conjl); diff --git a/sysdeps/ieee754/ldbl-opt/creal.c b/sysdeps/ieee754/ldbl-opt/creal.c new file mode 100644 index 0000000000..0d1c93e640 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/creal.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/creal.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __creal, creall, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/creall.c b/sysdeps/ieee754/ldbl-opt/creall.c new file mode 100644 index 0000000000..68fedd4ccd --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/creall.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/creall.c> +long_double_symbol (libm, __creall, creall); diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c new file mode 100644 index 0000000000..49c5c1249b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c @@ -0,0 +1,3 @@ +/* Set temporarily to non-zero if long double should be considered + the same as double. */ +__thread int __no_long_double attribute_tls_model_ie attribute_hidden; diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h new file mode 100644 index 0000000000..c37ed861dc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h @@ -0,0 +1,43 @@ +/* -mlong-double-64 compatibility mode macros. */ + +#ifndef NLDBL_VERSION +# define NLDBL_VERSION GLIBC_2_4 +#endif + +#include <math.h> +#include <math/math_private.h> +#include <shlib-compat.h> +#define LONG_DOUBLE_COMPAT(lib, introduced) \ + SHLIB_COMPAT(lib, introduced, NLDBL_VERSION) +#define long_double_symbol(lib, local, symbol) \ + long_double_symbol_1 (lib, local, symbol, NLDBL_VERSION) +#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING +# define ldbl_hidden_def(local, name) libc_hidden_ver (local, name) +# define ldbl_strong_alias(name, aliasname) \ + strong_alias (name, __GL_##name##_##aliasname) \ + long_double_symbol (libc, __GL_##name##_##aliasname, aliasname); +# define ldbl_weak_alias(name, aliasname) \ + weak_alias (name, __GL_##name##_##aliasname) \ + long_double_symbol (libc, __GL_##name##_##aliasname, aliasname); +# define long_double_symbol_1(lib, local, symbol, version) \ + versioned_symbol (lib, local, symbol, version) +#elif defined HAVE_WEAK_SYMBOLS +# define ldbl_hidden_def(local, name) libc_hidden_def (name) +# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname) +# define ldbl_weak_alias(name, aliasname) weak_alias (name, aliasname) +/* Note that weak_alias cannot be used - it is defined to nothing + in most of the files. */ +# define long_double_symbol_1(lib, local, symbol, version) \ + _weak_alias (local, symbol) +#else +# define ldbl_hidden_def(local, name) libc_hidden_def (name) +# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname) +# define ldbl_weak_alias(name, aliasname) strong_alias (name, aliasname) +# define long_double_symbol_1(lib, local, symbol, version) \ + strong_alias (local, symbol) +#endif + +/* Set temporarily to non-zero if long double should be considered + the same as double. */ +extern __thread int __no_long_double attribute_tls_model_ie attribute_hidden; +#define __ldbl_is_dbl __builtin_expect (__no_long_double, 0) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-acos.c b/sysdeps/ieee754/ldbl-opt/nldbl-acos.c new file mode 100644 index 0000000000..813a17e9d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-acos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +acosl (double x) +{ + return acos (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c b/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c new file mode 100644 index 0000000000..75508e30d7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +acoshl (double x) +{ + return acosh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-asin.c b/sysdeps/ieee754/ldbl-opt/nldbl-asin.c new file mode 100644 index 0000000000..5bbe6cd992 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-asin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +asinl (double x) +{ + return asin (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c b/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c new file mode 100644 index 0000000000..956046e739 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c @@ -0,0 +1,7 @@ +#include "nldbl-compat.h" + +double +asinhl (double x) +{ + return asinh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c new file mode 100644 index 0000000000..8932781bf2 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +__asprintf (char **string_ptr, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vasprintf (string_ptr, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (__asprintf) asprintf attribute_hidden; +weak_alias (__asprintf, asprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-atan.c b/sysdeps/ieee754/ldbl-opt/nldbl-atan.c new file mode 100644 index 0000000000..2849e48d03 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-atan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atanl (double x) +{ + return atan (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c b/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c new file mode 100644 index 0000000000..d4e5a91702 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atan2l (double x, double y) +{ + return atan2 (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c b/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c new file mode 100644 index 0000000000..82b54ca6d4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atanhl (double x) +{ + return atanh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c b/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c new file mode 100644 index 0000000000..837822d2d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cabsl (double _Complex x) +{ + return cabs (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c b/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c new file mode 100644 index 0000000000..d935b511b4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cacosl (double _Complex x) +{ + return cacos (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c b/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c new file mode 100644 index 0000000000..67f994b849 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cacoshl (double _Complex x) +{ + return cacosh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-carg.c b/sysdeps/ieee754/ldbl-opt/nldbl-carg.c new file mode 100644 index 0000000000..bfff141c11 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-carg.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cargl (double _Complex x) +{ + return carg (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-casin.c b/sysdeps/ieee754/ldbl-opt/nldbl-casin.c new file mode 100644 index 0000000000..310aa0ac21 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-casin.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +casinl (double _Complex x) +{ + return casin (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c b/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c new file mode 100644 index 0000000000..71b466ea22 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +casinhl (double _Complex x) +{ + return casinh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-catan.c b/sysdeps/ieee754/ldbl-opt/nldbl-catan.c new file mode 100644 index 0000000000..ea5f528ee5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-catan.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +catanl (double _Complex x) +{ + return catan (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c b/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c new file mode 100644 index 0000000000..e6f58aa048 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +catanhl (double _Complex x) +{ + return catanh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c b/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c new file mode 100644 index 0000000000..1c353a6e6b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +cbrtl (double x) +{ + return cbrt (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c b/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c new file mode 100644 index 0000000000..0e1c2e70f3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ccosl (double _Complex x) +{ + return ccos (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c b/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c new file mode 100644 index 0000000000..da2bf580af --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ccoshl (double _Complex x) +{ + return ccosh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c b/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c new file mode 100644 index 0000000000..a8fc3d548a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ceill (double x) +{ + return ceil (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c b/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c new file mode 100644 index 0000000000..f1837afc28 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cexpl (double _Complex x) +{ + return cexp (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c b/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c new file mode 100644 index 0000000000..fffbdd58ec --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cimagl (double _Complex x) +{ + return cimag (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-clog.c b/sysdeps/ieee754/ldbl-opt/nldbl-clog.c new file mode 100644 index 0000000000..ecbae7ba91 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-clog.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +clogl (double _Complex x) +{ + return clog (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c b/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c new file mode 100644 index 0000000000..193f40104a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c @@ -0,0 +1,11 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +clog10l (double _Complex x) +{ + return clog10 (x); +} +extern __typeof (clog10l) __clog10l attribute_hidden; +weak_alias (clog10l, __clog10l) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-compat.c b/sysdeps/ieee754/ldbl-opt/nldbl-compat.c new file mode 100644 index 0000000000..f82c5f60bb --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-compat.c @@ -0,0 +1,852 @@ +/* *printf* family compatibility routines for IEEE double as long double + Copyright (C) 2006 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@cygnus.com>, 2006. + + 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, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <stdarg.h> +#include <stdio.h> +#include <libioP.h> +#include <wchar.h> +#include <printf.h> +#include <monetary.h> +#include <locale/localeinfo.h> +#include <sys/syslog.h> +#include <bits/libc-lock.h> + +#include "nldbl-compat.h" + +libc_hidden_proto (__nldbl_vfprintf) +libc_hidden_proto (__nldbl_vsscanf) +libc_hidden_proto (__nldbl_vsprintf) +libc_hidden_proto (__nldbl_vfscanf) +libc_hidden_proto (__nldbl_vfwscanf) +libc_hidden_proto (__nldbl_vdprintf) +libc_hidden_proto (__nldbl_vswscanf) +libc_hidden_proto (__nldbl_vfwprintf) +libc_hidden_proto (__nldbl_vswprintf) +libc_hidden_proto (__nldbl_vsnprintf) +libc_hidden_proto (__nldbl_vasprintf) +libc_hidden_proto (__nldbl_obstack_vprintf) +libc_hidden_proto (__nldbl___vfwprintf_chk) +libc_hidden_proto (__nldbl___vsnprintf_chk) +libc_hidden_proto (__nldbl___vfprintf_chk) +libc_hidden_proto (__nldbl___vsyslog_chk) +libc_hidden_proto (__nldbl___vsprintf_chk) +libc_hidden_proto (__nldbl___vswprintf_chk) +libc_hidden_proto (__nldbl___vstrfmon) +libc_hidden_proto (__nldbl___vstrfmon_l) + +static void +__nldbl_cleanup (void *arg) +{ + __no_long_double = 0; +} + +#define set_no_long_double() \ + __libc_cleanup_push (__nldbl_cleanup, NULL); __no_long_double = 1 +#define clear_no_long_double() \ + __no_long_double = 0; __libc_cleanup_pop (0) + +/* Compatibility with IEEE double as long double. + IEEE quad long double is used by default for most programs, so + we don't need to split this into one file per function for the + sake of statically linked programs. */ + +int +attribute_compat_text_section +__nldbl___asprintf (char **string_ptr, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vasprintf (string_ptr, fmt, arg); + va_end (arg); + + return done; +} +weak_alias (__nldbl___asprintf, __nldbl_asprintf) + +int +attribute_compat_text_section +__nldbl_dprintf (int d, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vdprintf (d, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_fprintf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stream, fmt, arg); + va_end (arg); + + return done; +} +weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) + +int +attribute_compat_text_section weak_function +__nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_printf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_printf, __nldbl__IO_printf) + +int +attribute_compat_text_section +__nldbl_sprintf (char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsprintf (s, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_sprintf, __nldbl__IO_sprintf) + +int +attribute_compat_text_section +__nldbl_vfprintf (FILE *s, const char *fmt, va_list ap) +{ + int done; + set_no_long_double (); + done = INTUSE(_IO_vfprintf) (s, fmt, ap); + clear_no_long_double (); + return done; +} +libc_hidden_def (__nldbl_vfprintf) +strong_alias (__nldbl_vfprintf, __nldbl__IO_vfprintf) + +int +attribute_compat_text_section +__nldbl__IO_vsprintf (char *string, const char *fmt, va_list ap) +{ + int done; + __no_long_double = 1; + done = INTUSE(_IO_vsprintf) (string, fmt, ap); + __no_long_double = 0; + return done; +} +weak_alias (__nldbl__IO_vsprintf, __nldbl_vsprintf) +libc_hidden_def (__nldbl_vsprintf) + +int +attribute_compat_text_section +__nldbl_obstack_vprintf (struct obstack *obstack, const char *fmt, + va_list ap) +{ + int done; + __no_long_double = 1; + done = _IO_obstack_vprintf (obstack, fmt, ap); + __no_long_double = 0; + return done; +} +libc_hidden_def (__nldbl_obstack_vprintf) + +int +attribute_compat_text_section +__nldbl_obstack_printf (struct obstack *obstack, const char *fmt, ...) +{ + int result; + va_list ap; + va_start (ap, fmt); + result = __nldbl_obstack_vprintf (obstack, fmt, ap); + va_end (ap); + return result; +} + +int +attribute_compat_text_section weak_function +__nldbl_snprintf (char *s, size_t maxlen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsnprintf (s, maxlen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswprintf (s, n, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section weak_function +__nldbl_vasprintf (char **result_ptr, const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vasprintf (result_ptr, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vasprintf) + +int +attribute_compat_text_section +__nldbl_vdprintf (int d, const char *fmt, va_list arg) +{ + int res; + set_no_long_double (); + res = _IO_vdprintf (d, fmt, arg); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vdprintf) + +int +attribute_compat_text_section weak_function +__nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = _IO_vfwprintf (s, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vfwprintf) + +int +attribute_compat_text_section +__nldbl_vprintf (const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (stdout, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_vsnprintf (char *string, size_t maxlen, const char *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vsnprintf (string, maxlen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vsnprintf) +weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) + +int +attribute_compat_text_section weak_function +__nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vswprintf (string, maxlen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vswprintf) + +int +attribute_compat_text_section +__nldbl_vwprintf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (stdout, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_wprintf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl__IO_vfscanf (FILE *s, const char *fmt, _IO_va_list ap, + int *errp) +{ + int res; + set_no_long_double (); + res = INTUSE(_IO_vfscanf) (s, fmt, ap, errp); + clear_no_long_double (); + return res; +} + +int +attribute_compat_text_section +__nldbl___vfscanf (FILE *s, const char *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = INTUSE(_IO_vfscanf) (s, fmt, ap, NULL); + clear_no_long_double (); + return res; +} +weak_alias (__nldbl___vfscanf, __nldbl_vfscanf) +libc_hidden_def (__nldbl_vfscanf) + +int +attribute_compat_text_section +__nldbl_sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_sscanf, __nldbl__IO_sscanf) + +int +attribute_compat_text_section +__nldbl___vsscanf (const char *string, const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vsscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +weak_alias (__nldbl___vsscanf, __nldbl_vsscanf) +libc_hidden_def (__nldbl_vsscanf) + +int +attribute_compat_text_section weak_function +__nldbl_vscanf (const char *fmt, va_list ap) +{ + return __nldbl_vfscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = _IO_vfwscanf (s, fmt, ap, NULL); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vfwscanf) + +int +attribute_compat_text_section +__nldbl_swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_vswscanf (const wchar_t *string, const wchar_t *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = vswscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vswscanf) + +int +attribute_compat_text_section weak_function +__nldbl_vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___fprintf_chk (FILE *stream, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___printf_chk (int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___snprintf_chk (char *s, size_t maxlen, int flag, size_t slen, + const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsnprintf_chk (s, maxlen, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___sprintf_chk (char *s, int flag, size_t slen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsprintf_chk (s, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, + const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vswprintf_chk (s, n, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___vfprintf_chk (FILE *s, int flag, const char *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __vfprintf_chk (s, flag, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___vfprintf_chk) + +int +attribute_compat_text_section +__nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __vfwprintf_chk (s, flag, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___vfwprintf_chk) + +int +attribute_compat_text_section +__nldbl___vprintf_chk (int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (stdout, flag, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___vsnprintf_chk (char *string, size_t maxlen, int flag, size_t slen, + const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = __vsnprintf_chk (string, maxlen, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vsnprintf_chk) + +int +attribute_compat_text_section +__nldbl___vsprintf_chk (char *string, int flag, size_t slen, const char *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = __vsprintf_chk (string, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vsprintf_chk) + +int +attribute_compat_text_section +__nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, + const wchar_t *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = __vswprintf_chk (string, maxlen, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vswprintf_chk) + +int +attribute_compat_text_section +__nldbl___vwprintf_chk (int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (stdout, flag, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___wprintf_chk (int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} + +extern __typeof (printf_size) __printf_size; + +int +attribute_compat_text_section +__nldbl_printf_size (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + struct printf_info info_no_ldbl = *info; + + info_no_ldbl.is_long_double = 0; + return __printf_size (fp, &info_no_ldbl, args); +} + +extern __typeof (__printf_fp) ___printf_fp; + +int +attribute_compat_text_section +__nldbl___printf_fp (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + struct printf_info info_no_ldbl = *info; + + info_no_ldbl.is_long_double = 0; + return ___printf_fp (fp, &info_no_ldbl, args); +} + +ssize_t +attribute_compat_text_section +__nldbl_strfmon (char *s, size_t maxsize, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon (s, maxsize, format, ap); + va_end (ap); + return res; +} + +ssize_t +attribute_compat_text_section +__nldbl___strfmon_l (char *s, size_t maxsize, __locale_t loc, + const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon_l (s, maxsize, loc, format, ap); + va_end (ap); + return res; +} +weak_alias (__nldbl___strfmon_l, __nldbl_strfmon_l) + +ssize_t +attribute_compat_text_section +__nldbl___vstrfmon (char *s, size_t maxsize, const char *format, va_list ap) +{ + ssize_t res; + __no_long_double = 1; + res = __vstrfmon_l (s, maxsize, _NL_CURRENT_LOCALE, format, ap); + __no_long_double = 0; + va_end (ap); + return res; +} +libc_hidden_def (__nldbl___vstrfmon) + +ssize_t +attribute_compat_text_section +__nldbl___vstrfmon_l (char *s, size_t maxsize, __locale_t loc, + const char *format, va_list ap) +{ + ssize_t res; + __no_long_double = 1; + res = __vstrfmon_l (s, maxsize, loc, format, ap); + __no_long_double = 0; + va_end (ap); + return res; +} +libc_hidden_def (__nldbl___vstrfmon_l) + +void +attribute_compat_text_section +__nldbl_syslog (int pri, const char *fmt, ...) +{ + va_list ap; + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, -1, fmt, ap); + va_end (ap); +} + +void +attribute_compat_text_section +__nldbl___syslog_chk (int pri, int flag, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, flag, fmt, ap); + va_end(ap); +} + +void +attribute_compat_text_section +__nldbl___vsyslog_chk (int pri, int flag, const char *fmt, va_list ap) +{ + set_no_long_double (); + __vsyslog_chk (pri, flag, fmt, ap); + clear_no_long_double (); +} +libc_hidden_def (__nldbl___vsyslog_chk) + +void +attribute_compat_text_section +__nldbl_vsyslog (int pri, const char *fmt, va_list ap) +{ + __nldbl___vsyslog_chk (pri, -1, fmt, ap); +} + +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __nldbl__IO_printf, _IO_printf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_sprintf, _IO_sprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vfprintf, _IO_vfprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vsprintf, _IO_vsprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_dprintf, dprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_fprintf, fprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_printf, printf, GLIBC_2_0); +compat_symbol (libc, __nldbl_sprintf, sprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vfprintf, vfprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vprintf, vprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_fprintf, _IO_fprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vsnprintf, __vsnprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_asprintf, asprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_obstack_printf, obstack_printf, GLIBC_2_0); +compat_symbol (libc, __nldbl_obstack_vprintf, obstack_vprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_snprintf, snprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vasprintf, vasprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vdprintf, vdprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsnprintf, vsnprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsprintf, vsprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_sscanf, _IO_sscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vfscanf, _IO_vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vfscanf, __vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vsscanf, __vsscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_fscanf, fscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_scanf, scanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_sscanf, sscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vfscanf, vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vscanf, vscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsscanf, vsscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___printf_fp, __printf_fp, GLIBC_2_0); +compat_symbol (libc, __nldbl_strfmon, strfmon, GLIBC_2_0); +compat_symbol (libc, __nldbl_syslog, syslog, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsyslog, vsyslog, GLIBC_2_0); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_1) +compat_symbol (libc, __nldbl___asprintf, __asprintf, GLIBC_2_1); +compat_symbol (libc, __nldbl_printf_size, printf_size, GLIBC_2_1); +compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) +compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_fwprintf, fwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vfwprintf, vfwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vswprintf, vswprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_fwscanf, fwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_swscanf, swscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vfwscanf, vfwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vswscanf, vswscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vwscanf, vwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_wscanf, wscanf, GLIBC_2_2); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_3) +compat_symbol (libc, __nldbl_strfmon_l, strfmon_l, GLIBC_2_3); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_3_4) +compat_symbol (libc, __nldbl___sprintf_chk, __sprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vsprintf_chk, __vsprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___snprintf_chk, __snprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vsnprintf_chk, __vsnprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___printf_chk, __printf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___fprintf_chk, __fprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vprintf_chk, __vprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vfprintf_chk, __vfprintf_chk, GLIBC_2_3_4); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-compat.h b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h new file mode 100644 index 0000000000..8d74d2f391 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-compat.h @@ -0,0 +1,86 @@ +/* Prototypes for compatibility double == long double entry points. + Copyright (C) 2006 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@cygnus.com>, 2006. + + 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, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef __NLDBL_COMPAT_H +#define __NLDBL_COMPAT_H 1 + +/* Avoid long double prototypes. */ +#define __NO_LONG_DOUBLE_MATH 1 +#include <stdarg.h> +#include <stdlib.h> +#include <stdio.h> +#include <printf.h> +#include <wchar.h> +#include <math.h> +#include <monetary.h> +#include <sys/syslog.h> + +#define NLDBL_DECL(name) \ + extern __typeof (#name) __nldbl_##name attribute_hidden + +NLDBL_DECL (_IO_vfscanf); +NLDBL_DECL (vfscanf); +NLDBL_DECL (vfwscanf); +NLDBL_DECL (obstack_vprintf) __THROW; +NLDBL_DECL (vasprintf) __THROW; +NLDBL_DECL (dprintf); +NLDBL_DECL (vdprintf); +NLDBL_DECL (fprintf); +NLDBL_DECL (vfprintf); +NLDBL_DECL (vfwprintf); +NLDBL_DECL (vsnprintf) __THROW; +NLDBL_DECL (vsprintf) __THROW; +NLDBL_DECL (vsscanf) __THROW; +NLDBL_DECL (vswprintf) __THROW; +NLDBL_DECL (vswscanf) __THROW; +NLDBL_DECL (__asprintf); +NLDBL_DECL (asprintf); +NLDBL_DECL (__printf_fp); +NLDBL_DECL (printf_size) __THROW; +NLDBL_DECL (syslog); +NLDBL_DECL (vsyslog); +NLDBL_DECL (qecvt); +NLDBL_DECL (qfcvt); +NLDBL_DECL (qgcvt); +extern int __nldbl___vfprintf_chk (FILE *__restrict, int, + const char *__restrict, _G_va_list) + attribute_hidden; +extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, + const wchar_t *__restrict, __gnuc_va_list) + attribute_hidden; +extern int __nldbl___vsprintf_chk (char *__restrict, int, size_t, + const char *__restrict, _G_va_list) __THROW + attribute_hidden; +extern int __nldbl___vsnprintf_chk (char *__restrict, size_t, int, size_t, + const char *__restrict, _G_va_list) + __THROW attribute_hidden; +extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, + const wchar_t *__restrict, __gnuc_va_list) + __THROW attribute_hidden; +extern void __nldbl___vsyslog_chk (int, int, const char *, va_list) + attribute_hidden; +extern ssize_t __nldbl___vstrfmon (char *, size_t, const char *, va_list) + __THROW attribute_hidden; +extern ssize_t __nldbl___vstrfmon_l (char *, size_t, __locale_t, + const char *, va_list) + __THROW attribute_hidden; + + +#endif /* __NLDBL_COMPAT_H */ diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-conj.c b/sysdeps/ieee754/ldbl-opt/nldbl-conj.c new file mode 100644 index 0000000000..8927ea9968 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-conj.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +conjl (double _Complex x) +{ + return conj (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c b/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c new file mode 100644 index 0000000000..ef23badecc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +copysignl (double x, double y) +{ + return copysign (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cos.c b/sysdeps/ieee754/ldbl-opt/nldbl-cos.c new file mode 100644 index 0000000000..08738af048 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +cosl (double x) +{ + return cos (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c b/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c new file mode 100644 index 0000000000..0ab834ffd9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +coshl (double x) +{ + return cosh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c b/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c new file mode 100644 index 0000000000..709e7d73b1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cpowl (double _Complex x, double _Complex y) +{ + return cpow (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c b/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c new file mode 100644 index 0000000000..6f88b88bf2 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cprojl (double _Complex x) +{ + return cproj (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-creal.c b/sysdeps/ieee754/ldbl-opt/nldbl-creal.c new file mode 100644 index 0000000000..b02ce6e5e4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-creal.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +creall (double _Complex x) +{ + return creal (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-csin.c b/sysdeps/ieee754/ldbl-opt/nldbl-csin.c new file mode 100644 index 0000000000..b2e2c9c8ef --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-csin.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csinl (double _Complex x) +{ + return csin (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c b/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c new file mode 100644 index 0000000000..2bcba920e3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csinhl (double _Complex x) +{ + return csinh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c b/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c new file mode 100644 index 0000000000..ae00a29885 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csqrtl (double _Complex x) +{ + return csqrt (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c b/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c new file mode 100644 index 0000000000..422c5cce94 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ctanl (double _Complex x) +{ + return ctan (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c b/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c new file mode 100644 index 0000000000..f3842ed26f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ctanhl (double _Complex x) +{ + return ctanh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c new file mode 100644 index 0000000000..2281e099e0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c @@ -0,0 +1,14 @@ +#include "nldbl-compat.h" + +int +dprintf (int d, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vdprintf (d, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-drem.c b/sysdeps/ieee754/ldbl-opt/nldbl-drem.c new file mode 100644 index 0000000000..1e08ce1d28 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-drem.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +dreml (double x, double y) +{ + return drem (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-erf.c b/sysdeps/ieee754/ldbl-opt/nldbl-erf.c new file mode 100644 index 0000000000..0032c1febc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-erf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +erfl (double x) +{ + return erf (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c b/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c new file mode 100644 index 0000000000..21d09680aa --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +erfcl (double x) +{ + return erfc (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp.c new file mode 100644 index 0000000000..ad2c89b6d5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +expl (double x) +{ + return exp (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c new file mode 100644 index 0000000000..2d0ead686b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp10l (double x) +{ + return exp10 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c new file mode 100644 index 0000000000..d5fce3970d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp2l (double x) +{ + return exp2 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c b/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c new file mode 100644 index 0000000000..be5c6e51c4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +expm1l (double x) +{ + return expm1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c b/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c new file mode 100644 index 0000000000..10729a6ec0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fabsl (double x) +{ + return fabs (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c b/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c new file mode 100644 index 0000000000..72896b63ed --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fdiml (double x, double y) +{ + return fdim (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-finite.c b/sysdeps/ieee754/ldbl-opt/nldbl-finite.c new file mode 100644 index 0000000000..000adfb8aa --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-finite.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__finitel (double x) +{ + return __finite (x); +} +extern __typeof (__finitel) finitel attribute_hidden; +weak_alias (__finitel, finitel) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-floor.c b/sysdeps/ieee754/ldbl-opt/nldbl-floor.c new file mode 100644 index 0000000000..c7e9f834b6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-floor.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +floorl (double x) +{ + return floor (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fma.c b/sysdeps/ieee754/ldbl-opt/nldbl-fma.c new file mode 100644 index 0000000000..9474483673 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmal (double x, double y, double z) +{ + return fma (x, y, z); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c b/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c new file mode 100644 index 0000000000..f5a84776ed --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmaxl (double x, double y) +{ + return fmax (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c b/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c new file mode 100644 index 0000000000..a353cf9484 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fminl (double x, double y) +{ + return fmin (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c b/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c new file mode 100644 index 0000000000..aa692b9f36 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmodl (double x, double y) +{ + return fmod (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c new file mode 100644 index 0000000000..1247088615 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +fprintf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stream, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (fprintf) _IO_fprintf attribute_hidden; +weak_alias (fprintf, _IO_fprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c new file mode 100644 index 0000000000..43a7618183 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__fprintf_chk (FILE *stream, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c b/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c new file mode 100644 index 0000000000..0ec97e10e3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +frexpl (double x, int *exponent) +{ + return frexp (x, exponent); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c new file mode 100644 index 0000000000..1b768e306f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl__IO_vfscanf (stream, fmt, arg, NULL); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c new file mode 100644 index 0000000000..18362af013 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +fwprintf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c new file mode 100644 index 0000000000..09731cf29d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c new file mode 100644 index 0000000000..27fc1a7271 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c b/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c new file mode 100644 index 0000000000..10dc640b92 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +gammal (double x) +{ + return gamma (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c b/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c new file mode 100644 index 0000000000..2105f3eba8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +hypotl (double x, double y) +{ + return hypot (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c b/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c new file mode 100644 index 0000000000..e840b2a447 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +ilogbl (double x) +{ + return ilogb (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c new file mode 100644 index 0000000000..05581c0354 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +_IO_vfscanf (FILE *s, const char *fmt, _IO_va_list ap, int *errp) +{ + return __nldbl__IO_vfscanf (s, fmt, ap, errp); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c b/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c new file mode 100644 index 0000000000..340d2418c0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isinfl (double x) +{ + return __isinf (x); +} +extern __typeof (__isinfl) isinfl attribute_hidden; +weak_alias (__isinfl, isinfl) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c b/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c new file mode 100644 index 0000000000..e5f0f1b394 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isnanl (double x) +{ + return __isnan (x); +} +extern __typeof (__isnanl) isnanl attribute_hidden; +weak_alias (__isnanl, isnanl) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-j0.c b/sysdeps/ieee754/ldbl-opt/nldbl-j0.c new file mode 100644 index 0000000000..9d59f0a015 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-j0.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +j0l (double x) +{ + return j0 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-j1.c b/sysdeps/ieee754/ldbl-opt/nldbl-j1.c new file mode 100644 index 0000000000..dba7366861 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-j1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +j1l (double x) +{ + return j1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-jn.c b/sysdeps/ieee754/ldbl-opt/nldbl-jn.c new file mode 100644 index 0000000000..3f19bbb1a8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-jn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +jnl (int n, double x) +{ + return jn (n, x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c b/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c new file mode 100644 index 0000000000..360f8f0f6b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ldexpl (double x, int exponent) +{ + return ldexp (x, exponent); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c b/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c new file mode 100644 index 0000000000..0055212628 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +lgammal (double x) +{ + return lgamma (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c b/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c new file mode 100644 index 0000000000..e1ab9a1d0a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +lgammal_r (double x, int *signgamp) +{ + return lgamma_r (x, signgamp); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c b/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c new file mode 100644 index 0000000000..6dfce89d0d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long long int +attribute_hidden +llrintl (double x) +{ + return llrint (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-llround.c b/sysdeps/ieee754/ldbl-opt/nldbl-llround.c new file mode 100644 index 0000000000..0157a079f4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-llround.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long long int +attribute_hidden +llroundl (double x) +{ + return llround (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log.c b/sysdeps/ieee754/ldbl-opt/nldbl-log.c new file mode 100644 index 0000000000..a5a1ae7cd7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +logl (double x) +{ + return log (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log10.c b/sysdeps/ieee754/ldbl-opt/nldbl-log10.c new file mode 100644 index 0000000000..1477866dc6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log10l (double x) +{ + return log10 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c b/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c new file mode 100644 index 0000000000..455b25a9f4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log1pl (double x) +{ + return log1p (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log2.c b/sysdeps/ieee754/ldbl-opt/nldbl-log2.c new file mode 100644 index 0000000000..8c1ae344e5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-log2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log2l (double x) +{ + return log2 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-logb.c b/sysdeps/ieee754/ldbl-opt/nldbl-logb.c new file mode 100644 index 0000000000..d9ce8de075 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-logb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +logbl (double x) +{ + return logb (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c b/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c new file mode 100644 index 0000000000..0acd3d4ae6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long int +attribute_hidden +lrintl (double x) +{ + return lrint (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-lround.c b/sysdeps/ieee754/ldbl-opt/nldbl-lround.c new file mode 100644 index 0000000000..aadb111f88 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-lround.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long int +attribute_hidden +lroundl (double x) +{ + return lround (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-modf.c b/sysdeps/ieee754/ldbl-opt/nldbl-modf.c new file mode 100644 index 0000000000..bcbe6bb435 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-modf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +modfl (double x, double *iptr) +{ + return modf (x, iptr); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-nan.c b/sysdeps/ieee754/ldbl-opt/nldbl-nan.c new file mode 100644 index 0000000000..8db157a0ea --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-nan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nanl (const char *tag) +{ + return nan (tag); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c b/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c new file mode 100644 index 0000000000..fd4a24684d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nearbyintl (double x) +{ + return nearbyint (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c b/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c new file mode 100644 index 0000000000..b0bae43f49 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nextafterl (double x, double y) +{ + return nextafter (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c b/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c new file mode 100644 index 0000000000..acbd01a0cf --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c @@ -0,0 +1,14 @@ +#define nexttoward nexttoward_XXX +#define nexttowardl nexttowardl_XXX +#include "nldbl-compat.h" +#undef nexttoward +#undef nexttowardl + +double +attribute_hidden +nexttoward (double x, double y) +{ + return nextafter (x, y); +} +extern __typeof (nexttoward) nexttowardl attribute_hidden; +strong_alias (nexttoward, nexttowardl) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c b/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c new file mode 100644 index 0000000000..350b08d39e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c @@ -0,0 +1,12 @@ +#define nexttowardf nexttowardf_XXX +#include "nldbl-compat.h" +#undef nexttowardf + +extern float __nldbl_nexttowardf (float x, double y); + +float +attribute_hidden +nexttowardf (float x, double y) +{ + return __nldbl_nexttowardf (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c b/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c new file mode 100644 index 0000000000..4abff2dc0d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c @@ -0,0 +1,13 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +obstack_printf (struct obstack *obstack, const char *fmt, ...) +{ + int result; + va_list ap; + va_start (ap, fmt); + result = __nldbl_obstack_vprintf (obstack, fmt, ap); + va_end (ap); + return result; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c new file mode 100644 index 0000000000..228a50726b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +obstack_vprintf (struct obstack *obstack, const char *fmt, va_list ap) +{ + return __nldbl_obstack_vprintf (obstack, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-pow.c b/sysdeps/ieee754/ldbl-opt/nldbl-pow.c new file mode 100644 index 0000000000..a5cc446555 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-pow.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +powl (double x, double y) +{ + return pow (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c b/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c new file mode 100644 index 0000000000..20ebf8d1bb --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +pow10l (double x) +{ + return pow10 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-printf.c b/sysdeps/ieee754/ldbl-opt/nldbl-printf.c new file mode 100644 index 0000000000..e4b0fbae0c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-printf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +printf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (printf) _IO_printf attribute_hidden; +strong_alias (printf, _IO_printf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c new file mode 100644 index 0000000000..926db412f9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__printf_chk (int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c b/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c new file mode 100644 index 0000000000..057dfe0b8a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__printf_fp (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + return __nldbl___printf_fp (fp, info, args); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c b/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c new file mode 100644 index 0000000000..d8b1fc9995 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +printf_size (FILE *__restrict fp, const struct printf_info *info, + const void *const *__restrict args) +{ + return __nldbl_printf_size (fp, info, args); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c b/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c new file mode 100644 index 0000000000..cda1e7461e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c @@ -0,0 +1,9 @@ +#define qecvt qecvt_XXX +#include "nldbl-compat.h" +#undef qecvt + +char * +qecvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) +{ + return ecvt (val, ndigit, decpt, sign); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c b/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c new file mode 100644 index 0000000000..06f99146cc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c @@ -0,0 +1,11 @@ +#define qecvt_r qecvt_r_XXX +#include "nldbl-compat.h" +#undef qecvt_r + +int +attribute_hidden +qecvt_r (double val, int ndigit, int *__restrict decpt, int *__restrict sign, + char *__restrict buf, size_t len) +{ + return ecvt_r (val, ndigit, decpt, sign, buf, len); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c b/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c new file mode 100644 index 0000000000..43a9c8e52e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c @@ -0,0 +1,9 @@ +#define qfcvt qfcvt_XXX +#include "nldbl-compat.h" +#undef qfcvt + +char * +qfcvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) +{ + return fcvt (val, ndigit, decpt, sign); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c b/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c new file mode 100644 index 0000000000..03224fefa9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c @@ -0,0 +1,11 @@ +#define qfcvt_r qfcvt_r_XXX +#include "nldbl-compat.h" +#undef qfcvt_r + +int +attribute_hidden +qfcvt_r (double val, int ndigit, int *__restrict decpt, int *__restrict sign, + char *__restrict buf, size_t len) +{ + return fcvt_r (val, ndigit, decpt, sign, buf, len); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c b/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c new file mode 100644 index 0000000000..5bf3330882 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c @@ -0,0 +1,9 @@ +#define qgcvt qgcvt_XXX +#include "nldbl-compat.h" +#undef qgcvt + +char * +qgcvt (double val, int ndigit, char *buf) +{ + return gcvt (val, ndigit, buf); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c b/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c new file mode 100644 index 0000000000..a8d5bafb5f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +remainderl (double x, double y) +{ + return remainder (x, y); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c b/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c new file mode 100644 index 0000000000..592dadae8d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +remquol (double x, double y, int *quo) +{ + return remquo (x, y, quo); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-rint.c b/sysdeps/ieee754/ldbl-opt/nldbl-rint.c new file mode 100644 index 0000000000..00f942f1a7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-rint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +rintl (double x) +{ + return rint (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-round.c b/sysdeps/ieee754/ldbl-opt/nldbl-round.c new file mode 100644 index 0000000000..be9bd5112e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-round.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +roundl (double x) +{ + return round (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c b/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c new file mode 100644 index 0000000000..00d3e2e714 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalbl (double x, double n) +{ + return scalb (x, n); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c b/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c new file mode 100644 index 0000000000..b5bd501250 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalblnl (double x, long int n) +{ + return scalbln (x, n); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c b/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c new file mode 100644 index 0000000000..b1914ebf49 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalbnl (double x, int n) +{ + return scalbn (x, n); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c new file mode 100644 index 0000000000..bbab371cbe --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl__IO_vfscanf (stdin, fmt, arg, NULL); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c b/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c new file mode 100644 index 0000000000..b62d0ed7fe --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c @@ -0,0 +1,10 @@ +#define __signbitl __signbitl_XXX +#include "nldbl-compat.h" +#undef __signbitl + +int +attribute_hidden +__signbitl (double x) +{ + return __signbit (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-significand.c b/sysdeps/ieee754/ldbl-opt/nldbl-significand.c new file mode 100644 index 0000000000..624381dde7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-significand.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +significandl (double x) +{ + return significand (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sin.c b/sysdeps/ieee754/ldbl-opt/nldbl-sin.c new file mode 100644 index 0000000000..0e76e05e6b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sinl (double x) +{ + return sin (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c b/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c new file mode 100644 index 0000000000..9f2ab2b9fc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +sincosl (double x, double *sinx, double *cosx) +{ + sincos (x, sinx, cosx); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c b/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c new file mode 100644 index 0000000000..99ea62e8dc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sinhl (double x) +{ + return sinh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c new file mode 100644 index 0000000000..ef6fb96a2c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +snprintf (char *s, size_t maxlen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsnprintf (s, maxlen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c new file mode 100644 index 0000000000..944d3de9db --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__snprintf_chk (char *s, size_t maxlen, int flag, size_t slen, + const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsnprintf_chk (s, maxlen, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c new file mode 100644 index 0000000000..5d37a7e7f0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +sprintf (char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsprintf (s, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (sprintf) _IO_sprintf attribute_hidden; +strong_alias (sprintf, _IO_sprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c new file mode 100644 index 0000000000..349b7c5c22 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__sprintf_chk (char *s, int flag, size_t slen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsprintf_chk (s, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c b/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c new file mode 100644 index 0000000000..4ae65665de --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sqrtl (double x) +{ + return sqrt (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c new file mode 100644 index 0000000000..a771d49996 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (sscanf) _IO_sscanf attribute_hidden; +strong_alias (sscanf, _IO_sscanf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c b/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c new file mode 100644 index 0000000000..38f4071278 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c @@ -0,0 +1,14 @@ +#include "nldbl-compat.h" + +ssize_t +attribute_hidden +strfmon (char *s, size_t maxsize, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon (s, maxsize, format, ap); + va_end (ap); + return res; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c b/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c new file mode 100644 index 0000000000..0db0e8c42f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +ssize_t +attribute_hidden +__strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon_l (s, maxsize, loc, format, ap); + va_end (ap); + return res; +} +extern __typeof (__strfmon_l) strfmon_l attribute_hidden; +weak_alias (__strfmon_l, strfmon_l) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c b/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c new file mode 100644 index 0000000000..99b907947b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c @@ -0,0 +1,10 @@ +#define strtold strtold_XXX +#include "nldbl-compat.h" +#undef strtold + +double +attribute_hidden +strtold (const char *nptr, char **endptr) +{ + return strtod (nptr, endptr); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c b/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c new file mode 100644 index 0000000000..422746379c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c @@ -0,0 +1,20 @@ +#define strtold_l strtold_l_XXX +#define __strtold_l __strtold_l_XXX +#define __strtod_l __strtod_l_XXX +#include "nldbl-compat.h" +#undef strtold_l +#undef __strtold_l +#undef __strtod_l + +extern double +__strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, + __locale_t __loc); + +double +attribute_hidden +__strtold_l (const char *nptr, char **endptr, __locale_t loc) +{ + return __strtod_l (nptr, endptr, loc); +} +extern __typeof (__strtold_l) strtold_l attribute_hidden; +weak_alias (__strtold_l, strtold_l) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c b/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c new file mode 100644 index 0000000000..0bafabc6e4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c @@ -0,0 +1,10 @@ +#define __strtold_internal __strtold_internal_XXX +#include "nldbl-compat.h" +#undef __strtold_internal + +double +attribute_hidden +__strtold_internal (const char *nptr, char **endptr, int group) +{ + return __strtod_internal (nptr, endptr, group); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c new file mode 100644 index 0000000000..7f4f7b04d3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswprintf (s, n, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c new file mode 100644 index 0000000000..0373f6ebc2 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, + const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vswprintf_chk (s, n, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c new file mode 100644 index 0000000000..dd058f47ab --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c b/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c new file mode 100644 index 0000000000..8687e9f540 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c @@ -0,0 +1,11 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +syslog (int pri, const char *fmt, ...) +{ + va_list ap; + va_start (ap, fmt); + __nldbl_vsyslog (pri, fmt, ap); + va_end (ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c new file mode 100644 index 0000000000..31ea6a8b9d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c @@ -0,0 +1,12 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +__syslog_chk (int pri, int flag, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, flag, fmt, ap); + va_end(ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-tan.c b/sysdeps/ieee754/ldbl-opt/nldbl-tan.c new file mode 100644 index 0000000000..1a27b6fbdd --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-tan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tanl (double x) +{ + return tan (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c b/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c new file mode 100644 index 0000000000..fc2fd32eb8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tanhl (double x) +{ + return tanh (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c b/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c new file mode 100644 index 0000000000..bbf613abe1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tgammal (double x) +{ + return tgamma (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c b/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c new file mode 100644 index 0000000000..d0131e80a3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +truncl (double x) +{ + return trunc (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c new file mode 100644 index 0000000000..52fa18ccee --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vasprintf (char **result_ptr, const char *fmt, va_list ap) +{ + return __nldbl_vasprintf (result_ptr, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c new file mode 100644 index 0000000000..1acbd40625 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vdprintf (int d, const char *fmt, va_list arg) +{ + return __nldbl_vdprintf (d, fmt, arg); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c new file mode 100644 index 0000000000..6ca8437b28 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vfprintf (FILE *s, const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (s, fmt, ap); +} +extern __typeof (vfprintf) _IO_vfprintf attribute_hidden; +strong_alias (vfprintf, _IO_vfprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c new file mode 100644 index 0000000000..0f6820af63 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfprintf_chk (FILE *s, int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (s, flag, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c new file mode 100644 index 0000000000..f23465ee95 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfscanf (FILE *s, const char *fmt, va_list ap) +{ + return __nldbl__IO_vfscanf (s, fmt, ap, NULL); +} +extern __typeof (__vfscanf) vfscanf attribute_hidden; +weak_alias (__vfscanf, vfscanf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c new file mode 100644 index 0000000000..c3fe76a971 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (s, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c new file mode 100644 index 0000000000..b3b69f0571 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (s, flag, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c new file mode 100644 index 0000000000..be9febc9a0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (s, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c new file mode 100644 index 0000000000..ed0d27d9a0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vprintf (const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (stdout, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c new file mode 100644 index 0000000000..63b3e8f965 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vprintf_chk (int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (stdout, flag, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c new file mode 100644 index 0000000000..e75907b905 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vscanf (const char *fmt, va_list ap) +{ + return __nldbl__IO_vfscanf (stdin, fmt, ap, NULL); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c new file mode 100644 index 0000000000..5a9bcbcaee --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vsnprintf (char *string, size_t maxlen, const char *fmt, va_list ap) +{ + return __nldbl_vsnprintf (string, maxlen, fmt, ap); +} +extern __typeof (vsnprintf) __vsnprintf attribute_hidden; +weak_alias (vsnprintf, __vsnprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c new file mode 100644 index 0000000000..19380291a3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsnprintf_chk (char *string, size_t maxlen, int flag, size_t slen, + const char *fmt, va_list ap) +{ + return __nldbl___vsnprintf_chk (string, maxlen, flag, slen, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c new file mode 100644 index 0000000000..04406d0f6e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +_IO_vsprintf (char *string, const char *fmt, va_list ap) +{ + return __nldbl_vsprintf (string, fmt, ap); +} +extern __typeof (_IO_vsprintf) vsprintf attribute_hidden; +weak_alias (_IO_vsprintf, vsprintf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c new file mode 100644 index 0000000000..9df143fcef --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsprintf_chk (char *string, int flag, size_t slen, const char *fmt, + va_list ap) +{ + return __nldbl___vsprintf_chk (string, flag, slen, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c new file mode 100644 index 0000000000..f5594c122c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsscanf (const char *string, const char *fmt, va_list ap) +{ + return __nldbl_vsscanf (string, fmt, ap); +} +extern __typeof (__vsscanf) vsscanf attribute_hidden; +weak_alias (__vsscanf, vsscanf) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c new file mode 100644 index 0000000000..ff3415a072 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vswprintf (string, maxlen, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c new file mode 100644 index 0000000000..0cd1f96bfe --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, + const wchar_t *fmt, va_list ap) +{ + return __nldbl___vswprintf_chk (string, maxlen, flag, slen, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c new file mode 100644 index 0000000000..bd4bb5131b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vswscanf (const wchar_t *string, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vswscanf (string, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c new file mode 100644 index 0000000000..e91f4826bf --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c @@ -0,0 +1,7 @@ +#include "nldbl-compat.h" + +void +vsyslog (int pri, const char *fmt, va_list ap) +{ + __nldbl_vsyslog (pri, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c new file mode 100644 index 0000000000..2221474f97 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +__vsyslog_chk (int pri, int flag, const char *fmt, va_list ap) +{ + __nldbl___vsyslog_chk (pri, flag, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c new file mode 100644 index 0000000000..f46bdb3137 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vwprintf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (stdout, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c new file mode 100644 index 0000000000..f7e7185977 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vwprintf_chk (int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (stdout, flag, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c new file mode 100644 index 0000000000..d39578ca4e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (stdin, fmt, ap); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c b/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c new file mode 100644 index 0000000000..dbaffaa486 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c @@ -0,0 +1,10 @@ +#define wcstold wcstold_XXX +#include "nldbl-compat.h" +#undef wcstold + +double +attribute_hidden +wcstold (const wchar_t *nptr, wchar_t **endptr) +{ + return wcstod (nptr, endptr); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c b/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c new file mode 100644 index 0000000000..e32d13a94b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c @@ -0,0 +1,14 @@ +#define wcstold_l wcstold_l_XXX +#define __wcstold_l __wcstold_l_XXX +#include "nldbl-compat.h" +#undef wcstold_l +#undef __wcstold_l + +double +attribute_hidden +__wcstold_l (const wchar_t *nptr, wchar_t **endptr, __locale_t loc) +{ + return __wcstod_l (nptr, endptr, loc); +} +extern __typeof (__wcstold_l) wcstold_l attribute_hidden; +weak_alias (__wcstold_l, wcstold_l) diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c b/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c new file mode 100644 index 0000000000..b638a399ad --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c @@ -0,0 +1,10 @@ +#define __wcstold_internal __wcstold_internal_XXX +#include "nldbl-compat.h" +#undef __wcstold_internal + +double +attribute_hidden +__wcstold_internal (const wchar_t *nptr, wchar_t **endptr, int group) +{ + return __wcstod_internal (nptr, endptr, group); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c b/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c new file mode 100644 index 0000000000..2aa1a7475a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +wprintf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c b/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c new file mode 100644 index 0000000000..39191e123b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__wprintf_chk (int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c b/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c new file mode 100644 index 0000000000..4ee3fdc15f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-y0.c b/sysdeps/ieee754/ldbl-opt/nldbl-y0.c new file mode 100644 index 0000000000..e35621f60f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-y0.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +y0l (double x) +{ + return y0 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-y1.c b/sysdeps/ieee754/ldbl-opt/nldbl-y1.c new file mode 100644 index 0000000000..c47abcd3c5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-y1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +y1l (double x) +{ + return y1 (x); +} diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-yn.c b/sysdeps/ieee754/ldbl-opt/nldbl-yn.c new file mode 100644 index 0000000000..7623d4513b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/nldbl-yn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ynl (int n, double x) +{ + return yn (n, x); +} diff --git a/sysdeps/ieee754/ldbl-opt/s_asinh.c b/sysdeps/ieee754/ldbl-opt/s_asinh.c new file mode 100644 index 0000000000..e9bcfaea62 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_asinh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_asinh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __asinh, asinhl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_atan.c b/sysdeps/ieee754/ldbl-opt/s_atan.c new file mode 100644 index 0000000000..5fbd5e62d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_atan.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_atan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, atan, atanl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cacos.c b/sysdeps/ieee754/ldbl-opt/s_cacos.c new file mode 100644 index 0000000000..db90a9ef18 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cacos.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_cacos.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cacos, cacosl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cacosh.c b/sysdeps/ieee754/ldbl-opt/s_cacosh.c new file mode 100644 index 0000000000..e68049d46d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cacosh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_cacosh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cacosh, cacoshl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cacoshl.c b/sysdeps/ieee754/ldbl-opt/s_cacoshl.c new file mode 100644 index 0000000000..ed4a299845 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cacoshl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_cacoshl.c> +long_double_symbol (libm, __cacoshl, cacoshl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cacosl.c b/sysdeps/ieee754/ldbl-opt/s_cacosl.c new file mode 100644 index 0000000000..9b840054e9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cacosl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_cacosl.c> +long_double_symbol (libm, __cacosl, cacosl); diff --git a/sysdeps/ieee754/ldbl-opt/s_casin.c b/sysdeps/ieee754/ldbl-opt/s_casin.c new file mode 100644 index 0000000000..04c47ca602 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_casin.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_casin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __casin, casinl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_casinh.c b/sysdeps/ieee754/ldbl-opt/s_casinh.c new file mode 100644 index 0000000000..19c4fa30f8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_casinh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_casinh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __casinh, casinhl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_casinhl.c b/sysdeps/ieee754/ldbl-opt/s_casinhl.c new file mode 100644 index 0000000000..976fa8e5b0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_casinhl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_casinhl.c> +long_double_symbol (libm, __casinhl, casinhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_casinl.c b/sysdeps/ieee754/ldbl-opt/s_casinl.c new file mode 100644 index 0000000000..7afb77cd4d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_casinl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_casinl.c> +long_double_symbol (libm, __casinl, casinl); diff --git a/sysdeps/ieee754/ldbl-opt/s_catan.c b/sysdeps/ieee754/ldbl-opt/s_catan.c new file mode 100644 index 0000000000..19f61736d2 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_catan.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_catan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __catan, catanl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_catanh.c b/sysdeps/ieee754/ldbl-opt/s_catanh.c new file mode 100644 index 0000000000..cff7861444 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_catanh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_catanh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __catanh, catanhl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_catanhl.c b/sysdeps/ieee754/ldbl-opt/s_catanhl.c new file mode 100644 index 0000000000..e9562825e9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_catanhl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_catanhl.c> +long_double_symbol (libm, __catanhl, catanhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_catanl.c b/sysdeps/ieee754/ldbl-opt/s_catanl.c new file mode 100644 index 0000000000..ee2fdf5d6c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_catanl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_catanl.c> +long_double_symbol (libm, __catanl, catanl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cbrt.c b/sysdeps/ieee754/ldbl-opt/s_cbrt.c new file mode 100644 index 0000000000..cdc635771e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cbrt.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_cbrt.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __cbrt, cbrtl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ccos.c b/sysdeps/ieee754/ldbl-opt/s_ccos.c new file mode 100644 index 0000000000..2c43c7f392 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ccos.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_ccos.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __ccos, ccosl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ccosh.c b/sysdeps/ieee754/ldbl-opt/s_ccosh.c new file mode 100644 index 0000000000..3753cd56bc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ccosh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_ccosh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __ccosh, ccoshl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ccoshl.c b/sysdeps/ieee754/ldbl-opt/s_ccoshl.c new file mode 100644 index 0000000000..9f0c1e1a32 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ccoshl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_ccoshl.c> +long_double_symbol (libm, __ccoshl, ccoshl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ccosl.c b/sysdeps/ieee754/ldbl-opt/s_ccosl.c new file mode 100644 index 0000000000..e93e80538e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ccosl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_ccosl.c> +long_double_symbol (libm, __ccosl, ccosl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ceil.c b/sysdeps/ieee754/ldbl-opt/s_ceil.c new file mode 100644 index 0000000000..6e4b70795d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ceil.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_ceil.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __ceil, ceill, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cexp.c b/sysdeps/ieee754/ldbl-opt/s_cexp.c new file mode 100644 index 0000000000..d983c96b7b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cexp.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_cexp.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cexp, cexpl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cexpl.c b/sysdeps/ieee754/ldbl-opt/s_cexpl.c new file mode 100644 index 0000000000..d5ae1fc0d0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cexpl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_cexpl.c> +long_double_symbol (libm, __cexpl, cexpl); diff --git a/sysdeps/ieee754/ldbl-opt/s_clog.c b/sysdeps/ieee754/ldbl-opt/s_clog.c new file mode 100644 index 0000000000..3e0e90cf89 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_clog.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_clog.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __clog, clogl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_clog10.c b/sysdeps/ieee754/ldbl-opt/s_clog10.c new file mode 100644 index 0000000000..ac3f4a3a71 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_clog10.c @@ -0,0 +1,7 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_clog10.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __clog10, __clog10l, GLIBC_2_1); +compat_symbol (libm, clog10, clog10l, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_clog10l.c b/sysdeps/ieee754/ldbl-opt/s_clog10l.c new file mode 100644 index 0000000000..954f68095a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_clog10l.c @@ -0,0 +1,10 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#define __clog10l __clog10l_internal +#include <math/s_clog10l.c> +#undef __clog10l +strong_alias (__clog10l_internal, __clog10l__internal) +long_double_symbol (libm, __clog10l_internal, __clog10l); +long_double_symbol (libm, __clog10l__internal, clog10l); diff --git a/sysdeps/ieee754/ldbl-opt/s_clogl.c b/sysdeps/ieee754/ldbl-opt/s_clogl.c new file mode 100644 index 0000000000..75126c8b89 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_clogl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_clogl.c> +long_double_symbol (libm, __clogl, clogl); diff --git a/sysdeps/ieee754/ldbl-opt/s_copysign.c b/sysdeps/ieee754/ldbl-opt/s_copysign.c new file mode 100644 index 0000000000..425e0eadbd --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_copysign.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_copysign.c> +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __copysign, copysignl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __copysign, copysignl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cpow.c b/sysdeps/ieee754/ldbl-opt/s_cpow.c new file mode 100644 index 0000000000..4801d7cdf9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cpow.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_cpow.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cpow, cpowl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cpowl.c b/sysdeps/ieee754/ldbl-opt/s_cpowl.c new file mode 100644 index 0000000000..61840e3381 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cpowl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_cpowl.c> +long_double_symbol (libm, __cpowl, cpowl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cproj.c b/sysdeps/ieee754/ldbl-opt/s_cproj.c new file mode 100644 index 0000000000..f298c3795a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cproj.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_cproj.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __cproj, cprojl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cprojl.c b/sysdeps/ieee754/ldbl-opt/s_cprojl.c new file mode 100644 index 0000000000..1cc058007e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_cprojl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_cprojl.c> +long_double_symbol (libm, __cprojl, cprojl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csin.c b/sysdeps/ieee754/ldbl-opt/s_csin.c new file mode 100644 index 0000000000..7017c95450 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csin.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_csin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __csin, csinl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csinh.c b/sysdeps/ieee754/ldbl-opt/s_csinh.c new file mode 100644 index 0000000000..a1fa6671db --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csinh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_csinh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __csinh, csinhl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csinhl.c b/sysdeps/ieee754/ldbl-opt/s_csinhl.c new file mode 100644 index 0000000000..484d466ce8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csinhl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_csinhl.c> +long_double_symbol (libm, __csinhl, csinhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csinl.c b/sysdeps/ieee754/ldbl-opt/s_csinl.c new file mode 100644 index 0000000000..f71642e886 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csinl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_csinl.c> +long_double_symbol (libm, __csinl, csinl); diff --git a/sysdeps/ieee754/ldbl-opt/s_csqrt.c b/sysdeps/ieee754/ldbl-opt/s_csqrt.c new file mode 100644 index 0000000000..2b6dcfe010 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csqrt.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_csqrt.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __csqrt, csqrtl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_csqrtl.c b/sysdeps/ieee754/ldbl-opt/s_csqrtl.c new file mode 100644 index 0000000000..045ff93e43 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_csqrtl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_csqrtl.c> +long_double_symbol (libm, __csqrtl, csqrtl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ctan.c b/sysdeps/ieee754/ldbl-opt/s_ctan.c new file mode 100644 index 0000000000..a6a21f9f23 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ctan.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_ctan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __ctan, ctanl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ctanh.c b/sysdeps/ieee754/ldbl-opt/s_ctanh.c new file mode 100644 index 0000000000..fd4be129f8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ctanh.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#include <math/s_ctanh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __ctanh, ctanhl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ctanhl.c b/sysdeps/ieee754/ldbl-opt/s_ctanhl.c new file mode 100644 index 0000000000..f159373b39 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ctanhl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_ctanhl.c> +long_double_symbol (libm, __ctanhl, ctanhl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ctanl.c b/sysdeps/ieee754/ldbl-opt/s_ctanl.c new file mode 100644 index 0000000000..0c2d94cf49 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ctanl.c @@ -0,0 +1,6 @@ +#include <complex.h> +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_ctanl.c> +long_double_symbol (libm, __ctanl, ctanl); diff --git a/sysdeps/ieee754/ldbl-opt/s_erf.c b/sysdeps/ieee754/ldbl-opt/s_erf.c new file mode 100644 index 0000000000..76f1baa5ca --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_erf.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_erf.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __erf, erfl, GLIBC_2_0); +compat_symbol (libm, __erfc, erfcl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_expm1.c b/sysdeps/ieee754/ldbl-opt/s_expm1.c new file mode 100644 index 0000000000..ef9b5956db --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_expm1.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_expm1.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __expm1, expm1l, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fabs.c b/sysdeps/ieee754/ldbl-opt/s_fabs.c new file mode 100644 index 0000000000..e7c92187e9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fabs.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_fabs.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __fabs, fabsl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fdim.c b/sysdeps/ieee754/ldbl-opt/s_fdim.c new file mode 100644 index 0000000000..02c95bfa81 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fdim.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_fdim.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __fdim, fdiml, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fdiml.c b/sysdeps/ieee754/ldbl-opt/s_fdiml.c new file mode 100644 index 0000000000..06b760b7b4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fdiml.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_fdiml.c> +long_double_symbol (libm, __fdiml, fdiml); diff --git a/sysdeps/ieee754/ldbl-opt/s_finite.c b/sysdeps/ieee754/ldbl-opt/s_finite.c new file mode 100644 index 0000000000..897dbfd3b0 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_finite.c @@ -0,0 +1,18 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_finite.c> +weak_alias (__finite, ___finite) +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __finite, __finitel, GLIBC_2_1); +# endif +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, ___finite, finitel, GLIBC_2_0); +# endif +#else +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libm, __finite, __finitel, GLIBC_2_0); +# endif +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, ___finite, finitel, GLIBC_2_0); +# endif +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_floor.c b/sysdeps/ieee754/ldbl-opt/s_floor.c new file mode 100644 index 0000000000..7797944e9e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_floor.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_floor.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __floor, floorl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fma.c b/sysdeps/ieee754/ldbl-opt/s_fma.c new file mode 100644 index 0000000000..2ee7214131 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fma.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_fma.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __fma, fmal, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fmal.c b/sysdeps/ieee754/ldbl-opt/s_fmal.c new file mode 100644 index 0000000000..bd12dabcbe --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fmal.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_fmal.c> +long_double_symbol (libm, __fmal, fmal); diff --git a/sysdeps/ieee754/ldbl-opt/s_fmax.c b/sysdeps/ieee754/ldbl-opt/s_fmax.c new file mode 100644 index 0000000000..11e759121f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fmax.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_fmax.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fmaxl.c b/sysdeps/ieee754/ldbl-opt/s_fmaxl.c new file mode 100644 index 0000000000..98221b2cdc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fmaxl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_fmaxl.c> +long_double_symbol (libm, __fmaxl, fmaxl); diff --git a/sysdeps/ieee754/ldbl-opt/s_fmin.c b/sysdeps/ieee754/ldbl-opt/s_fmin.c new file mode 100644 index 0000000000..c3fe44d9d9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fmin.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_fmin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __fmin, fminl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_fminl.c b/sysdeps/ieee754/ldbl-opt/s_fminl.c new file mode 100644 index 0000000000..9bfdc7ad79 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_fminl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_fminl.c> +long_double_symbol (libm, __fminl, fminl); diff --git a/sysdeps/ieee754/ldbl-opt/s_frexp.c b/sysdeps/ieee754/ldbl-opt/s_frexp.c new file mode 100644 index 0000000000..59ce352200 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_frexp.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_frexp.c> +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __frexp, frexpl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __frexp, frexpl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ilogb.c b/sysdeps/ieee754/ldbl-opt/s_ilogb.c new file mode 100644 index 0000000000..3a6ccbd09d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ilogb.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_ilogb.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __ilogb, ilogbl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_isinf.c b/sysdeps/ieee754/ldbl-opt/s_isinf.c new file mode 100644 index 0000000000..401c8b1318 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_isinf.c @@ -0,0 +1,8 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_isinf.c> +#ifndef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __isinf, __isinfl, GLIBC_2_0); +compat_symbol (libc, isinf, isinfl, GLIBC_2_0); +# endif +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_isnan.c b/sysdeps/ieee754/ldbl-opt/s_isnan.c new file mode 100644 index 0000000000..164b800b85 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_isnan.c @@ -0,0 +1,8 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_isnan.c> +#ifndef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0); +compat_symbol (libc, isnan, isnanl, GLIBC_2_0); +# endif +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexp.c b/sysdeps/ieee754/ldbl-opt/s_ldexp.c new file mode 100644 index 0000000000..f0f6519892 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ldexp.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <math/s_ldexp.c> +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __ldexp, ldexpl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __ldexp, ldexpl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c new file mode 100644 index 0000000000..d4636b9cc1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_ldexpl.c> +#ifdef IS_IN_libm +long_double_symbol (libm, __ldexpl, ldexpl); +#else +long_double_symbol (libc, __ldexpl, ldexpl); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_llrint.c b/sysdeps/ieee754/ldbl-opt/s_llrint.c new file mode 100644 index 0000000000..e6311972e1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_llrint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_llrint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_llround.c b/sysdeps/ieee754/ldbl-opt/s_llround.c new file mode 100644 index 0000000000..36c7e6edac --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_llround.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_llround.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __llround, llroundl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_log1p.c b/sysdeps/ieee754/ldbl-opt/s_log1p.c new file mode 100644 index 0000000000..495fa32e35 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_log1p.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_log1p.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log1p, log1pl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_logb.c b/sysdeps/ieee754/ldbl-opt/s_logb.c new file mode 100644 index 0000000000..4d7a6db275 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_logb.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_logb.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __logb, logbl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_lrint.c b/sysdeps/ieee754/ldbl-opt/s_lrint.c new file mode 100644 index 0000000000..b7af812846 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_lrint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_lrint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __lrint, lrintl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_lround.c b/sysdeps/ieee754/ldbl-opt/s_lround.c new file mode 100644 index 0000000000..f3a27fa9c9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_lround.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_lround.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __lround, lroundl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_modf.c b/sysdeps/ieee754/ldbl-opt/s_modf.c new file mode 100644 index 0000000000..2263811e5e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_modf.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_modf.c> +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __modf, modfl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __modf, modfl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_nan.c b/sysdeps/ieee754/ldbl-opt/s_nan.c new file mode 100644 index 0000000000..418aad2076 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_nan.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_nan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __nan, nanl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_nanl.c b/sysdeps/ieee754/ldbl-opt/s_nanl.c new file mode 100644 index 0000000000..9496e0b5ce --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_nanl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_nanl.c> +long_double_symbol (libm, __nanl, nanl); diff --git a/sysdeps/ieee754/ldbl-opt/s_nearbyint.c b/sysdeps/ieee754/ldbl-opt/s_nearbyint.c new file mode 100644 index 0000000000..a8b7973acd --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_nearbyint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_nearbyint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_nextafter.c b/sysdeps/ieee754/ldbl-opt/s_nextafter.c new file mode 100644 index 0000000000..78e2c0ff37 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_nextafter.c @@ -0,0 +1,12 @@ +#include <math_ldbl_opt.h> +#include <math/s_nextafter.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __nextafter, nextafterl, GLIBC_2_0); +#endif +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +strong_alias (__nextafter, __nexttowardd) +strong_alias (__nextafter, __nexttowardld) +#undef nexttoward +compat_symbol (libm, __nexttowardd, nexttoward, GLIBC_2_1); +compat_symbol (libm, __nexttowardld, nexttowardl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_remquo.c b/sysdeps/ieee754/ldbl-opt/s_remquo.c new file mode 100644 index 0000000000..9f3d7ba368 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_remquo.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_remquo.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __remquo, remquol, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_rint.c b/sysdeps/ieee754/ldbl-opt/s_rint.c new file mode 100644 index 0000000000..d9b156ea27 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_rint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_rint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __rint, rintl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_round.c b/sysdeps/ieee754/ldbl-opt/s_round.c new file mode 100644 index 0000000000..edff2f017b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_round.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_round.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __round, roundl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbln.c b/sysdeps/ieee754/ldbl-opt/s_scalbln.c new file mode 100644 index 0000000000..2398bba49a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_scalbln.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_scalbln.c> +#ifdef IS_IN_libm +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __scalbln, scalblnl, GLIBC_2_1); +#endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_1) +compat_symbol (libc, __scalbln, scalblnl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbn.c b/sysdeps/ieee754/ldbl-opt/s_scalbn.c new file mode 100644 index 0000000000..094735ea53 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_scalbn.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_scalbn.c> +#ifdef IS_IN_libm +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __scalbn, scalbnl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __scalbn, scalbnl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_significand.c b/sysdeps/ieee754/ldbl-opt/s_significand.c new file mode 100644 index 0000000000..5287c09066 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_significand.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_significand.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __significand, significandl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_significandl.c b/sysdeps/ieee754/ldbl-opt/s_significandl.c new file mode 100644 index 0000000000..9339b4780d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_significandl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_significandl.c> +long_double_symbol (libm, __significandl, significandl); diff --git a/sysdeps/ieee754/ldbl-opt/s_sin.c b/sysdeps/ieee754/ldbl-opt/s_sin.c new file mode 100644 index 0000000000..a11d5a33dc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_sin.c @@ -0,0 +1,10 @@ +/* dbl-64/s_sin.c uses NAN and sincos identifiers internally. */ +#define sincos sincos_disable +#include <math_ldbl_opt.h> +#undef NAN +#undef sincos +#include <sysdeps/ieee754/dbl-64/s_sin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sin, sinl, GLIBC_2_0); +compat_symbol (libm, __cos, cosl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_sincos.c b/sysdeps/ieee754/ldbl-opt/s_sincos.c new file mode 100644 index 0000000000..6d2a48f25b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_sincos.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_sincos.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __sincos, sincosl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_tan.c b/sysdeps/ieee754/ldbl-opt/s_tan.c new file mode 100644 index 0000000000..6b0fec0063 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_tan.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_tan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, tan, tanl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_tanh.c b/sysdeps/ieee754/ldbl-opt/s_tanh.c new file mode 100644 index 0000000000..e763bbde77 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_tanh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_tanh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __tanh, tanhl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_trunc.c b/sysdeps/ieee754/ldbl-opt/s_trunc.c new file mode 100644 index 0000000000..9d90a2bd73 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/s_trunc.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_trunc.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __trunc, truncl, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_acos.c b/sysdeps/ieee754/ldbl-opt/w_acos.c new file mode 100644 index 0000000000..2934041d4d --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_acos.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_acos.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __acos, acosl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_acosh.c b/sysdeps/ieee754/ldbl-opt/w_acosh.c new file mode 100644 index 0000000000..7f7fa14e27 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_acosh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_acosh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __acosh, acoshl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_acoshl.c b/sysdeps/ieee754/ldbl-opt/w_acoshl.c new file mode 100644 index 0000000000..6243c2ac80 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_acoshl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_acoshl.c> +long_double_symbol (libm, __acoshl, acoshl); diff --git a/sysdeps/ieee754/ldbl-opt/w_acosl.c b/sysdeps/ieee754/ldbl-opt/w_acosl.c new file mode 100644 index 0000000000..8b6e890a53 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_acosl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_acosl.c> +long_double_symbol (libm, __acosl, acosl); diff --git a/sysdeps/ieee754/ldbl-opt/w_asin.c b/sysdeps/ieee754/ldbl-opt/w_asin.c new file mode 100644 index 0000000000..5e1d70ff65 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_asin.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_asin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __asin, asinl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_asinl.c b/sysdeps/ieee754/ldbl-opt/w_asinl.c new file mode 100644 index 0000000000..a58a224a38 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_asinl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_asinl.c> +long_double_symbol (libm, __asinl, asinl); diff --git a/sysdeps/ieee754/ldbl-opt/w_atan2.c b/sysdeps/ieee754/ldbl-opt/w_atan2.c new file mode 100644 index 0000000000..f1d1501bd2 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_atan2.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_atan2.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __atan2, atan2l, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_atan2l.c b/sysdeps/ieee754/ldbl-opt/w_atan2l.c new file mode 100644 index 0000000000..01431eff44 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_atan2l.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_atan2l.c> +long_double_symbol (libm, __atan2l, atan2l); diff --git a/sysdeps/ieee754/ldbl-opt/w_atanh.c b/sysdeps/ieee754/ldbl-opt/w_atanh.c new file mode 100644 index 0000000000..b4cab87c32 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_atanh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_atanh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __atanh, atanhl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_atanhl.c b/sysdeps/ieee754/ldbl-opt/w_atanhl.c new file mode 100644 index 0000000000..0dbc114481 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_atanhl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_atanhl.c> +long_double_symbol (libm, __atanhl, atanhl); diff --git a/sysdeps/ieee754/ldbl-opt/w_cosh.c b/sysdeps/ieee754/ldbl-opt/w_cosh.c new file mode 100644 index 0000000000..a6f56cf4c5 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_cosh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_cosh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __cosh, coshl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_coshl.c b/sysdeps/ieee754/ldbl-opt/w_coshl.c new file mode 100644 index 0000000000..8c7dccb7f3 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_coshl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_coshl.c> +long_double_symbol (libm, __coshl, coshl); diff --git a/sysdeps/ieee754/ldbl-opt/w_drem.c b/sysdeps/ieee754/ldbl-opt/w_drem.c new file mode 100644 index 0000000000..788a5d29d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_drem.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_drem.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __drem, dreml, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_dreml.c b/sysdeps/ieee754/ldbl-opt/w_dreml.c new file mode 100644 index 0000000000..d14d7e202c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_dreml.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_dreml.c> +long_double_symbol (libm, __dreml, dreml); diff --git a/sysdeps/ieee754/ldbl-opt/w_exp.c b/sysdeps/ieee754/ldbl-opt/w_exp.c new file mode 100644 index 0000000000..61fcfcc9df --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_exp.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/w_exp.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __exp, expl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10.c b/sysdeps/ieee754/ldbl-opt/w_exp10.c new file mode 100644 index 0000000000..990c48e61a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_exp10.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_exp10.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __exp10, exp10l, GLIBC_2_1); +compat_symbol (libm, __pow10, pow10l, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l.c b/sysdeps/ieee754/ldbl-opt/w_exp10l.c new file mode 100644 index 0000000000..e06dfb5014 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_exp10l.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_exp10l.c> +long_double_symbol (libm, __exp10l, exp10l); +long_double_symbol (libm, __pow10l, pow10l); diff --git a/sysdeps/ieee754/ldbl-opt/w_fmod.c b/sysdeps/ieee754/ldbl-opt/w_fmod.c new file mode 100644 index 0000000000..81ad5057f7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_fmod.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_fmod.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __fmod, fmodl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_fmodl.c b/sysdeps/ieee754/ldbl-opt/w_fmodl.c new file mode 100644 index 0000000000..2a534a304c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_fmodl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_fmodl.c> +long_double_symbol (libm, __fmodl, fmodl); diff --git a/sysdeps/ieee754/ldbl-opt/w_hypot.c b/sysdeps/ieee754/ldbl-opt/w_hypot.c new file mode 100644 index 0000000000..e1cf1ffcfe --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_hypot.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_hypot.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __hypot, hypotl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_hypotl.c b/sysdeps/ieee754/ldbl-opt/w_hypotl.c new file mode 100644 index 0000000000..6c46bd4bde --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_hypotl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_hypotl.c> +long_double_symbol (libm, __hypotl, hypotl); diff --git a/sysdeps/ieee754/ldbl-opt/w_j0.c b/sysdeps/ieee754/ldbl-opt/w_j0.c new file mode 100644 index 0000000000..5c78aff085 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_j0.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_j0.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, j0, j0l, GLIBC_2_0); +compat_symbol (libm, y0, y0l, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_j0l.c b/sysdeps/ieee754/ldbl-opt/w_j0l.c new file mode 100644 index 0000000000..767a1bcada --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_j0l.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_j0l.c> +long_double_symbol (libm, __j0l, j0l); +long_double_symbol (libm, __y0l, y0l); diff --git a/sysdeps/ieee754/ldbl-opt/w_j1.c b/sysdeps/ieee754/ldbl-opt/w_j1.c new file mode 100644 index 0000000000..ed3dbc0361 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_j1.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_j1.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, j1, j1l, GLIBC_2_0); +compat_symbol (libm, y1, y1l, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_j1l.c b/sysdeps/ieee754/ldbl-opt/w_j1l.c new file mode 100644 index 0000000000..946c36467c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_j1l.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_j1l.c> +long_double_symbol (libm, __j1l, j1l); +long_double_symbol (libm, __y1l, y1l); diff --git a/sysdeps/ieee754/ldbl-opt/w_jn.c b/sysdeps/ieee754/ldbl-opt/w_jn.c new file mode 100644 index 0000000000..7a7e0d434b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_jn.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_jn.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, jn, jnl, GLIBC_2_0); +compat_symbol (libm, yn, ynl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_jnl.c b/sysdeps/ieee754/ldbl-opt/w_jnl.c new file mode 100644 index 0000000000..5219543a97 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_jnl.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_jnl.c> +long_double_symbol (libm, __jnl, jnl); +long_double_symbol (libm, __ynl, ynl); diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma.c b/sysdeps/ieee754/ldbl-opt/w_lgamma.c new file mode 100644 index 0000000000..ef801c5505 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_lgamma.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_lgamma.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __lgamma, lgammal, GLIBC_2_0); +compat_symbol (libm, __gamma, gammal, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_r.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_r.c new file mode 100644 index 0000000000..eeab6a6b47 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_lgamma_r.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_lgamma_r.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __lgamma_r, lgammal_r, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal.c b/sysdeps/ieee754/ldbl-opt/w_lgammal.c new file mode 100644 index 0000000000..9de7ec8f7f --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_lgammal.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_lgammal.c> +long_double_symbol (libm, __lgammal, lgammal); +long_double_symbol (libm, __gammal, gammal); diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal_r.c b/sysdeps/ieee754/ldbl-opt/w_lgammal_r.c new file mode 100644 index 0000000000..25459758d7 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_lgammal_r.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_lgammal_r.c> +long_double_symbol (libm, __lgammal_r, lgammal_r); diff --git a/sysdeps/ieee754/ldbl-opt/w_log.c b/sysdeps/ieee754/ldbl-opt/w_log.c new file mode 100644 index 0000000000..bde1e31db4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log, logl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_log10.c b/sysdeps/ieee754/ldbl-opt/w_log10.c new file mode 100644 index 0000000000..74e716821e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log10.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log10.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log10, log10l, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_log10l.c b/sysdeps/ieee754/ldbl-opt/w_log10l.c new file mode 100644 index 0000000000..9c936e376a --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log10l.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_log10l.c> +long_double_symbol (libm, __log10l, log10l); diff --git a/sysdeps/ieee754/ldbl-opt/w_log2.c b/sysdeps/ieee754/ldbl-opt/w_log2.c new file mode 100644 index 0000000000..9b9b45b21b --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log2.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log2.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __log2, log2l, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_log2l.c b/sysdeps/ieee754/ldbl-opt/w_log2l.c new file mode 100644 index 0000000000..c859682133 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log2l.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_log2l.c> +long_double_symbol (libm, __log2l, log2l); diff --git a/sysdeps/ieee754/ldbl-opt/w_logl.c b/sysdeps/ieee754/ldbl-opt/w_logl.c new file mode 100644 index 0000000000..c2354a02b9 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_logl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_logl.c> +long_double_symbol (libm, __logl, logl); diff --git a/sysdeps/ieee754/ldbl-opt/w_pow.c b/sysdeps/ieee754/ldbl-opt/w_pow.c new file mode 100644 index 0000000000..2d98fb9be4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_pow.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_pow.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __pow, powl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_powl.c b/sysdeps/ieee754/ldbl-opt/w_powl.c new file mode 100644 index 0000000000..85b8927648 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_powl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_powl.c> +long_double_symbol (libm, __powl, powl); diff --git a/sysdeps/ieee754/ldbl-opt/w_remainder.c b/sysdeps/ieee754/ldbl-opt/w_remainder.c new file mode 100644 index 0000000000..94d98930f4 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_remainder.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_remainder.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __remainder, remainderl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_remainderl.c b/sysdeps/ieee754/ldbl-opt/w_remainderl.c new file mode 100644 index 0000000000..e450a25bbc --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_remainderl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_remainderl.c> +long_double_symbol (libm, __remainderl, remainderl); diff --git a/sysdeps/ieee754/ldbl-opt/w_scalb.c b/sysdeps/ieee754/ldbl-opt/w_scalb.c new file mode 100644 index 0000000000..e2ac601596 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_scalb.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_scalb.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __scalb, scalbl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_scalbl.c b/sysdeps/ieee754/ldbl-opt/w_scalbl.c new file mode 100644 index 0000000000..f3d3901f86 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_scalbl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_scalbl.c> +long_double_symbol (libm, __scalbl, scalbl); diff --git a/sysdeps/ieee754/ldbl-opt/w_sinh.c b/sysdeps/ieee754/ldbl-opt/w_sinh.c new file mode 100644 index 0000000000..a5400b5eb1 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_sinh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_sinh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sinh, sinhl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_sinhl.c b/sysdeps/ieee754/ldbl-opt/w_sinhl.c new file mode 100644 index 0000000000..b94f4ec845 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_sinhl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_sinhl.c> +long_double_symbol (libm, __sinhl, sinhl); diff --git a/sysdeps/ieee754/ldbl-opt/w_sqrt.c b/sysdeps/ieee754/ldbl-opt/w_sqrt.c new file mode 100644 index 0000000000..ca2ba061e8 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_sqrt.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_sqrt.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sqrt, sqrtl, GLIBC_2_0); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_sqrtl.c b/sysdeps/ieee754/ldbl-opt/w_sqrtl.c new file mode 100644 index 0000000000..609f5bf3d6 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_sqrtl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_sqrtl.c> +long_double_symbol (libm, __sqrtl, sqrtl); diff --git a/sysdeps/ieee754/ldbl-opt/w_tgamma.c b/sysdeps/ieee754/ldbl-opt/w_tgamma.c new file mode 100644 index 0000000000..cce9f348ed --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_tgamma.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_tgamma.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __tgamma, tgammal, GLIBC_2_1); +#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_tgammal.c b/sysdeps/ieee754/ldbl-opt/w_tgammal.c new file mode 100644 index 0000000000..c3c511db8c --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_tgammal.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_tgammal.c> +long_double_symbol (libm, __tgammal, tgammal); |