2017-10-02 00:07:06 +02:00
|
|
|
|
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* iconv/gconv_int.h (__gconv_open): Add attribute_hidden.
|
|
|
|
|
(__gconv_close): Likewise.
|
|
|
|
|
(__gconv): Likewise.
|
|
|
|
|
(__gconv_find_transform): Likewise.
|
|
|
|
|
(__gconv_lookup_cache): Likewise.
|
|
|
|
|
(__gconv_compare_alias_cache): Likewise.
|
|
|
|
|
(__gconv_load_cache): Likewise.
|
|
|
|
|
(__gconv_get_path): Likewise.
|
|
|
|
|
(__gconv_close_transform): Likewise.
|
|
|
|
|
(__gconv_release_cache): Likewise.
|
|
|
|
|
(__gconv_find_shlib): Likewise.
|
|
|
|
|
(__gconv_release_shlib): Likewise.
|
|
|
|
|
(__gconv_get_builtin_trans): Likewise.
|
|
|
|
|
(__gconv_compare_alias): Likewise.
|
|
|
|
|
* include/dlfcn.h (_dlerror_run): Likewise.
|
|
|
|
|
* include/stdio.h (__fortify_fail_abort): Likewise.
|
|
|
|
|
* include/time.h (__tz_compute): Likewise.
|
|
|
|
|
(__strptime_internal): Likewise.
|
|
|
|
|
* intl/gettextP.h (_nl_find_domain): Likewise.
|
|
|
|
|
(_nl_load_domain): Likewise.
|
|
|
|
|
(_nl_find_msg): Likewise.
|
|
|
|
|
* intl/plural-exp.h (FREE_EXPRESSION): Likewise.
|
|
|
|
|
(EXTRACT_PLURAL_EXPRESSION): Likewise.
|
|
|
|
|
* locale/coll-lookup.h (__collidx_table_lookup): Likewise.
|
|
|
|
|
* resolv/gai_misc.h (__gai_enqueue_request): Likewise.
|
|
|
|
|
(__gai_find_request): Likewise.
|
|
|
|
|
(__gai_remove_request): Likewise.
|
|
|
|
|
(__gai_notify): Likewise.
|
|
|
|
|
(__gai_notify_only): Likewise.
|
|
|
|
|
* sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
|
|
|
|
|
(_dl_non_dynamic_init): Likewise.
|
|
|
|
|
(_dl_aux_init): Likewise.
|
|
|
|
|
* sysdeps/i386/machine-gmon.h (mcount_internal): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64):
|
|
|
|
|
Likewise.
|
|
|
|
|
* wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise.
|
|
|
|
|
(__wcsmbs_clone_conv): Likewise.
|
|
|
|
|
(__wcsmbs_named_conv): Likewise.
|
|
|
|
|
|
2017-10-01 23:34:18 +02:00
|
|
|
|
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* include/stdlib.h (__random): Add attribute_hidden.
|
|
|
|
|
(__random_r): Likewise.
|
|
|
|
|
(__srandom_r): Likewise.
|
|
|
|
|
(__initstate_r): Likewise.
|
|
|
|
|
(__setstate_r): Likewise.
|
|
|
|
|
(__erand48_r): Likewise.
|
|
|
|
|
(__nrand48_r): Likewise.
|
|
|
|
|
(__jrand48_r): Likewise.
|
|
|
|
|
(__srand48_r): Likewise.
|
|
|
|
|
(__seed48_r): Likewise.
|
|
|
|
|
(__lcong48_r): Likewise.
|
|
|
|
|
(__drand48_iterate): Likewise.
|
|
|
|
|
(__setenv): Likewise.
|
|
|
|
|
(__unsetenv): Likewise.
|
|
|
|
|
(__clearenv): Likewise.
|
|
|
|
|
(__ptsname_r): Likewise.
|
|
|
|
|
(__posix_openpt): Likewise.
|
|
|
|
|
(__add_to_environ): Likewise.
|
|
|
|
|
(__realpath): Add libc_hidden_proto.
|
|
|
|
|
(__ecvt_r): Likewise.
|
|
|
|
|
(__fcvt_r): Likewise.
|
|
|
|
|
(__qecvt_r): Likewise.
|
|
|
|
|
(__qfcvt_r): Likewise.
|
|
|
|
|
* misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local).
|
|
|
|
|
* stdlib/canonicalize.c (__realpath): Add libc_hidden_def.
|
|
|
|
|
|
2017-10-01 23:33:26 +02:00
|
|
|
|
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* include/stdlib.h (__ptsname_internal): Add attribute_hidden.
|
|
|
|
|
* include/time.h (__mktime_internal): Likewise.
|
|
|
|
|
* libio/iolibio.h (__fopen_internal): Likewise.
|
|
|
|
|
|
2017-10-01 17:58:04 +02:00
|
|
|
|
2017-10-01 John David Anglin <danglin@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return
|
|
|
|
|
pointer in frame.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): Likewise.
|
|
|
|
|
Correct offset used to restore PIC register.
|
|
|
|
|
|
2017-10-01 01:02:57 +02:00
|
|
|
|
2017-09-30 John David Anglin <danglin@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
[BZ libc/22165]
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Use PIC
|
|
|
|
|
code to load address of __getcontext_ret when generating PIC code.
|
|
|
|
|
|
2017-09-30 10:39:14 +02:00
|
|
|
|
2017-09-30 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* elf/Makefile (tests-static-internal): Add
|
|
|
|
|
tst-tls1-static-non-pie.
|
|
|
|
|
(LDFLAGS-tst-tls1-static-non-pie): New.
|
|
|
|
|
* elf/tst-tls1-static-non-pie.c: New file.
|
|
|
|
|
|
2017-09-30 01:54:33 +02:00
|
|
|
|
2017-09-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_asinh.c: Include <libm-alias-double.h>.
|
|
|
|
|
(asinh): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_cbrt.c: Include <libm-alias-double.h>.
|
|
|
|
|
(cbrt): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_copysign.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(copysign): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_erf.c: Include <libm-alias-double.h>.
|
|
|
|
|
(erf): Define using libm_alias_double.
|
|
|
|
|
(erfc): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_expm1.c: Include <libm-alias-double.h>.
|
|
|
|
|
(expm1): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fabs.c: Include <libm-alias-double.h>.
|
|
|
|
|
(fabs): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fromfp.c (fromfp): Define using
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fromfp_main.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fromfpx.c (fromfpx): Define using
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_getpayload.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(getpayload): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_llrint.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(llrint): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_lrint.c: Include <libm-alias-double.h>.
|
|
|
|
|
(lrint): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_nextup.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(nextup): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_roundeven.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(roundeven): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_setpayload.c (setpayload): Define using
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_setpayload_main.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_setpayloadsig.c (setpayloadsig): Define
|
|
|
|
|
using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_sin.c: Include <libm-alias-double.h>.
|
|
|
|
|
(cos): Define using libm_alias_double.
|
|
|
|
|
(sin): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_sincos.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(sincos): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_tanh.c: Include <libm-alias-double.h>.
|
|
|
|
|
(tanh): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_totalorder.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(totalorder): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_totalordermag.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(totalordermag): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ufromfp.c (ufromfp): Define using
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ufromfpx.c (ufromfpx): Define using
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(getpayload): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(roundeven): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_setpayload_main.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(totalorder): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
(totalordermag): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_copysign.c (copysignl): Only define
|
|
|
|
|
libc compat symbol here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_asinh.c: Remove file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_cbrt.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_erf.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_expm1.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_fabs.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_llrint.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_lrint.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_sin.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_sincos.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_tanh.c: Likewise.
|
|
|
|
|
|
2017-09-30 01:23:18 +02:00
|
|
|
|
2017-09-29 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/arm/dl-machine.h (elf_machine_load_address): Use
|
|
|
|
|
_dl_relocate_static_pie instead of _dl_start to compute load
|
|
|
|
|
address in static PIE. Return 0 if _DYNAMIC is undefined for
|
|
|
|
|
static executable.
|
|
|
|
|
|
2017-09-30 01:21:49 +02:00
|
|
|
|
2017-09-29 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/mips/dl-machine.h (elf_machine_dynamic): Return 0 if
|
|
|
|
|
_DYNAMIC is undefined for static executable.
|
|
|
|
|
|
2017-09-30 01:20:26 +02:00
|
|
|
|
2017-09-29 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/arm/start.S (_start): Check PIC instead of SHARED.
|
|
|
|
|
|
2017-09-29 20:03:48 +02:00
|
|
|
|
2017-09-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
|
|
|
|
|
|
2017-09-29 19:54:24 +02:00
|
|
|
|
2017-09-29 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_lgamma_r.c
|
|
|
|
|
(__ieee754_lgamma_r): Use fabs rather than __fabs.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_lgammaf_r.c
|
|
|
|
|
(__ieee754_lgammaf_r): Use fabsf rather than __fabsf.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c
|
|
|
|
|
(__ieee754_lgammal_r): Use fabsl rather than __fabsl.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c
|
|
|
|
|
(__ieee754_lgammal_r): Use fabsl rather than __fabsl.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise.
|
|
|
|
|
* sysdeps/powerpc/nofpu/Makefile: Add -fno-builtin-fabsl for BZ #29253.
|
|
|
|
|
|
2017-09-29 18:52:06 +02:00
|
|
|
|
2017-09-29 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/bits/cmathcalls.h (cimag): Remove inline.
|
|
|
|
|
(creal): Remove inline.
|
|
|
|
|
(conj): Remove inline.
|
|
|
|
|
|
2017-09-04 18:55:33 +02:00
|
|
|
|
2017-09-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/Makefile (type-float-routines): Add e_powf_log2_data.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_powf.c: New implementation.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_powf_log2_data.c: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/math_config.h (__powf_log2_data): Define.
|
|
|
|
|
(issignalingf_inline): Likewise.
|
|
|
|
|
(POWF_LOG2_TABLE_BITS): Likewise.
|
|
|
|
|
(POWF_LOG2_POLY_ORDER): Likewise.
|
|
|
|
|
(POWF_SCALE_BITS): Likewise.
|
|
|
|
|
(POWF_SCALE): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/e_powf_log2_data.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/e_powf_log2_data.c: New file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c: New file.
|
|
|
|
|
|
2017-09-04 18:53:47 +02:00
|
|
|
|
2017-09-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/Makefile (type-float-routines): Add e_log2f_data.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_log2f.c: New implementation.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_log2f_data.c: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/math_config.h (__log2f_data): Define.
|
|
|
|
|
(LOG2F_TABLE_BITS, LOG2F_POLY_ORDER): Define.
|
|
|
|
|
* sysdeps/i386/fpu/e_log2f_data.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/e_log2f_data.c: New file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_log2f_data.c: New file.
|
|
|
|
|
|
2017-09-29 12:48:40 +02:00
|
|
|
|
2017-09-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/Makefile (type-float-routines): Add e_logf_data.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_logf.c: New implementation.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_logf_data.c: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/math_config.h (__logf_data): Define.
|
|
|
|
|
(LOGF_TABLE_BITS, LOGF_POLY_ORDER): Define.
|
|
|
|
|
* sysdeps/i386/fpu/e_logf_data.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/e_logf_data.c: New file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_logf_data.c: New file.
|
|
|
|
|
|
2017-09-29 00:28:00 +02:00
|
|
|
|
2017-09-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/dl-machine.h (elf_machine_load_address): Allow
|
|
|
|
|
undefined _DYNAMIC in PIE libc.a.
|
|
|
|
|
* sysdeps/x86_64/dl-machine.h (elf_machine_load_address):
|
|
|
|
|
Likewse.
|
|
|
|
|
|
2017-09-28 20:52:13 +02:00
|
|
|
|
2017-09-28 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/alpha/fpu/bits/mathinline.h: Delete file.
|
|
|
|
|
* sysdeps/ia64/fpu/bits/mathinline.h: Delete file.
|
|
|
|
|
* sysdeps/m68k/coldfire/fpu/bits/mathinline.h: Delete file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h: (__signbitf): Remove.
|
|
|
|
|
(__signbit): Remove.
|
|
|
|
|
(__signbitl): Remove.
|
|
|
|
|
* sysdeps/powerpc/bits/mathinline.h (__signbitf): Remove.
|
|
|
|
|
(__signbit): Remove.
|
|
|
|
|
(__signbitl): Remove.
|
|
|
|
|
* sysdeps/s390/fpu/bits/mathinline.h: (__signbitf): Remove.
|
|
|
|
|
(__signbit): Remove.
|
|
|
|
|
(__signbitl): Remove.
|
|
|
|
|
* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf): Remove.
|
|
|
|
|
(__signbit): Remove.
|
|
|
|
|
(__signbitl): Remove.
|
|
|
|
|
* sysdeps/tile/bits/mathinline.h: Delete file.
|
|
|
|
|
* sysdeps/x86/fpu/bits/mathinline.h (__signbitf): Remove.
|
|
|
|
|
(__signbit): Remove.
|
|
|
|
|
(__signbitl): Remove.
|
|
|
|
|
|
2017-09-28 20:20:33 +02:00
|
|
|
|
2017-09-28 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/math.h: Improve handling of C99 isgreater macros.
|
|
|
|
|
* sysdeps/alpha/fpu/bits/mathinline.h: Remove isgreater macros.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Likewise.
|
|
|
|
|
* sysdeps/powerpc/bits/mathinline.h: Likewise.
|
|
|
|
|
* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
|
|
|
|
|
* sysdeps/x86/fpu/bits/mathinline.h: Likewise.
|
|
|
|
|
|
2017-09-18 14:37:08 +02:00
|
|
|
|
2017-09-28 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/libm-test-ulps: Update.
|
|
|
|
|
|
2017-09-28 03:59:02 +02:00
|
|
|
|
2017-09-28 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22225]
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use
|
|
|
|
|
math_opt_barrier on argument when doing arithmetic on it.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint):
|
|
|
|
|
Likewise. Use math_force_eval not math_opt_barrier after
|
|
|
|
|
arithmetic.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Use
|
|
|
|
|
math_opt_barrier on argument when doing arithmetic on it.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-09-28 02:18:32 +02:00
|
|
|
|
2017-09-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add
|
|
|
|
|
libc_hidden_def.
|
|
|
|
|
(__freeifaddrs): Likewise.
|
|
|
|
|
|
2017-09-27 23:46:51 +02:00
|
|
|
|
2017-09-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* include/dirent.h (__dirfd): New declaration.
|
|
|
|
|
* dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak
|
|
|
|
|
alias.
|
|
|
|
|
* sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/dirfd.c (dirfd): Likewise.
|
|
|
|
|
* io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd.
|
2017-09-28 00:01:40 +02:00
|
|
|
|
* include/unistd.h (__revoke): New declaration.
|
|
|
|
|
* misc/revoke.c (revoke): Rename to __revoke, and redefine as weak
|
|
|
|
|
alias.
|
|
|
|
|
* sysdeps/mach/hurd/revoke.c (revoke): Likewise.
|
|
|
|
|
* sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of
|
|
|
|
|
revoke.
|
2017-09-28 00:41:02 +02:00
|
|
|
|
* include/dirent.h (__seekdir): New declaration.
|
|
|
|
|
* sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and
|
|
|
|
|
redefine as weak alias.
|
|
|
|
|
* sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead
|
|
|
|
|
of seekdir.
|
2017-09-28 00:19:18 +02:00
|
|
|
|
* include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
|
|
|
|
|
and use libc_hidden_def on them.
|
|
|
|
|
* inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
|
|
|
|
|
them.
|
|
|
|
|
* sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
|
|
|
|
|
* inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
|
|
|
|
|
instead of getifaddrs and freeifaddrs.
|
2017-09-27 23:46:51 +02:00
|
|
|
|
|
2017-09-27 01:53:25 +02:00
|
|
|
|
2017-09-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* dlfcn/modatexit.c (foo): Remove __dso_handle check.
|
|
|
|
|
* dlfcn/modcxaatexit.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Remove declaration.
|
|
|
|
|
* dlfcn/tstatexit.c (__dso_handle): Removed.
|
|
|
|
|
(main): Don't check __dso_handle.
|
|
|
|
|
* dlfcn/tstcxaatexit.c (__dso_handle): Removed.
|
|
|
|
|
(main): Don't check __dso_handle.
|
|
|
|
|
* include/dso_handle.h: New file.
|
|
|
|
|
* malloc/mtrace.c: Include <dso_handle.h>.
|
|
|
|
|
(mtrace): Pass __dso_handle directly.
|
|
|
|
|
* nptl/pthread_atfork.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Remove declaration.
|
|
|
|
|
(__pthread_atfork): Pass __dso_handle directly.
|
|
|
|
|
* nptl/tst-atfork2mod.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Removed.
|
|
|
|
|
* posix/wordexp-test.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Remove declaration.
|
|
|
|
|
(__app_register_atfork): Pass __dso_handle directly.
|
|
|
|
|
* stdlib/at_quick_exit.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Remove declaration.
|
|
|
|
|
(at_quick_exit): Pass __dso_handle directly.
|
|
|
|
|
* stdlib/atexit.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Remove declaration.
|
|
|
|
|
(atexit): Pass __dso_handle directly.
|
|
|
|
|
* stdlib/tst-tls-atexit-lib.c: Include <dso_handle.h>.
|
|
|
|
|
(__dso_handle): Removed.
|
|
|
|
|
|
2017-09-26 23:21:01 +02:00
|
|
|
|
2017-09-26 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/make-syscalls.sh: Use __ifunc to define symbols
|
|
|
|
|
using VDSO.
|
|
|
|
|
|
Fix range check in do_tunable_update_val
Current implementation of tunables does not set arena_max and arena_test
values. Any value provided by glibc.malloc.arena_max and
glibc.malloc.arena_test parameters is ignored.
These tunables have minval value set to 1 (see elf/dl-tunables.list file)
and undefined maxval value. In that case default value (which is 0. see
scripts/gen-tunables.awk) is being used to set maxval.
For instance, generated tunable_list[] entry for arena_max is:
(gdb) p *cur
$1 = {name = 0x7ffff7df6217 "glibc.malloc.arena_max",
type = {type_code = TUNABLE_TYPE_SIZE_T, min = 1, max = 0},
val = {numval = 0, strval = 0x0}, initialized = false,
security_level = TUNABLE_SECLEVEL_SXID_IGNORE,
env_alias = 0x7ffff7df622e "MALLOC_ARENA_MAX"}
As a result, any value of glibc.malloc.arena_max is ignored by
TUNABLE_SET_VAL_IF_VALID_RANGE macro
__type min = (__cur)->type.min; <- initialized to 1
__type max = (__cur)->type.max; <- initialized to 0!
if (min == max) <- false
{
min = __default_min;
max = __default_max;
}
if ((__type) (__val) >= min && (__type) (val) <= max) <- false
{
(__cur)->val.numval = val;
(__cur)->initialized = true;
}
Assigning correct min/max values at a build time fixes a problem.
Plus, a bit of optimization: Setting of default min/max values for the
given type at a run time might be eliminated.
* elf/dl-tunables.c (do_tunable_update_val): Range checking fix.
* scripts/gen-tunables.awk: Set unspecified minval and/or maxval
values to correct default value for given type.
2017-09-26 23:14:09 +02:00
|
|
|
|
2017-09-26 Alexey Makhalov <amakhalov@vmware.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-tunables.c (do_tunable_update_val): Range checking fix.
|
|
|
|
|
* scripts/gen-tunables.awk: Set unspecified minval and/or maxval
|
|
|
|
|
values to correct default value for given type.
|
|
|
|
|
|
2017-09-26 22:49:48 +02:00
|
|
|
|
2017-09-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22101]
|
|
|
|
|
* elf/Makefile (tests): Add tst-debug1.
|
|
|
|
|
($(objpfx)tst-debug1): New.
|
|
|
|
|
($(objpfx)tst-debug1.out): Likewise.
|
|
|
|
|
($(objpfx)tst-debug1mod1.so): Likewise.
|
|
|
|
|
* elf/dl-load.c (_dl_map_object_from_fd): Skip PT_DYNAMIC segment
|
|
|
|
|
with p_filesz == 0.
|
|
|
|
|
* elf/tst-debug1.c: New file.
|
|
|
|
|
|
2017-09-26 21:49:33 +02:00
|
|
|
|
2017-09-26 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc):
|
|
|
|
|
Define using __ifunc.
|
|
|
|
|
|
2017-09-26 21:13:33 +02:00
|
|
|
|
2017-09-26 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/fpu/libm-test-ulps: Regenerate expf() and
|
|
|
|
|
exp2f() values.
|
|
|
|
|
|
2017-09-26 18:30:46 +02:00
|
|
|
|
2017-09-26 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22156]
|
|
|
|
|
* sysdeps/ia64/stackinfo.h (DEFAULT_STACK_PERMS): Likewise.
|
|
|
|
|
|
2017-09-26 13:53:17 +02:00
|
|
|
|
2017-09-26 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* resolv/Makefile (tests-internal): Fix typo in comment.
|
|
|
|
|
|
2017-09-26 13:47:48 +02:00
|
|
|
|
2017-09-26 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* resolv/nss_dns/dns-host.c: Fix typo in comment.
|
|
|
|
|
|
posix: Add compat glob symbol to not follow dangling symbols
This patch follows commit 5554304f0 (posix: Allow glob to match dangling
symlinks [BZ #866]) by adding a compat symbol that follow previous
semantic of not following dangling symlinks and thus avoiding call
gl_lstat with GLOB_ALTDIRFUNC.
It avoids failure with old binaries that not set the alternate function
pointer for lstat (GNUmake for instance). The following scenario, for
instance, fails with current GNUmake because glibc will access unitialized
memory when calling gl_lstat:
$ cat src/t/t.c
int main ()
{
return 0;
}
$ cat Makefile
SRC = $(wildcard src/*/t.c)
OBJ = $(patsubst src/%.c, obj/%.o, $(SRC))
prog: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) $(OBJ) -o prog
obj/%.o: src/%.c
$(CC) $(CFLAGS) -c $< -o $@
$ make
This works as expected with the patch applied. Since it is for generic
ABI, default compat symbols are added with override for Linux due LFS.
Now we have two compat symbols for glob on Linux:
1. sysdeps/unix/sysv/linux/oldglob.c which implements glob64 with
the old dirent layout. For this implementation I also set it to
not follow dangling symlinks (which is the safest path).
2. sysdeps/unix/sysv/linux/glob{64}-lstat-compat.c which implements
the compat symbol for dangling symlinks. As for generic glob,
the implementation uses XSTAT_IS_XSTAT64 to define whether
both __glob_lstat_compat and __glob64_lstat_compat should be
different implementations. For archictures that define
XSTAT_IS_XSTAT64, __glob_lstat_compat is aliased to
__glob64_lstat_compat.
3. sysdeps/unix/sysv/linux/alpha/oldglob.c with a different glob_t
layout. As for 1. this patch changes it to not follow dangling
symlinks.
The patch also bumps _GNU_GLOB_INTERFACE_VERSION to 2 to advertise the
new semantic. On GNUmake, for instance, it will force to it use its
internal glob implementation instead and avoiding triggering the same
failure on builds against newer GLIBCs.
Checked on x86_64-linux-gnu and i686-linux-gnu. I also checked
with a build against the major ABIs required to check for the abilist.
The changes should also work on gnulib (I run gnulib-tool.py check glob
and it shown no regressions).
[BZ #22183]
* include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase
version to 2.
* posix/Makefile (routines): Add glob-lstat-compat and
glob64-lstat-compat.
* posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version.
* posix/glob-lstat-compat.c: New file.
* posix/glob64-lstat-compat.c: Likewise.
* posix/tst-glob_lstat_compat.c: Likewise.
* sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/glob.c: Remove file.
* posix/glob.c (glob_lstat): New function.
(glob): Rename to __glob and add versioned symbol to 2.27.
(glob_in_dir): Use glob_lstat.
* posix/glob64.c (glob64): Add GLOB_ATTRIBUTE.
* sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for
2.27.
* sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise.
* sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define.
* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use
gl_lstat on glob call.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob
and glob64 symbols.
* sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
Likewise.
* sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
2017-09-15 16:31:13 +02:00
|
|
|
|
2017-09-25 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-09-18 14:26:00 +02:00
|
|
|
|
* lib/malloc/scratch_buffer.h (struct scratch_buffer):
|
|
|
|
|
Use an union instead of a max_align_t array for __space,
|
|
|
|
|
so that __space is the same size on all platforms.
|
|
|
|
|
* malloc/scratch_buffer_grow_preserve.c
|
|
|
|
|
(__libc_scratch_buffer_grow_preserve): Likewise.
|
|
|
|
|
|
posix: Add compat glob symbol to not follow dangling symbols
This patch follows commit 5554304f0 (posix: Allow glob to match dangling
symlinks [BZ #866]) by adding a compat symbol that follow previous
semantic of not following dangling symlinks and thus avoiding call
gl_lstat with GLOB_ALTDIRFUNC.
It avoids failure with old binaries that not set the alternate function
pointer for lstat (GNUmake for instance). The following scenario, for
instance, fails with current GNUmake because glibc will access unitialized
memory when calling gl_lstat:
$ cat src/t/t.c
int main ()
{
return 0;
}
$ cat Makefile
SRC = $(wildcard src/*/t.c)
OBJ = $(patsubst src/%.c, obj/%.o, $(SRC))
prog: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) $(OBJ) -o prog
obj/%.o: src/%.c
$(CC) $(CFLAGS) -c $< -o $@
$ make
This works as expected with the patch applied. Since it is for generic
ABI, default compat symbols are added with override for Linux due LFS.
Now we have two compat symbols for glob on Linux:
1. sysdeps/unix/sysv/linux/oldglob.c which implements glob64 with
the old dirent layout. For this implementation I also set it to
not follow dangling symlinks (which is the safest path).
2. sysdeps/unix/sysv/linux/glob{64}-lstat-compat.c which implements
the compat symbol for dangling symlinks. As for generic glob,
the implementation uses XSTAT_IS_XSTAT64 to define whether
both __glob_lstat_compat and __glob64_lstat_compat should be
different implementations. For archictures that define
XSTAT_IS_XSTAT64, __glob_lstat_compat is aliased to
__glob64_lstat_compat.
3. sysdeps/unix/sysv/linux/alpha/oldglob.c with a different glob_t
layout. As for 1. this patch changes it to not follow dangling
symlinks.
The patch also bumps _GNU_GLOB_INTERFACE_VERSION to 2 to advertise the
new semantic. On GNUmake, for instance, it will force to it use its
internal glob implementation instead and avoiding triggering the same
failure on builds against newer GLIBCs.
Checked on x86_64-linux-gnu and i686-linux-gnu. I also checked
with a build against the major ABIs required to check for the abilist.
The changes should also work on gnulib (I run gnulib-tool.py check glob
and it shown no regressions).
[BZ #22183]
* include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase
version to 2.
* posix/Makefile (routines): Add glob-lstat-compat and
glob64-lstat-compat.
* posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version.
* posix/glob-lstat-compat.c: New file.
* posix/glob64-lstat-compat.c: Likewise.
* posix/tst-glob_lstat_compat.c: Likewise.
* sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/glob.c: Remove file.
* posix/glob.c (glob_lstat): New function.
(glob): Rename to __glob and add versioned symbol to 2.27.
(glob_in_dir): Use glob_lstat.
* posix/glob64.c (glob64): Add GLOB_ATTRIBUTE.
* sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for
2.27.
* sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise.
* sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define.
* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use
gl_lstat on glob call.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob
and glob64 symbols.
* sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
Likewise.
* sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
2017-09-15 16:31:13 +02:00
|
|
|
|
[BZ #22183]
|
|
|
|
|
* include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase
|
|
|
|
|
version to 2.
|
|
|
|
|
* posix/Makefile (routines): Add glob-lstat-compat and
|
|
|
|
|
glob64-lstat-compat.
|
|
|
|
|
* posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version.
|
|
|
|
|
* posix/glob-lstat-compat.c: New file.
|
|
|
|
|
* posix/glob64-lstat-compat.c: Likewise.
|
|
|
|
|
* posix/tst-glob_lstat_compat.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/glob64-lstat-compat.c:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/glob.c: Remove file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise.
|
|
|
|
|
* posix/glob.c (glob_lstat): New function.
|
|
|
|
|
(glob): Rename to __glob and add versioned symbol to 2.27.
|
|
|
|
|
(glob_in_dir): Use glob_lstat.
|
|
|
|
|
* posix/glob64.c (glob64): Add GLOB_ATTRIBUTE.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for
|
|
|
|
|
2.27.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use
|
|
|
|
|
gl_lstat on glob call.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob
|
|
|
|
|
and glob64 symbols.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
|
|
|
|
|
|
2017-09-26 03:01:23 +02:00
|
|
|
|
2017-09-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (AS): Require binutils 2.25 or later.
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2017-09-26 02:51:34 +02:00
|
|
|
|
2017-09-25 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22207]
|
|
|
|
|
* stdlib/test-atexit-race-common.c (do_test): Minimize required
|
|
|
|
|
VM size.
|
|
|
|
|
|
2017-09-26 01:43:09 +02:00
|
|
|
|
2017-09-25 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22161]
|
|
|
|
|
* nscd/netgroupcache.c (addinnetgrX): Release read lock after
|
|
|
|
|
resetting timeout.
|
|
|
|
|
|
2017-09-25 15:56:22 +02:00
|
|
|
|
2017-09-25 Stefan Liebler <stli@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/sincos32.h
|
|
|
|
|
[SINCCOS32_H]: Remove define.
|
|
|
|
|
[SINCOS32_H]: Define.
|
|
|
|
|
|
2017-09-12 13:20:50 +02:00
|
|
|
|
2017-09-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/Versions (expf): New libm symbol at GLIBC_2.27.
|
|
|
|
|
(exp2f): Likewise.
|
|
|
|
|
* math/w_exp2f.c: New file.
|
|
|
|
|
* math/w_expf.c: New file.
|
|
|
|
|
* math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only.
|
|
|
|
|
* math/w_expf_compat.c (__expf_compat): Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols.
|
|
|
|
|
* sysdeps/ia64/fpu/e_expf.S: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
|
|
|
|
|
|
2017-09-06 18:42:00 +02:00
|
|
|
|
2017-09-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* math/Makefile (type-float-routines): Add math_errf and e_exp2f_data.
|
|
|
|
|
* sysdeps/aarch64/fpu/math_private.h (TOINT_INTRINSICS): Define.
|
|
|
|
|
(roundtoint, converttoint): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_expf.c: New implementation.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_exp2f.c: New implementation.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_exp2f_data.c: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/math_config.h: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/math_errf.c: New file.
|
|
|
|
|
* sysdeps/ieee754/flt-32/t_exp2f.h: Remove.
|
|
|
|
|
* sysdeps/i386/fpu/e_exp2f_data.c: New file.
|
|
|
|
|
* sysdeps/i386/fpu/math_errf.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/e_exp2f_data.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/math_errf.c: New file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_exp2f_data.c: New file.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/math_errf.c: New file.
|
|
|
|
|
|
hurd: Make sure dl-sysdep.c defines proper symbol names
* sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro.
(__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64,
__mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
__getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
to make sure that these symbols are defined.
2017-09-24 17:54:02 +02:00
|
|
|
|
2017-09-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro.
|
|
|
|
|
(__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64,
|
|
|
|
|
__mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
|
|
|
|
|
__getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
|
|
|
|
|
to make sure that these symbols are defined.
|
2017-09-24 22:20:10 +02:00
|
|
|
|
* sysdeps/mach/hurd/bits/socket.h: Include <bits/wordsize.h> instead
|
|
|
|
|
of <limits.h>
|
|
|
|
|
(__need_NULL): Do not define.
|
|
|
|
|
(__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine
|
|
|
|
|
alignment.
|
|
|
|
|
[!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP,
|
|
|
|
|
CMGROUP_MAX, cmsgcred): Do not define.
|
|
|
|
|
(CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of
|
|
|
|
|
NULL.
|
|
|
|
|
* bits/socket.h: Likewise.
|
2017-09-25 01:55:02 +02:00
|
|
|
|
* sysdeps/unix/clock_gettime.c (realtime_gettime, __clock_gettime): Use
|
|
|
|
|
__gettimeofday instead of gettimeofday.
|
|
|
|
|
* sysdeps/unix/clock_settime.c (__clock_settime): Use __settimeofday
|
|
|
|
|
instead of settimeofday.
|
hurd: Make sure dl-sysdep.c defines proper symbol names
* sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro.
(__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64,
__mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
__getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
to make sure that these symbols are defined.
2017-09-24 17:54:02 +02:00
|
|
|
|
|
2017-09-22 22:24:12 +02:00
|
|
|
|
2017-09-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_asinhf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(asinhf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_atanf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(atanf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_cbrtf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(cbrtf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ceilf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(ceilf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_copysignf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(copysignf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_cosf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(cosf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_erff.c: Include <libm-alias-float.h>.
|
|
|
|
|
(erff): Define using libm_alias_float.
|
|
|
|
|
(erfcf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_expm1f.c: Include <libm-alias-float.h>.
|
|
|
|
|
(expm1f): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fabsf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(fabsf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_floorf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(floorf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_frexpf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(frexpf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using
|
|
|
|
|
libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using
|
|
|
|
|
libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_getpayloadf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(getpayloadf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_llrintf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(llrintf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_llroundf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(llroundf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_logbf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(logbf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_lrintf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(lrintf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_lroundf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(lroundf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_modff.c: Include <libm-alias-float.h>.
|
|
|
|
|
(modff): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_nearbyintf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(nearbyintf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_nextafterf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(nextafterf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_nextupf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(nextupf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_remquof.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(remquof): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_rintf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(rintf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_roundevenf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(roundevenf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_roundf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(roundf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define
|
|
|
|
|
using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf):
|
|
|
|
|
Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_sincosf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(sincosf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_sinf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(sinf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_tanf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(tanf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_tanhf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(tanhf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_totalorderf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(totalorderf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_totalordermagf.c: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
(totalordermagf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_truncf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(truncf): Define using libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using
|
|
|
|
|
libm_alias_float.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using
|
|
|
|
|
libm_alias_float.
|
|
|
|
|
|
Let fpclassify use the builtin when optimizing for size in C++ mode (bug 22146)
When optimization for size is on (-Os), fpclassify does not use the
type-generic __builtin_fpclassify builtin, instead it uses __MATH_TG.
However, when library support for float128 is available, __MATH_TG uses
__builtin_types_compatible_p, which is not available in C++ mode.
On the other hand, libstdc++ undefines (in cmath) many macros from
math.h, including fpclassify, so that it can provide its own functions.
However, during its configure tests, libstdc++ just tests for the
availability of the macros (it does not undefine them, nor does it
provide its own functions).
Finally, when libstdc++ is configured with optimization for size
enabled, its configure tests include math.h and get the definition of
fpclassify that uses __MATH_TG (and __builtin_types_compatible_p).
Since libstdc++ does not undefine the macros during its configure tests,
they fail.
This patch lets fpclassify use the builtin in C++ mode, even when
optimization for size is on. This allows the configure test in
libstdc++ to work.
Tested for powerpc64le and x86_64.
[BZ #22146]
math/math.h: Let fpclassify use the builtin in C++ mode, even
when optimazing for size.
2017-09-20 20:10:26 +02:00
|
|
|
|
2017-09-22 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
[BZ #22146]
|
|
|
|
|
math/math.h: Let fpclassify use the builtin in C++ mode, even
|
|
|
|
|
when optimazing for size.
|
|
|
|
|
|
2017-09-22 19:43:42 +02:00
|
|
|
|
2017-09-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* csu/Makefile (generated): Do not add version-info.h.
|
|
|
|
|
(before-compile): Likewise.
|
|
|
|
|
(all-Banner-files): Remove variable.
|
|
|
|
|
($(objpfx)version-info.h): Remove rule.
|
|
|
|
|
* csu/version.c (banner): Do not include "version-info.h".
|
|
|
|
|
* libidn/Banner: Remove.
|
|
|
|
|
* manual/contrib.texi (Simon Josefsson): New entry.
|
|
|
|
|
|
2017-09-10 15:31:47 +02:00
|
|
|
|
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
|
|
|
|
|
Remove conditionals on LDBL_MANT_DIG.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c
|
|
|
|
|
(__ieee754_lgammal_r): Likewise.
|
|
|
|
|
|
ldbl-128ibm: Automatic replacing of _Float128 and L()
The ldbl-128ibm implementation of j0l, j1l, lgammal_r, and cbrtl, as
well as the tables used by expl were copied from ldbl-128. However, the
original files used _Float128 for the type and L() for the literal
suffix. This patch uses the following sed command to rewrite _Float128
as long double and L(x) as xL (for e_expl.c, e_j0l.c, e_j1l.c,
e_lgammal_r.c, and t_expl.h):
sed -i <filename> \
-e "/^#define _Float128 long double/d" \
-e "/^#define L(x) x ## L/d" \
-e "/L(/s/)/L/" \
-e "/L(/s/L(//" \
-e "s/_Float128/long double/g"
For sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c, this sed command incorrectly
replaces a few occurrences of L(), so the following command is used
instead:
sed -i sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c \
-e "/^#define _Float128 long double/d" \
-e "/^#define L(x) x ## L/d" \
-e "s/L(0\.3\{40\})/0.3333333333333333333333333333333333333333L/" \
-e "s/L(3\.7568280825958912391243e-1)/3.7568280825958912391243e-1L/" \
-e "/L(/s/)/L/" \
-e "/L(/s/L(//" \
-e "s/_Float128/long double/g"
Tested for powerpc64le with patched [1] and unpatched gcc.
[1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
* sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of
_Float128 and L().
* sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Remove definitions of
_Float128 and L(). Replace _Float128 with long double and L(x)
with xL, throughout the file.
* sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise.
2017-09-10 00:37:11 +02:00
|
|
|
|
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of
|
|
|
|
|
_Float128 and L().
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Remove definitions of
|
|
|
|
|
_Float128 and L(). Replace _Float128 with long double and L(x)
|
|
|
|
|
with xL, throughout the file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise.
|
|
|
|
|
|
2017-09-04 19:34:04 +02:00
|
|
|
|
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_expl.c: Include tables from
|
|
|
|
|
sysdeps/ieee754/ldbl-128ibm.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Copy contents from the
|
|
|
|
|
equivalent implementation in sysdeps/ieee754/ldbl-128/ instead
|
|
|
|
|
of including it. Keep _Float128 and L() intact. These will be
|
|
|
|
|
reviewed by a separate patch.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise.
|
|
|
|
|
|
powerpc: Add redirection for finitef128, isinf128, and isnanf128
On powerpc64le, compiler support for float128 is not enabled by default
on gcc. To enable it, the flag -mfloat128 must be passed as a command
line option to the compiler. This means that only the few files that
actively have -mfloat128 passed as an argument get compiler support for
float128, whereas all other files don't.
When -mfloat128 becomes enabled by default on powerpc [1], all the files
that do not currently have compiler support for float128 enabled during
their compilation, will start to have it. This will lead to build
errors in s_finite.c, s_isinf.c, and s_isnan.c.
The errors are due to the unintended macro expansion of __finitef128 to
__redirect_finitef128 in math/bits/mathcalls-helper-functions.h. In
that header, __MATHDECL_1 takes '__finite' and 'f128' as arguments and
concatenates them. However, since '__finite' has been redefined in
s_finite.c, the function declaration becomes __redirect_finitef128:
extern int __redirect___finitef128 (_Float128 __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__));
This declaration itself is OK. The problem arises when include/math.h
creates the hidden prototype ('hidden_proto (__finitef128)'), which
expands to:
extern __typeof (__finitef128) __finitef128 __attribute__ ((visibility ("hidden")));
Since __finitef128 is not declared, __typeof fails. This effect was
already true for the 'float' and 'long double' versions and is now true
for float128. Likewise for isinsff128 and isnanf128.
This patch defines __finitef128 as __redirect___finitef128 in
sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c, similarly to what's
done for the float and long double versions of these functions, to get
rid of the build error. Likewise for isinff128 and isnanf128.
[1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
Tested for powerpc64 and powerpc64le.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c
(__finitef128): Define to __redirect___finitef128.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c
(__isinff128): Define to __redirect___isinff128.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c
(__isnanf128): Define to __redirect___isnanf128.
2017-09-04 18:07:18 +02:00
|
|
|
|
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c
|
|
|
|
|
(__finitef128): Define to __redirect___finitef128.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c
|
|
|
|
|
(__isinff128): Define to __redirect___isinff128.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c
|
|
|
|
|
(__isnanf128): Define to __redirect___isnanf128.
|
|
|
|
|
|
2017-09-04 17:48:31 +02:00
|
|
|
|
2017-09-21 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/powerpc64le/Makefile
|
|
|
|
|
(CFLAGS-tst-strtod-nan-locale.c): New variable.
|
|
|
|
|
(CFLAGS-tst-wcstod-nan-locale.c): New variable.
|
|
|
|
|
|
2017-09-21 21:14:41 +02:00
|
|
|
|
2017-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
Carlos O'Donell <carlos@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22180]
|
|
|
|
|
* stdlib/Makefile (tests): Add test-dlclose-exit-race.
|
|
|
|
|
* stdlib/test-dlclose-exit-race.c: New file.
|
|
|
|
|
* stdlib/test-dlclose-exit-race-helper.c: New file.
|
|
|
|
|
* stdlib/exit.c (__run_exit_handlers): Mark slot as free.
|
|
|
|
|
|
2017-09-21 19:49:51 +02:00
|
|
|
|
2017-09-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* crypt/Banner: Remove file.
|
|
|
|
|
* nptl/Banner: Likewise.
|
|
|
|
|
* resolv/Banner: Likewise.
|
|
|
|
|
* soft-fp/Banner: Likewise.
|
|
|
|
|
* nptl/Makefile ($(objpfx)banner.h): Remove rule.
|
|
|
|
|
($(objpfx)version.d): Remove dependency on banner.h.
|
|
|
|
|
($(objpfx)version.os): Likewise.
|
|
|
|
|
* nptl/version.c (banner): Do not include banner.h.
|
|
|
|
|
* manual/contrib.texi: Update entries for Richard Henderson, Jakub
|
|
|
|
|
Jelinek and BIND code.
|
|
|
|
|
|
2017-09-21 04:37:45 +02:00
|
|
|
|
2017-09-20 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
Carlos O'Donell <carlos@redhat.com>
|
|
|
|
|
|
|
|
|
|
* support/xdlfcn.h: New file.
|
|
|
|
|
* support/xdlfcn.c: New file.
|
|
|
|
|
* support/Makefile (libsupport-routines): Add xdlfcn.
|
|
|
|
|
* stdlib/tst-tls-atexit.c: Use xdlopen, xdlsym, xdlclose.
|
|
|
|
|
|
2017-09-20 18:54:05 +02:00
|
|
|
|
2017-09-20 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #20142]
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
|
Add s_trunc-c, s_truncf-c, s_trunc-sse4_1 and s_truncf-sse4_1.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_trunc-c.c: New file.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_truncf-c.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise.
|
|
|
|
|
|
2017-09-20 18:31:48 +02:00
|
|
|
|
2017-09-20 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
Ricky Zhou <rickyz@google.com>
|
|
|
|
|
Anoop V Chakkalakkal <anoop.vijayan@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
[BZ #14333]
|
|
|
|
|
* stdlib/cxa_atexit.c (__internal_atexit): Use __exit_funcs_lock.
|
|
|
|
|
Remove atomics.
|
|
|
|
|
(__new_exitfn): Fail registration when we finished at_exit processing.
|
|
|
|
|
* stdlib/cxa_finalize.c (__cxa_finalize): Likewise.
|
|
|
|
|
* stdlib/on_exit.c (__on_exit): Likewise.
|
|
|
|
|
* stdlib/exit.c (__exit_funcs_done): New variable.
|
|
|
|
|
(__run_exit_handlers): Use __exit_funcs_lock.
|
|
|
|
|
* stdlib/exit.h (__exit_funcs_lock, __exit_funcs_done): New
|
|
|
|
|
declarations.
|
|
|
|
|
* stdlib/Makefile (test-atexit-race, test-quick_at_exit-race)
|
|
|
|
|
(test-cxa_atexit-race, test-on_exit-race): New tests.
|
|
|
|
|
* stdlib/test-atexit-race-common.c: New file.
|
|
|
|
|
* stdlib/test-atexit-race.c: New file.
|
|
|
|
|
* stdlib/test-at_quick_exit-race.c: New file.
|
|
|
|
|
* stdlib/test-cxa_atexit-race.c: New file.
|
|
|
|
|
* stdlib/test-on_exit-race.c: New file.
|
|
|
|
|
|
2017-09-19 15:48:13 +02:00
|
|
|
|
2017-09-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* benchtests/Makefile: Add exp2f and log2f benchmarks.
|
|
|
|
|
* benchtests/exp2f-inputs: Copy of expf-inputs.
|
|
|
|
|
* benchtests/log2f-inputs: Copy of logf-inputs.
|
|
|
|
|
|
Fix fexecve build where syscall macros call sizeof.
The recent fexecve changes broke the build on (at least) alpha (maybe
other configurations, that was the first breakage I saw in my
build-many-glibcs.py run):
In file included from ../sysdeps/unix/sysv/linux/alpha/sysdep.h:29:0,
from ../sysdeps/alpha/nptl/tls.h:31,
from ../include/errno.h:25,
from ../sysdeps/unix/sysv/linux/fexecve.c:18:
../sysdeps/unix/sysv/linux/fexecve.c: In function 'fexecve':
../sysdeps/unix/alpha/sysdep.h:203:10: error: 'sizeof' on array function parameter 'argv' will return size of 'char * const*' [-Werror=sizeof-array-argument]
(sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
^
../sysdeps/unix/alpha/sysdep.h:302:26: note: in expansion of macro 'syscall_promote'
register long _tmp_18 = syscall_promote (arg3); \
^~~~~~~~~~~~~~~
../sysdeps/unix/alpha/sysdep.h:173:2: note: in expansion of macro 'inline_syscall5'
inline_syscall##nr(__NR_##name, args); \
^~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/alpha/sysdep.h:85:2: note: in expansion of macro 'INLINE_SYSCALL1'
INLINE_SYSCALL1(name, nr, args); \
^~~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/fexecve.c:42:3: note: in expansion of macro 'INLINE_SYSCALL'
INLINE_SYSCALL (execveat, 5, fd, "", argv, envp, AT_EMPTY_PATH);
^~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/fexecve.c:33:30: note: declared here
fexecve (int fd, char *const argv[], char *const envp[])
^~~~
This patch fixes this similarly to previous fixes for such issues: use
&argv[0] and &envp[0] as the syscall macro arguments. Tested
(compilation only) for alpha-linux-gnu with build-many-glibcs.py.
* sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]:
Explicitly take address of first element of array arguments in
call to INLINE_SYSCALL.
2017-09-19 17:50:38 +02:00
|
|
|
|
2017-09-19 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]:
|
|
|
|
|
Explicitly take address of first element of array arguments in
|
|
|
|
|
call to INLINE_SYSCALL.
|
|
|
|
|
|
2017-09-06 17:29:29 +02:00
|
|
|
|
2017-09-19 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
[BZ #22134]
|
|
|
|
|
* sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]: Try
|
|
|
|
|
execveat first.
|
|
|
|
|
[!__ASSUME_EXECVEAT]: Fall back to /proc if execveat is
|
|
|
|
|
unimplemented.
|
|
|
|
|
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_EXECVEAT)
|
|
|
|
|
[__LINUX_KERNEL_VERSION >= 0x031300]: Define.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
|
|
|
|
|
(__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040200]: Undef.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/kernel-features.h
|
|
|
|
|
(__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
|
|
|
|
|
(__ASSUME_EXECVEAT) [__LINUX_KERNEL_VERSION < 0x040000]: Undef.
|
|
|
|
|
* posix/Makefile (tests): Add tst-fexecve.
|
|
|
|
|
* posix/tst-fexecve.c: New file.
|
|
|
|
|
|
2017-09-14 14:26:23 +02:00
|
|
|
|
2017-09-19 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* benchtests/Makefile: Add logf benchmark.
|
|
|
|
|
* benchtests/logf-inputs: Add reduced trace from wrf_r.
|
|
|
|
|
|
2017-09-14 14:22:06 +02:00
|
|
|
|
2017-09-19 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* benchtests/Makefile: Add expf benchmark.
|
|
|
|
|
* benchtests/expf-inputs: Add reduced trace from wrf_r.
|
|
|
|
|
|
2017-09-14 13:47:35 +02:00
|
|
|
|
2017-09-19 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* csu/Makefile: Add -funwind-tables to libc-start.c.
|
|
|
|
|
* debug/Makefile: Add -funwind-tables to backtrace.c.
|
|
|
|
|
* sysdeps/aarch64/Makefile: Remove CFLAGS-backtrace.c.
|
|
|
|
|
* sysdeps/arm/Makefile: Likewise.
|
|
|
|
|
* sysdeps/i386/Makefile: Likewise.
|
|
|
|
|
* sysdeps/m68k/Makefile: Likewise.
|
|
|
|
|
* sysdeps/mips/Makefile: Likewise.
|
|
|
|
|
* sysdeps/nios2/Makefile: Likewise.
|
|
|
|
|
* sysdeps/sh/Makefile: Likewise.
|
|
|
|
|
* sysdeps/sparc/Makefile: Likewise.
|
|
|
|
|
|
2017-09-19 14:59:01 +02:00
|
|
|
|
2017-09-19 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* benchtests/Makefile (bench-math): Add trunc and truncf.
|
|
|
|
|
(CFLAGS-bench-trunc.c): New variable.
|
|
|
|
|
(CFLAGS-bench-truncf.c): Likewise.
|
|
|
|
|
* benchtests/trunc-inputs: New file.
|
|
|
|
|
* benchtests/truncf-inputs: Likewise.
|
|
|
|
|
|
2017-09-19 10:25:49 +02:00
|
|
|
|
2017-09-19 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power8/memset.S: Avoid misaligned stores.
|
|
|
|
|
|
2017-09-18 19:51:33 +02:00
|
|
|
|
2017-09-18 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-09-19 01:26:35 +02:00
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT &&
|
|
|
|
|
!LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and
|
|
|
|
|
redefine.
|
|
|
|
|
[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
|
|
|
|
|
(exp10l): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT
|
|
|
|
|
&& !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine
|
|
|
|
|
and redefine.
|
|
|
|
|
[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)]
|
|
|
|
|
(remainderl): Define as weak alias.
|
|
|
|
|
|
2017-09-18 19:51:33 +02:00
|
|
|
|
* math/s_fmal.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(fmal): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_acoshl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(acoshl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_acosl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(acosl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_asinl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(asinl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_atan2l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(atan2l): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_atanhl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(atanhl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_coshl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(coshl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_exp10l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(exp10l): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_exp2l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(exp2l): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_expl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(expl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_fmodl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(fmodl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_hypotl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(hypotl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_j0l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(j0l): Define using libm_alias_ldouble.
|
|
|
|
|
(y0l): Likewise.
|
|
|
|
|
* math/w_j1l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(j1l): Define using libm_alias_ldouble.
|
|
|
|
|
(y1l): Likewise.
|
|
|
|
|
* math/w_jnl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(jnl): Define using libm_alias_ldouble.
|
|
|
|
|
(ynl): Likewise.
|
|
|
|
|
* math/w_log10l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(log10l): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_log2l_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(log2l): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_logl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(logl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_powl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(powl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_remainderl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(remainderl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_sinhl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(sinhl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_sqrtl_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(sqrtl): Define using libm_alias_ldouble.
|
|
|
|
|
* math/w_tgammal_compat.c: Include <libm-alias-ldouble.h>.
|
|
|
|
|
(tgammal): Define using libm_alias_ldouble.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT]
|
|
|
|
|
(exp10l): Do not use long_double_symbol here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
|
|
|
|
|
[LIBM_SVID_COMPAT] (remainderl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_fmal.c: Remove.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
|
|
|
|
|
|
2017-09-15 18:53:23 +02:00
|
|
|
|
2017-09-18 Wang Boshi <wangboshi@huawei.com> (tiny change)
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/start.S: Use MOVL instead of literal pools.
|
|
|
|
|
* sysdeps/aarch64/sysdep.h (MOVL): Add MOVL macro.
|
|
|
|
|
|
2017-09-17 21:57:39 +02:00
|
|
|
|
2017-09-17 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* io/read.c (read): Add libc_hidden_weak.
|
|
|
|
|
* sysdeps/mach/hurd/read.c (read): Likewise.
|
|
|
|
|
* io/write.c (write): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/write.c (write): Likewise.
|
|
|
|
|
* io/pread64.c (__pread64): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/pread64.c (__pread64): Likewise.
|
|
|
|
|
* posix/pread64.c (__pread64): Add libc_hidden_def.
|
|
|
|
|
|
2017-09-16 08:17:32 +02:00
|
|
|
|
2017-09-16 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
2017-09-16 11:53:59 +02:00
|
|
|
|
* benchtests/scripts/compare_strings.py: New option -g.
|
|
|
|
|
(draw_graph): Print a message that a graph is being generated.
|
|
|
|
|
(process_results): Generate graph only if -g is passed.
|
|
|
|
|
(main): Process option -g.
|
|
|
|
|
|
2017-09-16 11:53:12 +02:00
|
|
|
|
* benchtests/scripts/compare_strings.py (process_results):
|
|
|
|
|
Better spacing for output.
|
|
|
|
|
|
2017-09-16 08:17:32 +02:00
|
|
|
|
* benchtests/scripts/compare_strings.py: Use argparse.
|
|
|
|
|
* benchtests/README: Document existence of compare_strings.py.
|
|
|
|
|
|
Remove ENOSYS math/ function stubs.
The math/ directory has various stub implementations of functions
(generally long double functions, plus sqrtf128) that set errno to
ENOSYS and print a message.
These are a relic of when the long double libm implementation in glibc
was originally incomplete. They are only present for a limited set of
libm functions, not all those that would need implementing for any
hypothetical new long double format, and only for long double (plus
sqrtf128), not for other floating-point types. I removed the
corresponding ENOSYS tests in the testsuite in
<https://sourceware.org/ml/libc-alpha/2013-05/msg00599.html>.
I think these stubs are an inherently different case from stubs for
functionality needing OS-specific implementations, since
floating-point formats are generally standardized between modern
processors (a new long double format does not seem likely - I'd expect
new ports all to have long double = binary128 or long double =
binary64 - though _Float16 functions *f16 are entirely possible in
future) and libm functions are generally only expected to fail for
domain / range / pole errors, not for other unknown system-specific
conditions the way the functions needing OS-specific implementations
may fail.
This patch removes these stub implementations. The effect (which, as
noted above, was actually mostly already the case, given the
incompleteness of the set of stubs, and was certainly the case if you
wanted your libm port to *work* rather than just build) is that any
new long double format needs to provide a full set of functions for
the build to succeed; any port using ldbl-128 needs to provide sqrtl
(possibly using the soft-fp version from another port); any port using
ldbl-96 needs to provide all those functions that all of
x86_64/i386/ia64/m68k provide rather than getting from the ldbl-96
directory; any port with _Float128 as a type with a distinct format
needs to provide sqrtf128.
Tested for x86_64. Also tested with build-many-glibcs.py that
installed stripped shared libraries are unchanged by the patch.
* math/e_acoshl.c: Remove.
* math/e_acosl.c: Likewise.
* math/e_asinl.c: Likewise.
* math/e_atan2l.c: Likewise.
* math/e_atanhl.c: Likewise.
* math/e_coshl.c: Likewise.
* math/e_expl.c: Likewise.
* math/e_fmodl.c: Likewise.
* math/e_gammal_r.c: Likewise.
* math/e_hypotl.c: Likewise.
* math/e_j0l.c: Likewise.
* math/e_j1l.c: Likewise.
* math/e_jnl.c: Likewise.
* math/e_lgammal_r.c: Likewise.
* math/e_log10l.c: Likewise.
* math/e_log2l.c: Likewise.
* math/e_logl.c: Likewise.
* math/e_powl.c: Likewise.
* math/e_rem_pio2l.c: Likewise.
* math/e_sinhl.c: Likewise.
* math/e_sqrtf128.c: Likewise.
* math/e_sqrtl.c: Likewise.
* math/k_cosl.c: Likewise.
* math/k_sinl.c: Likewise.
* math/k_tanl.c: Likewise.
* math/s_asinhl.c: Likewise.
* math/s_atanl.c: Likewise.
* math/s_cbrtl.c: Likewise.
* math/s_erfl.c: Likewise.
* math/s_expm1l.c: Likewise.
* math/s_log1pl.c: Likewise.
* math/s_tanhl.c: Likewise.
2017-09-15 22:05:09 +02:00
|
|
|
|
2017-09-15 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
Use libm_alias_double in math/.
This patch converts libm function implementations in math/ from using
weak_alias to using libm_alias_double to define public function names,
in cases where it would be appropriate to define _Float64 / _Float32x
aliases for those functions as well. This eliminates many
NO_LONG_DOUBLE conditionals and ldbl-opt wrappers round these function
implementations.
Tested for x86_64. Also tested with build-many-glibcs.py. Binary
differences seen are that the different order in which remainder and
drem symbols get defined as a result of this patch (the same source
file defines the same aliases, but in a different order of definition)
changes the order of symbols in the final libm.so when long double =
double, and for ldbl-opt configurations, the compat symbols for Bessel
functions were previously defined by e.g. "compat_symbol (libm, j0,
j0l, GLIBC_2_0)", which declares j0l as a compat symbol based on j0
and so makes j0l weak because j0 is weak, and are now defined
(indirectly via the relevant macros) based on e.g. __j0, so are no
longer weak because __j0 isn't weak.
* math/s_fma.c: Include <libm-alias-double.h>.
(fma): Define using libm_alias_double.
* math/s_nextafter.c: Include <libm-alias-double.h>.
(nextafter): Define using libm_alias_double.
* math/w_acos_compat.c: Include <libm-alias-double.h>.
(acos): Define using libm_alias_double.
* math/w_acosh_compat.c: Include <libm-alias-double.h>.
(aocsh): Define using libm_alias_double.
* math/w_asin_compat.c: Include <libm-alias-double.h>.
(asin): Define using libm_alias_double.
* math/w_atan2_compat.c: Include <libm-alias-double.h>.
(atan2): Define using libm_alias_double.
* math/w_atanh_compat.c: Include <libm-alias-double.h>.
(atanh): Define using libm_alias_double.
* math/w_cosh_compat.c: Include <libm-alias-double.h>.
(cosh): Define using libm_alias_double.
* math/w_exp10_compat.c: Include <libm-alias-double.h>.
(exp10): Define using libm_alias_double.
* math/w_exp2_compat.c: Include <libm-alias-double.h>.
(exp2): Define using libm_alias_double.
* math/w_exp_compat.c: Include <libm-alias-double.h>.
(exp): Define using libm_alias_double.
* math/w_fmod_compat.c: Include <libm-alias-double.h>.
(fmod): Define using libm_alias_double.
* math/w_hypot_compat.c: Include <libm-alias-double.h>.
(hypot): Define using libm_alias_double.
* math/w_j0_compat.c: Include <libm-alias-double.h>.
(j0): Define using libm_alias_double.
(y0): Likewise.
* math/w_j1_compat.c: Include <libm-alias-double.h>.
(j1): Define using libm_alias_double.
(y1): Likewise.
* math/w_jn_compat.c: Include <libm-alias-double.h>.
(jn): Define using libm_alias_double.
(yn): Likewise.
* math/w_log10_compat.c: Include <libm-alias-double.h>.
(log10): Define using libm_alias_double.
* math/w_log2_compat.c: Include <libm-alias-double.h>.
(log2): Define using libm_alias_double.
* math/w_log_compat.c: Include <libm-alias-double.h>.
(log): Define using libm_alias_double.
* math/w_pow_compat.c: Include <libm-alias-double.h>.
(pow): Define using libm_alias_double.
* math/w_remainder_compat.c: Include <libm-alias-double.h>.
(remainder): Define using libm_alias_double.
* math/w_sinh_compat.c: Include <libm-alias-double.h>.
(sinh): Define using libm_alias_double.
* math/w_sqrt_compat.c: Include <libm-alias-double.h>.
(sqrt): Define using libm_alias_double.
* math/w_tgamma_compat.c: Include <libm-alias-double.h>.
(tgamma): Define using libm_alias_double.
* sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm,
GLIBC_2_0)] (nextafterl): Do not define compat symbol here.
* sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
[LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise.
* sysdeps/ieee754/ldbl-opt/w_remainder_compat.c
[LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise.
* sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove.
* sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise.
2017-09-16 01:10:02 +02:00
|
|
|
|
* math/s_fma.c: Include <libm-alias-double.h>.
|
|
|
|
|
(fma): Define using libm_alias_double.
|
|
|
|
|
* math/s_nextafter.c: Include <libm-alias-double.h>.
|
|
|
|
|
(nextafter): Define using libm_alias_double.
|
|
|
|
|
* math/w_acos_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(acos): Define using libm_alias_double.
|
|
|
|
|
* math/w_acosh_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(aocsh): Define using libm_alias_double.
|
|
|
|
|
* math/w_asin_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(asin): Define using libm_alias_double.
|
|
|
|
|
* math/w_atan2_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(atan2): Define using libm_alias_double.
|
|
|
|
|
* math/w_atanh_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(atanh): Define using libm_alias_double.
|
|
|
|
|
* math/w_cosh_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(cosh): Define using libm_alias_double.
|
|
|
|
|
* math/w_exp10_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(exp10): Define using libm_alias_double.
|
|
|
|
|
* math/w_exp2_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(exp2): Define using libm_alias_double.
|
|
|
|
|
* math/w_exp_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(exp): Define using libm_alias_double.
|
|
|
|
|
* math/w_fmod_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(fmod): Define using libm_alias_double.
|
|
|
|
|
* math/w_hypot_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(hypot): Define using libm_alias_double.
|
|
|
|
|
* math/w_j0_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(j0): Define using libm_alias_double.
|
|
|
|
|
(y0): Likewise.
|
|
|
|
|
* math/w_j1_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(j1): Define using libm_alias_double.
|
|
|
|
|
(y1): Likewise.
|
|
|
|
|
* math/w_jn_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(jn): Define using libm_alias_double.
|
|
|
|
|
(yn): Likewise.
|
|
|
|
|
* math/w_log10_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(log10): Define using libm_alias_double.
|
|
|
|
|
* math/w_log2_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(log2): Define using libm_alias_double.
|
|
|
|
|
* math/w_log_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(log): Define using libm_alias_double.
|
|
|
|
|
* math/w_pow_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(pow): Define using libm_alias_double.
|
|
|
|
|
* math/w_remainder_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(remainder): Define using libm_alias_double.
|
|
|
|
|
* math/w_sinh_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(sinh): Define using libm_alias_double.
|
|
|
|
|
* math/w_sqrt_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(sqrt): Define using libm_alias_double.
|
|
|
|
|
* math/w_tgamma_compat.c: Include <libm-alias-double.h>.
|
|
|
|
|
(tgamma): Define using libm_alias_double.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm,
|
|
|
|
|
GLIBC_2_0)] (nextafterl): Do not define compat symbol here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
|
|
|
|
|
[LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_remainder_compat.c
|
|
|
|
|
[LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise.
|
|
|
|
|
|
Remove ENOSYS math/ function stubs.
The math/ directory has various stub implementations of functions
(generally long double functions, plus sqrtf128) that set errno to
ENOSYS and print a message.
These are a relic of when the long double libm implementation in glibc
was originally incomplete. They are only present for a limited set of
libm functions, not all those that would need implementing for any
hypothetical new long double format, and only for long double (plus
sqrtf128), not for other floating-point types. I removed the
corresponding ENOSYS tests in the testsuite in
<https://sourceware.org/ml/libc-alpha/2013-05/msg00599.html>.
I think these stubs are an inherently different case from stubs for
functionality needing OS-specific implementations, since
floating-point formats are generally standardized between modern
processors (a new long double format does not seem likely - I'd expect
new ports all to have long double = binary128 or long double =
binary64 - though _Float16 functions *f16 are entirely possible in
future) and libm functions are generally only expected to fail for
domain / range / pole errors, not for other unknown system-specific
conditions the way the functions needing OS-specific implementations
may fail.
This patch removes these stub implementations. The effect (which, as
noted above, was actually mostly already the case, given the
incompleteness of the set of stubs, and was certainly the case if you
wanted your libm port to *work* rather than just build) is that any
new long double format needs to provide a full set of functions for
the build to succeed; any port using ldbl-128 needs to provide sqrtl
(possibly using the soft-fp version from another port); any port using
ldbl-96 needs to provide all those functions that all of
x86_64/i386/ia64/m68k provide rather than getting from the ldbl-96
directory; any port with _Float128 as a type with a distinct format
needs to provide sqrtf128.
Tested for x86_64. Also tested with build-many-glibcs.py that
installed stripped shared libraries are unchanged by the patch.
* math/e_acoshl.c: Remove.
* math/e_acosl.c: Likewise.
* math/e_asinl.c: Likewise.
* math/e_atan2l.c: Likewise.
* math/e_atanhl.c: Likewise.
* math/e_coshl.c: Likewise.
* math/e_expl.c: Likewise.
* math/e_fmodl.c: Likewise.
* math/e_gammal_r.c: Likewise.
* math/e_hypotl.c: Likewise.
* math/e_j0l.c: Likewise.
* math/e_j1l.c: Likewise.
* math/e_jnl.c: Likewise.
* math/e_lgammal_r.c: Likewise.
* math/e_log10l.c: Likewise.
* math/e_log2l.c: Likewise.
* math/e_logl.c: Likewise.
* math/e_powl.c: Likewise.
* math/e_rem_pio2l.c: Likewise.
* math/e_sinhl.c: Likewise.
* math/e_sqrtf128.c: Likewise.
* math/e_sqrtl.c: Likewise.
* math/k_cosl.c: Likewise.
* math/k_sinl.c: Likewise.
* math/k_tanl.c: Likewise.
* math/s_asinhl.c: Likewise.
* math/s_atanl.c: Likewise.
* math/s_cbrtl.c: Likewise.
* math/s_erfl.c: Likewise.
* math/s_expm1l.c: Likewise.
* math/s_log1pl.c: Likewise.
* math/s_tanhl.c: Likewise.
2017-09-15 22:05:09 +02:00
|
|
|
|
* math/e_acoshl.c: Remove.
|
|
|
|
|
* math/e_acosl.c: Likewise.
|
|
|
|
|
* math/e_asinl.c: Likewise.
|
|
|
|
|
* math/e_atan2l.c: Likewise.
|
|
|
|
|
* math/e_atanhl.c: Likewise.
|
|
|
|
|
* math/e_coshl.c: Likewise.
|
|
|
|
|
* math/e_expl.c: Likewise.
|
|
|
|
|
* math/e_fmodl.c: Likewise.
|
|
|
|
|
* math/e_gammal_r.c: Likewise.
|
|
|
|
|
* math/e_hypotl.c: Likewise.
|
|
|
|
|
* math/e_j0l.c: Likewise.
|
|
|
|
|
* math/e_j1l.c: Likewise.
|
|
|
|
|
* math/e_jnl.c: Likewise.
|
|
|
|
|
* math/e_lgammal_r.c: Likewise.
|
|
|
|
|
* math/e_log10l.c: Likewise.
|
|
|
|
|
* math/e_log2l.c: Likewise.
|
|
|
|
|
* math/e_logl.c: Likewise.
|
|
|
|
|
* math/e_powl.c: Likewise.
|
|
|
|
|
* math/e_rem_pio2l.c: Likewise.
|
|
|
|
|
* math/e_sinhl.c: Likewise.
|
|
|
|
|
* math/e_sqrtf128.c: Likewise.
|
|
|
|
|
* math/e_sqrtl.c: Likewise.
|
|
|
|
|
* math/k_cosl.c: Likewise.
|
|
|
|
|
* math/k_sinl.c: Likewise.
|
|
|
|
|
* math/k_tanl.c: Likewise.
|
|
|
|
|
* math/s_asinhl.c: Likewise.
|
|
|
|
|
* math/s_atanl.c: Likewise.
|
|
|
|
|
* math/s_cbrtl.c: Likewise.
|
|
|
|
|
* math/s_erfl.c: Likewise.
|
|
|
|
|
* math/s_expm1l.c: Likewise.
|
|
|
|
|
* math/s_log1pl.c: Likewise.
|
|
|
|
|
* math/s_tanhl.c: Likewise.
|
|
|
|
|
|
2017-09-15 20:07:28 +02:00
|
|
|
|
2017-09-15 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21745]
|
|
|
|
|
* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile:
|
|
|
|
|
[$(subdir) = math] (sysdep_calls): New variable. Has the
|
|
|
|
|
previous contents of sysdep_routines, but re-sorted..
|
|
|
|
|
[$(subdir) = math] (sysdep_routines): Re-use the contents from
|
|
|
|
|
sysdep_calls.
|
|
|
|
|
[$(subdir) = math] (libm-sysdep_routines): Remove the functions
|
|
|
|
|
defined in sysdep_calls and replace by the respective m_* names.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S:
|
|
|
|
|
(compat_symbol): Undefine to avoid duplicated compat symbols in
|
|
|
|
|
libc.
|
|
|
|
|
|
2017-09-15 19:12:02 +02:00
|
|
|
|
2017-09-15 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* math/s_fmaf.c: Include <libm-alias-float.h>.
|
|
|
|
|
(fmaf): Define using libm_alias_float.
|
|
|
|
|
* math/w_acosf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(acosf): Define using libm_alias_float.
|
|
|
|
|
* math/w_acoshf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(acoshf): Define using libm_alias_float.
|
|
|
|
|
* math/w_asinf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(asinf): Define using libm_alias_float.
|
|
|
|
|
* math/w_atan2f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(atan2f): Define using libm_alias_float.
|
|
|
|
|
* math/w_atanhf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(atanhf): Define using libm_alias_float.
|
|
|
|
|
* math/w_coshf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(coshf): Define using libm_alias_float.
|
|
|
|
|
* math/w_exp10f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(exp10f): Define using libm_alias_float.
|
|
|
|
|
* math/w_fmodf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(fmodf): Define using libm_alias_float.
|
|
|
|
|
* math/w_hypotf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(hypotf): Define using libm_alias_float.
|
|
|
|
|
* math/w_j0f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(j0f): Define using libm_alias_float.
|
|
|
|
|
(y0f): Likewise.
|
|
|
|
|
* math/w_j1f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(j1f): Define using libm_alias_float.
|
|
|
|
|
(y1f): Likewise.
|
|
|
|
|
* math/w_jnf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(jnf): Define using libm_alias_float.
|
|
|
|
|
(ynf): Likewise.
|
|
|
|
|
* math/w_log10f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(log10f): Define using libm_alias_float.
|
|
|
|
|
* math/w_log2f_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(log2f): Define using libm_alias_float.
|
|
|
|
|
* math/w_logf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(logf): Define using libm_alias_float.
|
|
|
|
|
* math/w_powf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(powf): Define using libm_alias_float.
|
|
|
|
|
* math/w_remainderf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(remainderf): Define using libm_alias_float.
|
|
|
|
|
* math/w_sinhf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(sinhf): Define using libm_alias_float.
|
|
|
|
|
* math/w_sqrtf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(sqrtf): Define using libm_alias_float.
|
|
|
|
|
* math/w_tgammaf_compat.c: Include <libm-alias-float.h>.
|
|
|
|
|
(tgammaf): Define using libm_alias_float.
|
|
|
|
|
|
2017-09-15 00:28:53 +02:00
|
|
|
|
2017-09-14 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* include/math.h (roundeven): Change hidden_proto call to
|
|
|
|
|
__roundeven.
|
|
|
|
|
* math/w_j0_compat.c (j0): Rename to __j0 and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__j0l): New strong alias.
|
|
|
|
|
(y0): Rename to __y0 and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__y0l): New strong alias.
|
|
|
|
|
* math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
(y0f): Rename to __y0f and define as weak alias.
|
|
|
|
|
* math/w_j1_compat.c (j1): Rename to __j1 and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__j1l): New strong alias.
|
|
|
|
|
(y1): Rename to __y1 and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__y1l): New strong alias.
|
|
|
|
|
* math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
(y1f): Rename to __y1f and define as weak alias.
|
|
|
|
|
* math/w_jn_compat.c (jn): Rename to __jn and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__jnl): New strong alias.
|
|
|
|
|
(yn): Rename to __yn and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__ynl): New strong alias.
|
|
|
|
|
* math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
(ynf): Rename to __ynf and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp.
|
|
|
|
|
(fromfp): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__fromfpl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx.
|
|
|
|
|
(fromfpx): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__fromfpxl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to
|
|
|
|
|
__getpayload and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to
|
|
|
|
|
__roundeven and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to
|
|
|
|
|
__setpayload.
|
|
|
|
|
(setpayload): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__setpayloadl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to
|
|
|
|
|
__setpayloadsig.
|
|
|
|
|
(setpayloadsig): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to
|
|
|
|
|
__totalorder and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename
|
|
|
|
|
to __totalordermag and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp.
|
|
|
|
|
(ufromfp): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__ufromfpl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to
|
|
|
|
|
__ufromfpx.
|
|
|
|
|
(ufromfpx): Define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__ufromfpxl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload):
|
|
|
|
|
Rename to __getpayload and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven):
|
|
|
|
|
Rename to __roundeven and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder):
|
|
|
|
|
Rename to __totalorder and define as weak alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
|
|
|
|
|
(totalordermag): Rename to __totalordermag and define as weak
|
|
|
|
|
alias.
|
|
|
|
|
[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
|
|
|
|
|
* sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New
|
|
|
|
|
macro.
|
|
|
|
|
(__roundevenl): Likewise.
|
|
|
|
|
(__totalorderl): Likewise.
|
|
|
|
|
(__totalordermagl): Likewise
|
|
|
|
|
* sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to
|
|
|
|
|
__fromfpf128.
|
|
|
|
|
(fromfpf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to
|
|
|
|
|
__fromfpxf128.
|
|
|
|
|
(fromfpxf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to
|
|
|
|
|
__setpayloadf128.
|
|
|
|
|
(setpayloadf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to
|
|
|
|
|
__setpayloadsigf128.
|
|
|
|
|
(setpayloadsigf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to
|
|
|
|
|
__ufromfpf128.
|
|
|
|
|
(ufromfpf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to
|
|
|
|
|
__ufromfpxf128.
|
|
|
|
|
(ufromfpxf128): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf.
|
|
|
|
|
(fromfpf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to
|
|
|
|
|
__fromfpxf.
|
|
|
|
|
(fromfpxf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to
|
|
|
|
|
__getpayloadf and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to
|
|
|
|
|
__roundevenf and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to
|
|
|
|
|
__setpayloadf.
|
|
|
|
|
(setpayloadf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to
|
|
|
|
|
__setpayloadsigf.
|
|
|
|
|
(setpayloadsigf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to
|
|
|
|
|
__totalorderf and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf):
|
|
|
|
|
Rename to __totalordermagf and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to
|
|
|
|
|
__ufromfpf.
|
|
|
|
|
(ufromfpf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to
|
|
|
|
|
__ufromfpxf.
|
|
|
|
|
(ufromfpxf): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to
|
|
|
|
|
__fromfpl.
|
|
|
|
|
(fromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to
|
|
|
|
|
__fromfpxl.
|
|
|
|
|
(fromfpxl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename
|
|
|
|
|
to __getpayloadl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to
|
|
|
|
|
__roundevenl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to
|
|
|
|
|
__setpayloadl.
|
|
|
|
|
(setpayloadl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to
|
|
|
|
|
__setpayloadsigl.
|
|
|
|
|
(setpayloadsigl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename
|
|
|
|
|
to __totalorderl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl):
|
|
|
|
|
Rename to __totalordermagl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to
|
|
|
|
|
__ufromfpl.
|
|
|
|
|
(ufromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to
|
|
|
|
|
__ufromfpxl.
|
|
|
|
|
(ufromfpxl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to
|
|
|
|
|
__fromfpl.
|
|
|
|
|
(fromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to
|
|
|
|
|
__fromfpxl.
|
|
|
|
|
(fromfpxl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl):
|
|
|
|
|
Rename to __getpayloadl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename
|
|
|
|
|
to __roundevenl and define as weak alias. Call __roundeven
|
|
|
|
|
instead of roundeven.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to
|
|
|
|
|
__setpayloadl.
|
|
|
|
|
(setpayloadl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to
|
|
|
|
|
__setpayloadsigl.
|
|
|
|
|
(setpayloadsigl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl):
|
|
|
|
|
Rename to __totalorderl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl):
|
|
|
|
|
Rename to __totalordermagl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to
|
|
|
|
|
__ufromfpl.
|
|
|
|
|
(ufromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to
|
|
|
|
|
__ufromfpxl.
|
|
|
|
|
(ufromfpxl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to
|
|
|
|
|
__fromfpl.
|
|
|
|
|
(fromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to
|
|
|
|
|
__fromfpxl.
|
|
|
|
|
(fromfpxl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to
|
|
|
|
|
__getpayloadl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to
|
|
|
|
|
__roundevenl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to
|
|
|
|
|
__setpayloadl.
|
|
|
|
|
(setpayloadl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to
|
|
|
|
|
__setpayloadsigl.
|
|
|
|
|
(setpayloadsigl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to
|
|
|
|
|
__totalorderl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl):
|
|
|
|
|
Rename to __totalordermagl and define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to
|
|
|
|
|
__ufromfpl.
|
|
|
|
|
(ufromfpl): Define as weak alias.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to
|
|
|
|
|
__ufromfpxl.
|
|
|
|
|
(ufromfpxl): Define as weak alias.
|
|
|
|
|
|
2017-09-14 19:07:33 +02:00
|
|
|
|
2017-09-14 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
2017-09-14 19:09:49 +02:00
|
|
|
|
* benchtests/bench-string.h (realloc_bufs): New function.
|
|
|
|
|
(test_init): Call it.
|
|
|
|
|
* benchtests/bench-memset-large.c (do_test): Likewise.
|
|
|
|
|
* benchtests/bench-memset.c (do_test): Likewise.
|
|
|
|
|
|
2017-09-14 19:07:33 +02:00
|
|
|
|
* benchtests/bench-memset-large.c: Print output in JSON
|
|
|
|
|
format.
|
|
|
|
|
* benchtests/bench-memset.c: Likewise.
|
|
|
|
|
|
2017-09-07 15:28:28 +02:00
|
|
|
|
2017-09-14 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21084]
|
|
|
|
|
* benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and ibm858.c.
|
|
|
|
|
* iconvdata/Makefile: Add IBM858.
|
|
|
|
|
* iconvdata/gconv-modules: Likewise.
|
|
|
|
|
* iconvdata/tst-tables.sh: Likewise.
|
|
|
|
|
* iconvdata/ibm858.c: New file.
|
|
|
|
|
* localedata/charmaps/IBM858: Likewise.
|
|
|
|
|
|
2017-09-16 19:55:55 +02:00
|
|
|
|
2017-09-14 Akhilesh Kumar <akhilesh.k@samsung.com>
|
2017-08-29 11:52:49 +02:00
|
|
|
|
|
|
|
|
|
[BZ #22023]
|
|
|
|
|
* locales/niu_NZ (LC_TIME): copy "niu_NU".
|
|
|
|
|
* locales/niu_NZ (LC_MESSAGES): copy "niu_NU".
|
|
|
|
|
|
2017-09-14 05:17:45 +02:00
|
|
|
|
2017-09-14 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22112]
|
|
|
|
|
* localedata/locales/az_AZ(LC_TELEPHONE): Fix int_select
|
|
|
|
|
and add tel_int_fmt.
|
|
|
|
|
|
2017-09-14 03:11:46 +02:00
|
|
|
|
2017-09-14 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/libm-alias-float128.h: New file.
|
|
|
|
|
* sysdeps/generic/math-type-macros-float128.h: Include
|
|
|
|
|
<libm-alias-float128.h>.
|
|
|
|
|
[!declare_mgen_alias] (declare_mgen_alias): Define macro.
|
|
|
|
|
|
2017-09-14 00:17:23 +02:00
|
|
|
|
2017-09-13 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/libm-alias-ldouble.h: New file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove.
|
|
|
|
|
* sysdeps/generic/math-type-macros-ldouble.h: Include
|
|
|
|
|
<libm-alias-ldouble.h>.
|
|
|
|
|
[!declare_mgen_alias] (declare_mgen_alias): Define to use
|
|
|
|
|
libm_alias_ldouble.
|
|
|
|
|
|
2017-09-06 17:48:41 +02:00
|
|
|
|
2017-09-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to...
|
|
|
|
|
* math/w_exp_compat.c: ... here.
|
|
|
|
|
* sysdeps/ieee754/flt-32/w_expf_compat.c: Move to...
|
|
|
|
|
* math/w_expf_compat.c: ... here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Move to...
|
|
|
|
|
* math/w_expl_compat.c: ... here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Remove.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Remove.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Use the new path.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.
|
|
|
|
|
|
Clear up log1p, ldexp, scalbn, scalbln compat handling.
This patch cleans up how compat symbols / long double versioning are
handled for log1p, ldexp, scalbn and scalbln functions.
The general principle is to do as much as possible through the
type-generic templates. Previously, when errno-setting wrappers were
added the compat long double symbols were left pointing directly to
the underlying implementations; they are moved to point to the
errno-setting wrappers. For the functions also present in libc,
compat symbol handling for the libc copies needs to go in ldbl-opt
wrappers, but the type-generic templates can handle it for the libm
copies. There is no need for w_scalbln_template.c to disable the
creation of an unused internal alias (such code made sense in the
context of patches trying to avoid any changes to generated code for
ease of comparison, but can be removed in a change that specifically
does intend to change details of where symbols point).
Tested for x86_64, and with build-many-glibcs.py.
* math/w_scalbln_template.c (strong_alias): Do not undefine and
redefine.
* sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
macro.
(ldexpl): Only define as compat symbol for libc, not libm.
(scalbnl): Define as compat symbol for libc here.
* sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
define for [IS_IN (libc)].
(__ldexpl_2): Remove alias.
(ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
(scalbnl): Likewise. Use __wrap_scalbnl not __ldexpl_2 as base
name in long_double_symbol call.
* sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
* sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
* sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
Remove macro.
[IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
Define as compat symbol.
2017-09-13 17:47:26 +02:00
|
|
|
|
2017-09-13 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* math/w_scalbln_template.c (strong_alias): Do not undefine and
|
|
|
|
|
redefine.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(ldexpl): Only define as compat symbol for libc, not libm.
|
|
|
|
|
(scalbnl): Define as compat symbol for libc here.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
|
|
|
|
|
define for [IS_IN (libc)].
|
|
|
|
|
(__ldexpl_2): Remove alias.
|
|
|
|
|
(ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
|
|
|
|
|
(scalbnl): Likewise. Use __wrap_scalbnl not __ldexpl_2 as base
|
|
|
|
|
name in long_double_symbol call.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
|
|
|
|
|
Remove macro.
|
|
|
|
|
[IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
|
|
|
|
|
Define as compat symbol.
|
|
|
|
|
|
2017-09-12 23:52:05 +02:00
|
|
|
|
2017-09-13 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/Makefile
|
|
|
|
|
[$(subdir) = csu] (sysdep_routines): Remove rule.
|
|
|
|
|
|
Define and use libm_alias_double.
Continuing the process of setting up common macros for libm function
aliases, with a view to using them to define _FloatN / _FloatNx
aliases in future, this patch adds a libm_alias_double macro and uses
it in the type-generic templates.
This macro handles defining aliases for double, and for long double in
the NO_LONG_DOUBLE case. It also handles defining compat symbols for
long double = double for architectures that changed their long double
format. By so doing, it eliminates the need for the
M_LIBM_NEED_COMPAT and declare_mgen_libm_compat macros; the single
declare_mgen_alias call in each template now suffices to define all
required compat symbols. When used for more double functions (not
based on type-generic templates), I expect it will eliminate the need
for most ldbl-opt wrappers for such functions.
A few special cases are needed. __clog10l is a public symbol (for
historical reasons) so needs to be given appropriate compat versions
for architectures that changed their long double format, but is not
defined as an alias using the normal macros since __clog10* are *not*
public symbols for _FloatN / _FloatNx types. For scalbn, scalbln and
log1p, the changes adding errno setting support for those functions
left compat symbols pointing directly to the non-errno-setting
implementations. There is no requirement for the compat symbols not
to set errno; that just made for the simplest patches at that time.
Now, with these common macros, it's natural to redirect the compat
symbols to the errno-setting wrappers, which I intend to do in a
separate patch.
Tested for x86_64, and with build-many-glibcs.py. For ldbl-opt
platforms the stripped libm.so binaries are changed (disassembly
unchanged) because the details of how the clog10l compat symbol is
created mean it ceases to be weak as it was before; for other
platforms, stripped libm.so binaries are unchanged.
2017-09-13 Joseph Myers <joseph@codesourcery.com>
* sysdeps/generic/libm-alias-double.h: New file.
* sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Likewise.
* sysdeps/generic/math-type-macros-double.h: Include
<libm-alias-double.h>.
[declare_mgen_alias] (declare_mgen_alias): Define to use
libm_alias_double.
* sysdeps/generic/math-type-macros.h [!M_LIBM_NEED_COMPAT]
(M_LIBM_NEED_COMPAT): Remove macro.
[!M_LIBM_NEED_COMPAT] (declare_mgen_libm_compat): Likewise.
* sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Remove.
* math/cabs_template.c [M_LIBM_NEED_COMPAT]: Remove conditional
code.
* math/carg_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/cimag_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/conj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/creal_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_cacos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_cacosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_casin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_casinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_catan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_catanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_ccos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_ccosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_cexp_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_clog10_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_clog_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_cpow_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_cproj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_csin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_csinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_csqrt_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_ctan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_ctanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_fdim_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_fmax_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_fmin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/s_nan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* math/w_ilogb_template.c [M_LIBM_NEED_COMPAT]: Likewise.
* sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
* sysdeps/ieee754/ldbl-opt/s_ldexp.c (M_LIBM_NEED_COMPAT): Remove
macro.
(declare_mgen_alias): New macro.
* sysdeps/ieee754/ldbl-opt/w_log1p.c: New file.
* sysdeps/ieee754/ldbl-opt/w_scalbln.c: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c
(M_LIBM_NEED_COMPAT): Remove macro.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c
[HAVE_AS_VIS3_SUPPORT]: Include <math_ldbl_opt.h> and
<first-versions.h>.
[HAVE_AS_VIS3_SUPPORT && LONG_DOUBLE_COMPAT (libm,
FIRST_VERSION_libm_fdiml)]: Define fdiml as compat symbol.
2017-09-13 03:13:30 +02:00
|
|
|
|
2017-09-13 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/libm-alias-double.h: New file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Likewise.
|
|
|
|
|
* sysdeps/generic/math-type-macros-double.h: Include
|
|
|
|
|
<libm-alias-double.h>.
|
|
|
|
|
[declare_mgen_alias] (declare_mgen_alias): Define to use
|
|
|
|
|
libm_alias_double.
|
|
|
|
|
* sysdeps/generic/math-type-macros.h [!M_LIBM_NEED_COMPAT]
|
|
|
|
|
(M_LIBM_NEED_COMPAT): Remove macro.
|
|
|
|
|
[!M_LIBM_NEED_COMPAT] (declare_mgen_libm_compat): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Remove.
|
|
|
|
|
* math/cabs_template.c [M_LIBM_NEED_COMPAT]: Remove conditional
|
|
|
|
|
code.
|
|
|
|
|
* math/carg_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/cimag_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/conj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/creal_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_cacos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_cacosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_casin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_casinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_catan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_catanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_ccos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_ccosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_cexp_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_clog10_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_clog_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_cpow_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_cproj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_csin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_csinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_csqrt_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_ctan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_ctanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_fdim_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_fmax_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_fmin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/s_nan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* math/w_ilogb_template.c [M_LIBM_NEED_COMPAT]: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_ldexp.c (M_LIBM_NEED_COMPAT): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(declare_mgen_alias): New macro.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log1p.c: New file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_scalbln.c: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c
|
|
|
|
|
(M_LIBM_NEED_COMPAT): Remove macro.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c
|
|
|
|
|
[HAVE_AS_VIS3_SUPPORT]: Include <math_ldbl_opt.h> and
|
|
|
|
|
<first-versions.h>.
|
|
|
|
|
[HAVE_AS_VIS3_SUPPORT && LONG_DOUBLE_COMPAT (libm,
|
|
|
|
|
FIRST_VERSION_libm_fdiml)]: Define fdiml as compat symbol.
|
|
|
|
|
|
Remove declare_mgen_alias_2.
The libm template machinery includes a macro declare_mgen_alias_2, to
define two function aliases rather than one. This macro is only used
in one place, to define ldexp and scalbn, and only has one nondefault
definition, for double in the case where long double has the same
format. That definition is because declare_mgen_alias for double, in
that case, defines <internal-func>l as an alias of <internal-func>, so
cannot be called twice for aliases of the same function.
Now, I suspect the <internal-func>l aliases are generally not needed
(with maybe a few exceptions such as __clog10l, which is an exported
function). But even in the presence of them, there is no need for a
special declare_mgen_alias_2 macro for this case. This patch
eliminates the need for such a macro by defining __wrap_scalbn<suffix>
as an alias of __ldexp<suffix>, and then using that when defining the
scalbn public aliases. This is similar to how such internal aliases
are created for functions with multiple symbol versions, for example.
Tested for x86_64, and with build-many-glibcs.py. (There *are* some
cases where installed stripped shared libraries change - not in the
generated code but because such changes to static symbols on input to
ld, even nonexported symbols that don't affect the code or dynamic
symbols, can affect the particular representation in the output of
string tables, hash tables etc.)
* sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2]
(declare_mgen_alias_2): Remove.
* sysdeps/generic/math-type-macros-double.h
[NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2):
Likewise.
* math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong
alias.
(ldexp): Define with declare_mgen_alias.
(scalbn): Likewise.
2017-09-12 22:00:00 +02:00
|
|
|
|
2017-09-12 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2]
|
|
|
|
|
(declare_mgen_alias_2): Remove.
|
|
|
|
|
* sysdeps/generic/math-type-macros-double.h
|
|
|
|
|
[NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2):
|
|
|
|
|
Likewise.
|
|
|
|
|
* math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong
|
|
|
|
|
alias.
|
|
|
|
|
(ldexp): Define with declare_mgen_alias.
|
|
|
|
|
(scalbn): Likewise.
|
|
|
|
|
|
2017-09-12 19:21:48 +02:00
|
|
|
|
2017-09-12 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* grp/initgroups.c: Include config.h.
|
|
|
|
|
(DEFAULT_CONFIG): New macro.
|
|
|
|
|
(internal_getgrouplist): Use DEFAULT_CONFIG.
|
|
|
|
|
* nscd/initgrcache.c (addinitgroupsX): Likewise.
|
|
|
|
|
* nss/nsswitch.c (__nss_disable_nscd): Likewise.
|
|
|
|
|
(DEFAULT_DEFCONFIG): New macro.
|
|
|
|
|
(__nss_database_lookup): Use DEFAULT_DEFCONFIG.
|
|
|
|
|
* nss/grp-lookup.c: Include config.h
|
|
|
|
|
(DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL.
|
|
|
|
|
* nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise.
|
|
|
|
|
* nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise.
|
|
|
|
|
* manual/nss.texi: Update default values section.
|
|
|
|
|
|
2017-09-12 16:46:11 +02:00
|
|
|
|
2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21967]
|
|
|
|
|
* sysdeps/x86/cpu-features.h (bit_arch_MathVec_Prefer_No_AVX512):
|
|
|
|
|
New.
|
|
|
|
|
(index_arch_MathVec_Prefer_No_AVX512): Likewise.
|
|
|
|
|
* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
|
|
|
|
|
Handle MathVec_Prefer_No_AVX512.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h
|
|
|
|
|
(IFUNC_SELECTOR): Return AVX2 version if MathVec_Prefer_No_AVX512
|
|
|
|
|
is set.
|
|
|
|
|
|
2017-09-12 01:34:19 +02:00
|
|
|
|
2017-09-12 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* posix/sched_primax.c (__sched_get_priority_max): Add
|
|
|
|
|
libc_hidden_def.
|
|
|
|
|
* posix/sched_primin.c (__sched_get_priority_min): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mprotect.c (__mprotect): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/munmap.c (__munmap): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (__GI___getpid,
|
|
|
|
|
__GI___strtoul_internal, __GI_____strtoul_internal, __GI___chk_fail,
|
|
|
|
|
__GI___fortify_fail, __GI___assert_fail, __GI___assert_perror_fail):
|
|
|
|
|
Add aliases.
|
|
|
|
|
|
Define and use a libm_alias_float macro.
Fully supporting TS 18661-3 _FloatN / _FloatNx types in the cases
where they have the same format as other supported types (in line with
the principles described at
<https://sourceware.org/ml/libc-alpha/2017-01/msg00333.html>) means
adding a lot of function aliases to libm (and a few to libc). float
functions will have *f32 aliases, double functions will have *f32x and
*f64 aliases, long double functions may have *f64x, *f128 or both
aliases depending on the configuration, float128 functions have have
*f64x aliases depending on the configuration.
At present, most individual libm functions have their own weak_alias
calls to define the public names for those functions. For TS 18661-3
support, it is desirable that functions not all need to duplicate the
logic for which alias names to define.
Thus, common macros for defining the public aliases to a libm function
make sense. In the double and long double cases, such macros will
also help simplify existing code (with LONG_DOUBLE_COMPAT
etc. conditionals), by eliminating existing conditionals and ldbl-opt
/ ldbl-64-128 wrappers (using the generated ldbl-compat-choose.h to
allow a single macro definition to expand appropriately for each
symbol depending on LONG_DOUBLE_COMPAT for that symbol).
This patch starts the process of adding such macros with a
straightforward case: a libm_alias_float macro, initially only used in
the case of type-generic templates, to define aliases for float
functions (currently just the *f public names, in future also *f32).
Future patches are intended to add such macros for other types and to
extend the cases in which they are used, with a view to as many places
as possible using them before support for _FloatN / _FloatNx aliases
is enabled. (I think it's inevitable that some places doing
architecture-specific things with aliases and symbol versioning may
end up needing to replicate logic for the new aliases, but hopefully
the number of such places can be kept to a minimum.)
The libm_alias_float macro takes unsuffixed names for both the
internal and public function names. The need for unsuffixed public
names is obvious, since such macros will end up defining multiple
public names with different suffixes. Unsuffixed internal names are
because I expect the ldbl-128 functions to end up in a form that
always defines *f128 names and sometimes also defines *l names - with
the main internal names being e.g. __ieee754_<func>f128 (so many
macros in float128_private.h can go away). But __ieee754_<func>l
aliases will still be needed for e.g. use from math/ complex
functions, meaning the alias macro needs to see just __ieee754_<func>
as internal name so it can create an alias based on that name. Since
libm_alias_float128 will thus need the unsuffixed internal name, it
seems to make sense for all such macros to receive the unsuffixed
name.
Tested for x86_64. Also tested with build-many-glibcs.py that
installed stripped shared libraries are unchanged by the patch.
* sysdeps/generic/libm-alias-float.h: New file.
* sysdeps/generic/math-type-macros-float.h: Include
<libm-alias-float.h>.
[!declare_mgen_alias] (declare_mgen_alias): Define macro.
2017-09-12 01:21:25 +02:00
|
|
|
|
2017-09-11 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/libm-alias-float.h: New file.
|
|
|
|
|
* sysdeps/generic/math-type-macros-float.h: Include
|
|
|
|
|
<libm-alias-float.h>.
|
|
|
|
|
[!declare_mgen_alias] (declare_mgen_alias): Define macro.
|
|
|
|
|
|
2017-09-11 17:18:11 +02:00
|
|
|
|
2017-09-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22093]
|
|
|
|
|
* sysdeps/x86/cpu-features.c (init_cpu_features): Initialize
|
|
|
|
|
GLRO(dl_hwcap) to HWCAP_X86_64 for x86-64.
|
|
|
|
|
* sysdeps/x86/dl-hwcap.h (HWCAP_COUNT): Updated.
|
|
|
|
|
(HWCAP_IMPORTANT): Likewise.
|
|
|
|
|
(HWCAP_X86_64): New enum.
|
|
|
|
|
(HWCAP_X86_AVX512_1): Updated.
|
|
|
|
|
* sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): Add "x86_64".
|
|
|
|
|
* sysdeps/x86_64/Makefile (tests): Add tst-x86_64-1.
|
|
|
|
|
(modules-names): Add x86_64/tst-x86_64mod-1.
|
|
|
|
|
(LDFLAGS-tst-x86_64mod-1.so): New.
|
|
|
|
|
($(objpfx)tst-x86_64-1): Likewise.
|
|
|
|
|
($(objpfx)x86_64/tst-x86_64mod-1.os): Likewise.
|
|
|
|
|
(tst-x86_64-1-clean): Likewise.
|
|
|
|
|
* sysdeps/x86_64/tst-x86_64-1.c: New file.
|
|
|
|
|
* sysdeps/x86_64/tst-x86_64mod-1.c: Likewise.
|
|
|
|
|
|
2017-09-11 02:20:49 +02:00
|
|
|
|
2017-09-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Update translations.
|
|
|
|
|
* po/fr.po: Likewise.
|
|
|
|
|
|
2017-09-10 14:37:28 +02:00
|
|
|
|
2017-09-10 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* sunrpc/tst-udp-timeout.c (test_udp_server): Increase timeout to 2.5
|
|
|
|
|
seconds.
|
2017-09-10 21:09:28 +02:00
|
|
|
|
* sunrpc/tst-udp-nonblocking.c (do_test): Increase timeout to 0.75
|
|
|
|
|
seconds.
|
2017-09-10 17:39:39 +02:00
|
|
|
|
* elf/rtld-Rules: Fix $(error) use.
|
2017-09-10 14:37:28 +02:00
|
|
|
|
|
2017-09-09 12:01:06 +02:00
|
|
|
|
2017-09-09 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #14925]
|
|
|
|
|
* libio/tst-widetext.input: Change “Bengali” to “Bangla”.
|
|
|
|
|
* locale/iso-639.def: Change “Bengali” to “Bangla”.
|
|
|
|
|
* localedata/locales/bn_BD: “Bengali” was still used in some
|
|
|
|
|
comments. Change it to “Bangla”.
|
|
|
|
|
|
2017-09-08 21:57:12 +02:00
|
|
|
|
2017-09-08 Markus Trippelsdorf <markus@trippelsdorf.de>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Update for AMD Ryzen.
|
|
|
|
|
|
2017-09-08 20:02:09 +02:00
|
|
|
|
2017-09-08 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* manual/tunables.texi (glibc.tune.cpu): Add thunderx2t99 and
|
|
|
|
|
thunderx2t99p1 to list of cpu names.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
|
|
|
|
|
Add thunderx2t99 and thunderx2t99p1 entries to cpu_list.
|
|
|
|
|
|
2017-09-08 19:59:53 +02:00
|
|
|
|
2017-09-08 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (get_midr_from_mcpu):
|
|
|
|
|
Use strcmp instead of tunable_is_name.
|
|
|
|
|
|
Add fcntl sealing interfaces from Linux 3.17 to bits/fcntl-linux.h.
While reviewing Linux 4.13 for glibc header changes needed, I noticed
that bits/fcntl-linux.h was missing F_ADD_SEALS etc. from Linux 3.17.
I didn't find any discussion indicating this omission is deliberate.
Now, these interfaces can only be used with file descriptors created
with memfd_create, and we don't have a memfd_create wrapper in glibc
(a patch was submitted in October 2014, albeit without documentation /
tests, and discussions continued over the next few months, but without
consensus on whether to add the interface - and we still lack any
general consensus on syscall wrappers), but I don't think that's a
reason to exclude the constants from bits/fcntl-linux.h (especially as
the header does not look compatible with simultaneously including
linux/fcntl.h).
(Some of those 2014/2015 discussions raised concerns about difficulty
using the memfd_create / sealing interface, but those seem to me more
like a question of whether it should be part of the OS-independent GNU
API - in my view, even fairly specialized syscalls ought to have
wrappers added to glibc if not obsolescent, but there may be cases
where we only want to include them in the Linux-specific API and
anything in the OS-independent GNU API should be different - rather
than being relevant to whether constants for use with fcntl should
appear in headers.)
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
(F_ADD_SEALS): New macro.
[__USE_GNU] (F_GET_SEALS): Likewise.
[__USE_GNU] (F_SEAL_SEAL): Likewise.
[__USE_GNU] (F_SEAL_SHRINK): Likewise.
[__USE_GNU] (F_SEAL_GROW): Likewise.
[__USE_GNU] (F_SEAL_WRITE): Likewise.
2017-09-08 18:19:21 +02:00
|
|
|
|
2017-09-08 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-09-08 18:20:23 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
|
|
|
|
|
(F_GET_RW_HINT): New macro.
|
|
|
|
|
[__USE_GNU] (F_SET_RW_HINT): Likewise.
|
|
|
|
|
[__USE_GNU] (F_GET_FILE_RW_HINT): Likewise.
|
|
|
|
|
[__USE_GNU] (F_SET_FILE_RW_HINT): Likewise.
|
|
|
|
|
[__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise.
|
|
|
|
|
[__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise.
|
|
|
|
|
[__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise.
|
|
|
|
|
[__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise.
|
|
|
|
|
[__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise.
|
|
|
|
|
[__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise.
|
|
|
|
|
|
Add fcntl sealing interfaces from Linux 3.17 to bits/fcntl-linux.h.
While reviewing Linux 4.13 for glibc header changes needed, I noticed
that bits/fcntl-linux.h was missing F_ADD_SEALS etc. from Linux 3.17.
I didn't find any discussion indicating this omission is deliberate.
Now, these interfaces can only be used with file descriptors created
with memfd_create, and we don't have a memfd_create wrapper in glibc
(a patch was submitted in October 2014, albeit without documentation /
tests, and discussions continued over the next few months, but without
consensus on whether to add the interface - and we still lack any
general consensus on syscall wrappers), but I don't think that's a
reason to exclude the constants from bits/fcntl-linux.h (especially as
the header does not look compatible with simultaneously including
linux/fcntl.h).
(Some of those 2014/2015 discussions raised concerns about difficulty
using the memfd_create / sealing interface, but those seem to me more
like a question of whether it should be part of the OS-independent GNU
API - in my view, even fairly specialized syscalls ought to have
wrappers added to glibc if not obsolescent, but there may be cases
where we only want to include them in the Linux-specific API and
anything in the OS-independent GNU API should be different - rather
than being relevant to whether constants for use with fcntl should
appear in headers.)
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
(F_ADD_SEALS): New macro.
[__USE_GNU] (F_GET_SEALS): Likewise.
[__USE_GNU] (F_SEAL_SEAL): Likewise.
[__USE_GNU] (F_SEAL_SHRINK): Likewise.
[__USE_GNU] (F_SEAL_GROW): Likewise.
[__USE_GNU] (F_SEAL_WRITE): Likewise.
2017-09-08 18:19:21 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
|
|
|
|
|
(F_ADD_SEALS): New macro.
|
|
|
|
|
[__USE_GNU] (F_GET_SEALS): Likewise.
|
|
|
|
|
[__USE_GNU] (F_SEAL_SEAL): Likewise.
|
|
|
|
|
[__USE_GNU] (F_SEAL_SHRINK): Likewise.
|
|
|
|
|
[__USE_GNU] (F_SEAL_GROW): Likewise.
|
|
|
|
|
[__USE_GNU] (F_SEAL_WRITE): Likewise.
|
|
|
|
|
|
posix: Sync glob with gnulib [BZ #1062]
This patch syncs posix/glob.c implementation with gnulib version
b5ec983 (glob: simplify symlink detection). The only difference
to gnulib code is
* DT_UNKNOWN, DT_DIR, and DT_LNK definition in the case there
were not already defined. Gnulib code which uses
HAVE_STRUCT_DIRENT_D_TYPE will redefine them wrongly because
GLIBC does not define HAVE_STRUCT_DIRENT_D_TYPE. Instead
the patch check for each definition instead.
Also, the patch requires additional globfree and globfree64 files
for compatibility version on some architectures. Also the code
simplification leads to not macro simplification (not need for
NO_GLOB_PATTERN_P anymore).
Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
for all major architectures.
[BZ #1062]
* posix/Makefile (routines): Add globfree, globfree64, and
glob_pattern_p.
* posix/flexmember.h: New file.
* posix/glob_internal.h: Likewise.
* posix/glob_pattern_p.c: Likewise.
* posix/globfree.c: Likewise.
* posix/globfree64.c: Likewise.
* sysdeps/gnu/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/oldglob.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
* sysdeps/wordsize-64/globfree.c: Likewise.
* sysdeps/wordsize-64/globfree64.c: Likewise.
* posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead.
[NDEBUG): Remove comments.
(GLOB_ONLY_P, _AMIGA, VMS): Remove define.
(dirent_type): New type. Use uint_fast8_t not
uint8_t, as C99 does not require uint8_t.
(DT_UNKNOWN, DT_DIR, DT_LNK): New macros.
(struct readdir_result): Use dirent_type. Do not define skip_entry
unless it is needed; this saves a byte on platforms lacking d_ino.
(readdir_result_type, readdir_result_skip_entry):
New functions, replacing ...
(readdir_result_might_be_symlink, readdir_result_might_be_dir):
these functions, which were removed. This makes the callers
easier to read. All callers changed.
(D_INO_TO_RESULT): Now empty if there is no d_ino.
(size_add_wrapv, glob_use_alloca): New static functions.
(glob, glob_in_dir): Check for size_t overflow in several places,
and fix some size_t checks that were not quite right.
Remove old code using SHELL since Bash no longer
uses this.
(glob, prefix_array): Separate MS code better.
(glob_in_dir): Remove old Amiga and VMS code.
(globfree, __glob_pattern_type, __glob_pattern_p): Move to
separate files.
(glob_in_dir): Do not rely on undefined behavior in accessing
struct members beyond their bounds. Use a flexible array member
instead
(link_stat): Rename from link_exists2_p and return -1/0 instead of
0/1. Caller changed.
(glob): Fix memory leaks.
* posix/glob64 (globfree64): Move to separate file.
* sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define.
(globfree64): Remove hidden alias.
* sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add
oldglob.
* sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to
separate file.
* sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove
define.
Move compat code to separate file.
* sysdeps/wordsize-64/glob.c (globfree): Move definitions to
separate file.
2017-09-04 19:53:38 +02:00
|
|
|
|
2017-09-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-09-05 16:02:24 +02:00
|
|
|
|
* posix/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
|
|
|
|
|
(GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
|
|
|
|
|
* posix/glob_internal.h (__glob_pattern_type):
|
|
|
|
|
* posix/glob.c (glob):
|
|
|
|
|
* posix/glob_pattern_p.c (__glob_pattern_p):
|
|
|
|
|
Use them.
|
|
|
|
|
|
2017-09-04 23:07:03 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/arm/glob64.c: Remove file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/wordsize-64/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/glob.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob.c: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/oldglob.c [SHLIB_COMPAT]: Also
|
|
|
|
|
adds !GLOB_NO_OLD_VERSION as an extra condition.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/alphasort64.c: Include olddirent.h
|
|
|
|
|
using relative path instead of absolute one.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/olddirent.h: Move to ...
|
|
|
|
|
* sysdeps/unix/sysv/linux//olddirent.h: ... here.
|
|
|
|
|
|
2017-09-04 22:07:16 +02:00
|
|
|
|
[BZ #1062]
|
|
|
|
|
* posix/glob.c (GET_LOGIN_NAME_MAX): Remove.
|
|
|
|
|
(glob): Use the same scratch buffer for both getlogin_r and
|
|
|
|
|
getpwnam_r. Don’t require preallocation of the login name. This
|
|
|
|
|
simplifies storage allocation, and corrects the handling of
|
|
|
|
|
long login names.
|
|
|
|
|
|
2017-09-04 22:00:03 +02:00
|
|
|
|
[BZ #1062]
|
|
|
|
|
* posix/glob.c (glob): Port recent patches to platforms
|
|
|
|
|
lacking getpwnam_r.
|
|
|
|
|
(glob): Fix longstanding misuse of errno after getpwnam_r, which
|
|
|
|
|
returns an error number rather than setting errno.
|
|
|
|
|
|
2017-09-04 21:44:12 +02:00
|
|
|
|
* include/scratch_buffer.h (scratch_buffer): Use a C99 align method
|
|
|
|
|
instead of GCC extension.
|
|
|
|
|
* malloc/scratch_buffer_grow.c [!_LIBC]: Include libc-config.h.
|
|
|
|
|
* malloc/scratch_buffer_grow_preserve.c [!_LIBC]: Likewise.
|
|
|
|
|
* malloc/scratch_buffer_set_array_size.c [!_LIBC]: Likewise.
|
|
|
|
|
|
posix: Allow glob to match dangling symlinks [BZ #866]
This patch makes glob match dangling symlinks. Compared to other glob
implementation (*BSD, bash, musl, and other shells as well), GLIBC seems
the be the only one that does not match dangling symlinks. As for
comment #5 in BZ #866, POSIX does not have any strict specification for
dangling symlinks match and it is reasonable that trying to glob everything
in a path should return all types of files (such as for a 'rm *'). Also,
comment #7 shows even more example where GLIBC current behavior is
unexepected.
I avoided adding another GNU specific flag to set this behavior and
instead make it the default. Although this change the semanthic from
previous implementation, I think adding another compat symbol to be
really unecessary as from aforementioned reasons (current behavior not
defined in any standard, general idea of different implementation is
to list dangling symbols).
This also sync glob with gnulib commit fd1daf4 (glob: match dangling
symlinks).
Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
for all major architectures.
[BZ #866]
[BZ #1062]
* posix/Makefile (tests): Remove bug-glob1 and tst-glob_symlinks.
* posix/bug-glob1.c: Remove file.
* posix/tst-glob_symlinks.c: New file.
* posix/glob.c (__lstat64): New macro.
(is_dir): New function.
(glob, glob_in_dir): Match symlinks even if they are dangling.
(link_stat, link_exists_p): Remove. All uses removed.
2017-09-04 21:22:28 +02:00
|
|
|
|
[BZ #866]
|
|
|
|
|
[BZ #1062]
|
|
|
|
|
* posix/Makefile (tests): Remove bug-glob1 and tst-glob_symlinks.
|
|
|
|
|
* posix/bug-glob1.c: Remove file.
|
|
|
|
|
* posix/tst-glob_symlinks.c: New file.
|
|
|
|
|
* posix/glob.c (__lstat64): New macro.
|
|
|
|
|
(is_dir): New function.
|
|
|
|
|
(glob, glob_in_dir): Match symlinks even if they are dangling.
|
|
|
|
|
(link_stat, link_exists_p): Remove. All uses removed.
|
|
|
|
|
|
2017-09-04 19:55:25 +02:00
|
|
|
|
[BZ #1062]
|
|
|
|
|
[BZ #19971]
|
|
|
|
|
* posix/glob.c (struct readdir_result): Remove skip_entry member.
|
|
|
|
|
(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
|
|
|
|
|
All uses removed.
|
|
|
|
|
|
posix: Sync glob with gnulib [BZ #1062]
This patch syncs posix/glob.c implementation with gnulib version
b5ec983 (glob: simplify symlink detection). The only difference
to gnulib code is
* DT_UNKNOWN, DT_DIR, and DT_LNK definition in the case there
were not already defined. Gnulib code which uses
HAVE_STRUCT_DIRENT_D_TYPE will redefine them wrongly because
GLIBC does not define HAVE_STRUCT_DIRENT_D_TYPE. Instead
the patch check for each definition instead.
Also, the patch requires additional globfree and globfree64 files
for compatibility version on some architectures. Also the code
simplification leads to not macro simplification (not need for
NO_GLOB_PATTERN_P anymore).
Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
for all major architectures.
[BZ #1062]
* posix/Makefile (routines): Add globfree, globfree64, and
glob_pattern_p.
* posix/flexmember.h: New file.
* posix/glob_internal.h: Likewise.
* posix/glob_pattern_p.c: Likewise.
* posix/globfree.c: Likewise.
* posix/globfree64.c: Likewise.
* sysdeps/gnu/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/oldglob.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
* sysdeps/wordsize-64/globfree.c: Likewise.
* sysdeps/wordsize-64/globfree64.c: Likewise.
* posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead.
[NDEBUG): Remove comments.
(GLOB_ONLY_P, _AMIGA, VMS): Remove define.
(dirent_type): New type. Use uint_fast8_t not
uint8_t, as C99 does not require uint8_t.
(DT_UNKNOWN, DT_DIR, DT_LNK): New macros.
(struct readdir_result): Use dirent_type. Do not define skip_entry
unless it is needed; this saves a byte on platforms lacking d_ino.
(readdir_result_type, readdir_result_skip_entry):
New functions, replacing ...
(readdir_result_might_be_symlink, readdir_result_might_be_dir):
these functions, which were removed. This makes the callers
easier to read. All callers changed.
(D_INO_TO_RESULT): Now empty if there is no d_ino.
(size_add_wrapv, glob_use_alloca): New static functions.
(glob, glob_in_dir): Check for size_t overflow in several places,
and fix some size_t checks that were not quite right.
Remove old code using SHELL since Bash no longer
uses this.
(glob, prefix_array): Separate MS code better.
(glob_in_dir): Remove old Amiga and VMS code.
(globfree, __glob_pattern_type, __glob_pattern_p): Move to
separate files.
(glob_in_dir): Do not rely on undefined behavior in accessing
struct members beyond their bounds. Use a flexible array member
instead
(link_stat): Rename from link_exists2_p and return -1/0 instead of
0/1. Caller changed.
(glob): Fix memory leaks.
* posix/glob64 (globfree64): Move to separate file.
* sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define.
(globfree64): Remove hidden alias.
* sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add
oldglob.
* sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to
separate file.
* sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove
define.
Move compat code to separate file.
* sysdeps/wordsize-64/glob.c (globfree): Move definitions to
separate file.
2017-09-04 19:53:38 +02:00
|
|
|
|
[BZ #1062]
|
|
|
|
|
* posix/Makefile (routines): Add globfree, globfree64, and
|
|
|
|
|
glob_pattern_p.
|
|
|
|
|
* posix/flexmember.h: New file.
|
|
|
|
|
* posix/glob_internal.h: Likewise.
|
|
|
|
|
* posix/glob_pattern_p.c: Likewise.
|
|
|
|
|
* posix/globfree.c: Likewise.
|
|
|
|
|
* posix/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/gnu/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/oldglob.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/globfree.c: Likewise.
|
|
|
|
|
* sysdeps/wordsize-64/globfree64.c: Likewise.
|
|
|
|
|
* posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead.
|
|
|
|
|
[NDEBUG): Remove comments.
|
|
|
|
|
(GLOB_ONLY_P, _AMIGA, VMS): Remove define.
|
|
|
|
|
(dirent_type): New type. Use uint_fast8_t not
|
|
|
|
|
uint8_t, as C99 does not require uint8_t.
|
|
|
|
|
(DT_UNKNOWN, DT_DIR, DT_LNK): New macros.
|
|
|
|
|
(struct readdir_result): Use dirent_type. Do not define skip_entry
|
|
|
|
|
unless it is needed; this saves a byte on platforms lacking d_ino.
|
|
|
|
|
(readdir_result_type, readdir_result_skip_entry):
|
|
|
|
|
New functions, replacing ...
|
|
|
|
|
(readdir_result_might_be_symlink, readdir_result_might_be_dir):
|
|
|
|
|
these functions, which were removed. This makes the callers
|
|
|
|
|
easier to read. All callers changed.
|
|
|
|
|
(D_INO_TO_RESULT): Now empty if there is no d_ino.
|
|
|
|
|
(size_add_wrapv, glob_use_alloca): New static functions.
|
|
|
|
|
(glob, glob_in_dir): Check for size_t overflow in several places,
|
|
|
|
|
and fix some size_t checks that were not quite right.
|
|
|
|
|
Remove old code using SHELL since Bash no longer
|
|
|
|
|
uses this.
|
|
|
|
|
(glob, prefix_array): Separate MS code better.
|
|
|
|
|
(glob_in_dir): Remove old Amiga and VMS code.
|
|
|
|
|
(globfree, __glob_pattern_type, __glob_pattern_p): Move to
|
|
|
|
|
separate files.
|
|
|
|
|
(glob_in_dir): Do not rely on undefined behavior in accessing
|
|
|
|
|
struct members beyond their bounds. Use a flexible array member
|
|
|
|
|
instead
|
|
|
|
|
(link_stat): Rename from link_exists2_p and return -1/0 instead of
|
|
|
|
|
0/1. Caller changed.
|
|
|
|
|
(glob): Fix memory leaks.
|
|
|
|
|
* posix/glob64 (globfree64): Move to separate file.
|
|
|
|
|
* sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define.
|
|
|
|
|
(globfree64): Remove hidden alias.
|
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add
|
|
|
|
|
oldglob.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to
|
|
|
|
|
separate file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove
|
|
|
|
|
define.
|
|
|
|
|
Move compat code to separate file.
|
|
|
|
|
* sysdeps/wordsize-64/glob.c (globfree): Move definitions to
|
|
|
|
|
separate file.
|
|
|
|
|
|
2017-09-07 22:56:58 +02:00
|
|
|
|
2017-09-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* resolv/tst-resolv-qtypes.c (domain): Changed to
|
|
|
|
|
"const char domain[] =".
|
|
|
|
|
|
2017-09-07 16:28:36 +02:00
|
|
|
|
2017-09-07 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-09-07 16:50:32 +02:00
|
|
|
|
* scripts/build-many-glibcs.py (Context.checkout): Default MPFR
|
|
|
|
|
version to 3.1.6.
|
|
|
|
|
|
2017-09-07 16:29:38 +02:00
|
|
|
|
* sysdeps/gnu/netinet/tcp.h (TCP_ULP): New macro.
|
|
|
|
|
(TCP_MD5SIG_EXT): Likewise.
|
|
|
|
|
(TCP_MD5SIG_FLAG_PREFIX): Likewise.
|
|
|
|
|
(struct tcp_md5sig): Replace __tcpm_pad1 by tcpm_flags and
|
|
|
|
|
tcpm_prefixlen. Rename __tcpm_pad2 to __tcpm_pad.
|
|
|
|
|
|
2017-09-07 16:28:36 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/bits/socket.h (SOL_TLS): New macro.
|
|
|
|
|
|
2017-09-07 09:43:35 +02:00
|
|
|
|
2017-09-07 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
* localedata/locales/om_ET (LC_TIME): use ASCII for better readability.
|
|
|
|
|
|
2017-09-16 19:55:55 +02:00
|
|
|
|
2017-09-07 Akhilesh Kumar <akhilesh.k@samsung.com>
|
2017-09-07 05:03:25 +02:00
|
|
|
|
|
|
|
|
|
[BZ #22100]
|
|
|
|
|
* localedata/locales/om_KE (LC_TIME): copy "om_ET".
|
|
|
|
|
|
2017-09-07 00:51:17 +02:00
|
|
|
|
2017-09-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
|
|
|
|
|
before assuming that the file is empty. Avoid testing buffer content
|
|
|
|
|
when nread == 0.
|
|
|
|
|
|
2017-09-06 19:35:23 +02:00
|
|
|
|
2017-09-06 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-09-06 19:52:56 +02:00
|
|
|
|
[BZ #18858]
|
2017-09-06 19:35:23 +02:00
|
|
|
|
* sysdeps/i386/i686/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy):
|
|
|
|
|
Remove define.
|
|
|
|
|
* sysdeps/x86_64/multiarch/stpcpy.c (_HAVE_STRING_ARCH_stpcpy):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/strcspn.c (_HAVE_STRING_ARCH_strcspn):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/strncat.c (_HAVE_STRING_ARCH_strncat):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/strpbrk.c (_HAVE_STRING_ARCH_strpbrk):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/strspn.c (_HAVE_STRING_ARCH_strspn):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-09-06 11:25:14 +02:00
|
|
|
|
2017-09-06 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/dynarray_emplace_enlarge.c
|
|
|
|
|
(__libc_dynarray_emplace_enlarge): Add missing else.
|
|
|
|
|
|
2017-09-06 15:32:43 +02:00
|
|
|
|
2017-09-06 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22096]
|
|
|
|
|
* resolv/resolv_conf.c (__resolv_conf_attach): Do not free conf in
|
|
|
|
|
case of failure to obtain the global conf object.
|
|
|
|
|
|
2017-09-06 15:20:25 +02:00
|
|
|
|
2017-09-06 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22095]
|
|
|
|
|
* resolv/res_init.c (res_vinit_1): Avoid memory leak in case of
|
|
|
|
|
dynarray allocation failure.
|
|
|
|
|
|
2017-09-06 15:11:44 +02:00
|
|
|
|
2017-09-06 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Remove dead PTR IPv4-to-IPv6 mapping code from nss_dns.
|
|
|
|
|
* resolv/nss_dns/dns-host.c (getanswer_r): Remove dead code.
|
|
|
|
|
* resolv/tst-res_use_inet6.c (response_ptr_v4, response_ptr_v6):
|
|
|
|
|
New functions.
|
|
|
|
|
(response): Call them. Add 'p', '6' flag processing.
|
|
|
|
|
(test_reverse): New function.
|
|
|
|
|
(test_get2_any): Call it.
|
|
|
|
|
(test_no_inet6): Add 'p' test.
|
|
|
|
|
(test_inet6): Likewise.
|
|
|
|
|
|
2017-09-06 13:43:01 +02:00
|
|
|
|
2017-09-06 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Enhance tst-res_use_inet6 to test IPv4-to-IPv6 address mapping.
|
|
|
|
|
* resolv/tst-res_use_inet6.c (response): Process flags embedded in
|
|
|
|
|
the QNAME.
|
|
|
|
|
(test_gai): Adjust query names. Add additional tests.
|
|
|
|
|
(test_get2_any, test_get2_no_inet6, test_get2_inet6): Split from
|
|
|
|
|
test_get2. Adjust query names. Add additional tests.
|
|
|
|
|
(test_no_inet6): New function, extracted from threadfunc.
|
|
|
|
|
(threadfunc): Call test_get2_any, test_get2_inet6, test_no_inet6.
|
|
|
|
|
Add additional tests.
|
|
|
|
|
|
2017-09-06 11:19:33 +02:00
|
|
|
|
2017-09-06 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22070]
|
|
|
|
|
* localedata/unicode-gen/utf8_gen.py: Set the width for
|
|
|
|
|
characters with Prepended_Concatenation_Mark property to 1
|
|
|
|
|
* localedata/charmaps/UTF-8: Updated using the improved script.
|
|
|
|
|
|
2017-08-18 10:12:29 +02:00
|
|
|
|
2017-09-06 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21750]
|
|
|
|
|
* localedata/unicode-gen/utf8_gen.py: Improve the script to
|
|
|
|
|
use the range notation for all ranges of neighbouring characters
|
|
|
|
|
with the same width.
|
|
|
|
|
|
Prefer new libm function wrappers for !LIBM_SVID_COMPAT.
The initial obsoletion of SVID libm error handling left the old
wrappers and __kernel_standard still being used for new ports and
static linking, just with macro definitions of _LIB_VERSION and
matherr that meant symbols with those names were never actually used
and the code for different error handling variants could be optimized
out.
This patch cleans things up further by eliminating the
__kernel_standard use for new ports and static linking. Now, the old
wrappers no longer generate any code in the !LIBM_SVID_COMPAT case,
while the new errno-only wrappers that were added for float128 support
are now also used for float, double and long double in that case.
The changes are generally straightforward. The w_scalb*_compat
wrappers continue to be used (scalb is obsolescent in the sense of not
being supported for float128, but is present in supported standards -
the 2001 edition of POSIX and earlier XSI versions - so remains
supported for static linking and new ports, as do the float and long
double variants that are existing GNU extensions). Those wrappers
would only call __kernel_standard in the _LIB_VERSION == _SVID_ case.
Since we would like to be able to compile most of glibc without
optimization, relying on a static function whose only use is under an
if (0) condition being optimized away to avoid an undefined
__kernel_standard reference may not be a good idea. Thus, the
relevant code in the scalb wrappers has LIBM_SVID_COMPAT conditionals
added to guarantee it's not built at all in the case where
__kernel_standard does not exist.
Just as i386 has its own w_sqrt_compat.c, so w_sqrt.c is also added.
ia64 gets dummy w_*.c to prevent those files being built where they
would conflict with the ia64 libm, as with its existing w_*_compat.c.
Conditions disabling code for !LIBM_SVID_COMPAT are needed in both the
math/ wrappers and in the long double wrappers in ldbl-opt (to avoid
them setting up aliases and symbol versions for undefined symbols). I
hope that future cleanups to how libm function aliases and symbol
versioning are done will eliminate the need for most of the ldbl-opt
wrappers.
Tested for x86_64 and x86, and with build-many-glibcs.py.
* sysdeps/generic/math-type-macros-double.h: Include
<math-svid-compat.h>.
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
* sysdeps/generic/math-type-macros-float.h: Include
<math-svid-compat.h>.
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
* sysdeps/generic/math-type-macros-ldouble.h: Include
<math-svid-compat.h>.
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
* math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT
condition.
* math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT].
* math/w_acosf_compat.c: Likewise.
* math/w_acosh_compat.c: Likewise.
* math/w_acoshf_compat.c: Likewise.
* math/w_acoshl_compat.c: Likewise.
* math/w_acosl_compat.c: Likewise.
* math/w_asin_compat.c: Likewise.
* math/w_asinf_compat.c: Likewise.
* math/w_asinl_compat.c: Likewise.
* math/w_atan2_compat.c: Likewise.
* math/w_atan2f_compat.c: Likewise.
* math/w_atan2l_compat.c: Likewise.
* math/w_atanh_compat.c: Likewise.
* math/w_atanhf_compat.c: Likewise.
* math/w_atanhl_compat.c: Likewise.
* math/w_cosh_compat.c: Likewise.
* math/w_coshf_compat.c: Likewise.
* math/w_coshl_compat.c: Likewise.
* math/w_exp10_compat.c: Likewise.
* math/w_exp10f_compat.c: Likewise.
* math/w_exp10l_compat.c: Likewise.
* math/w_exp2_compat.c: Likewise.
* math/w_exp2f_compat.c: Likewise.
* math/w_exp2l_compat.c: Likewise.
* math/w_fmod_compat.c: Likewise.
* math/w_fmodf_compat.c: Likewise.
* math/w_fmodl_compat.c: Likewise.
* math/w_hypot_compat.c: Likewise.
* math/w_hypotf_compat.c: Likewise.
* math/w_hypotl_compat.c: Likewise.
* math/w_j0_compat.c: Likewise.
* math/w_j0f_compat.c: Likewise.
* math/w_j0l_compat.c: Likewise.
* math/w_j1_compat.c: Likewise.
* math/w_j1f_compat.c: Likewise.
* math/w_j1l_compat.c: Likewise.
* math/w_jn_compat.c: Likewise.
* math/w_jnf_compat.c: Likewise.
* math/w_jnl_compat.c: Likewise.
* math/w_lgamma_r_compat.c: Likewise.
* math/w_lgammaf_r_compat.c: Likewise.
* math/w_lgammal_r_compat.c: Likewise.
* math/w_log10_compat.c: Likewise.
* math/w_log10f_compat.c: Likewise.
* math/w_log10l_compat.c: Likewise.
* math/w_log2_compat.c: Likewise.
* math/w_log2f_compat.c: Likewise.
* math/w_log2l_compat.c: Likewise.
* math/w_log_compat.c: Likewise.
* math/w_logf_compat.c: Likewise.
* math/w_logl_compat.c: Likewise.
* math/w_pow_compat.c: Likewise.
* math/w_powf_compat.c: Likewise.
* math/w_powl_compat.c: Likewise.
* math/w_remainder_compat.c: Likewise.
* math/w_remainderf_compat.c: Likewise.
* math/w_remainderl_compat.c: Likewise.
* math/w_sinh_compat.c: Likewise.
* math/w_sinhf_compat.c: Likewise.
* math/w_sinhl_compat.c: Likewise.
* math/w_sqrt_compat.c: Likewise.
* math/w_sqrtf_compat.c: Likewise.
* math/w_sqrtl_compat.c: Likewise.
* math/w_tgamma_compat.c: Likewise.
* math/w_tgammaf_compat.c: Likewise.
* math/w_tgammal_compat.c: Likewise.
* math/w_scalb_compat.c (sysv_scalb): Condition definition on
[LIBM_SVID_COMPAT].
(__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT].
* math/w_scalbf_compat.c (sysv_scalbf): Condition definition on
[LIBM_SVID_COMPAT].
(__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT].
* math/w_scalbl_compat.c (sysv_scalbl): Condition definition on
[LIBM_SVID_COMPAT].
(__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT].
* sysdeps/i386/fpu/w_sqrt.c: New file.
* sysdeps/ia64/fpu/w_acos.c: Likewise.
* sysdeps/ia64/fpu/w_acosf.c: Likewise.
* sysdeps/ia64/fpu/w_acosh.c: Likewise.
* sysdeps/ia64/fpu/w_acoshf.c: Likewise.
* sysdeps/ia64/fpu/w_acoshl.c: Likewise.
* sysdeps/ia64/fpu/w_acosl.c: Likewise.
* sysdeps/ia64/fpu/w_asin.c: Likewise.
* sysdeps/ia64/fpu/w_asinf.c: Likewise.
* sysdeps/ia64/fpu/w_asinl.c: Likewise.
* sysdeps/ia64/fpu/w_atan2.c: Likewise.
* sysdeps/ia64/fpu/w_atan2f.c: Likewise.
* sysdeps/ia64/fpu/w_atan2l.c: Likewise.
* sysdeps/ia64/fpu/w_atanh.c: Likewise.
* sysdeps/ia64/fpu/w_atanhf.c: Likewise.
* sysdeps/ia64/fpu/w_atanhl.c: Likewise.
* sysdeps/ia64/fpu/w_cosh.c: Likewise.
* sysdeps/ia64/fpu/w_coshf.c: Likewise.
* sysdeps/ia64/fpu/w_coshl.c: Likewise.
* sysdeps/ia64/fpu/w_exp.c: Likewise.
* sysdeps/ia64/fpu/w_exp10.c: Likewise.
* sysdeps/ia64/fpu/w_exp10f.c: Likewise.
* sysdeps/ia64/fpu/w_exp10l.c: Likewise.
* sysdeps/ia64/fpu/w_exp2.c: Likewise.
* sysdeps/ia64/fpu/w_exp2f.c: Likewise.
* sysdeps/ia64/fpu/w_exp2l.c: Likewise.
* sysdeps/ia64/fpu/w_expf.c: Likewise.
* sysdeps/ia64/fpu/w_expl.c: Likewise.
* sysdeps/ia64/fpu/w_fmod.c: Likewise.
* sysdeps/ia64/fpu/w_fmodf.c: Likewise.
* sysdeps/ia64/fpu/w_fmodl.c: Likewise.
* sysdeps/ia64/fpu/w_hypot.c: Likewise.
* sysdeps/ia64/fpu/w_hypotf.c: Likewise.
* sysdeps/ia64/fpu/w_hypotl.c: Likewise.
* sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
* sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
* sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
* sysdeps/ia64/fpu/w_log.c: Likewise.
* sysdeps/ia64/fpu/w_log10.c: Likewise.
* sysdeps/ia64/fpu/w_log10f.c: Likewise.
* sysdeps/ia64/fpu/w_log10l.c: Likewise.
* sysdeps/ia64/fpu/w_log2.c: Likewise.
* sysdeps/ia64/fpu/w_log2f.c: Likewise.
* sysdeps/ia64/fpu/w_log2l.c: Likewise.
* sysdeps/ia64/fpu/w_logf.c: Likewise.
* sysdeps/ia64/fpu/w_logl.c: Likewise.
* sysdeps/ia64/fpu/w_pow.c: Likewise.
* sysdeps/ia64/fpu/w_powf.c: Likewise.
* sysdeps/ia64/fpu/w_powl.c: Likewise.
* sysdeps/ia64/fpu/w_remainder.c: Likewise.
* sysdeps/ia64/fpu/w_remainderf.c: Likewise.
* sysdeps/ia64/fpu/w_remainderl.c: Likewise.
* sysdeps/ia64/fpu/w_sinh.c: Likewise.
* sysdeps/ia64/fpu/w_sinhf.c: Likewise.
* sysdeps/ia64/fpu/w_sinhl.c: Likewise.
* sysdeps/ia64/fpu/w_sqrt.c: Likewise.
* sysdeps/ia64/fpu/w_sqrtf.c: Likewise.
* sysdeps/ia64/fpu/w_sqrtl.c: Likewise.
* sysdeps/ia64/fpu/w_tgamma.c: Likewise.
* sysdeps/ia64/fpu/w_tgammaf.c: Likewise.
* sysdeps/ia64/fpu/w_tgammal.c: Likewise.
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on
[LIBM_SVID_COMPAT].
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
* sysdeps/ieee754/k_standard.c: Likewise.
* sysdeps/ieee754/k_standardf.c: Likewise.
* sysdeps/ieee754/k_standardl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition
long_double_symbol call on [LIBM_SVID_COMPAT].
* sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition
long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].
2017-09-06 01:35:55 +02:00
|
|
|
|
2017-09-05 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/math-type-macros-double.h: Include
|
|
|
|
|
<math-svid-compat.h>.
|
|
|
|
|
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
|
|
|
|
|
* sysdeps/generic/math-type-macros-float.h: Include
|
|
|
|
|
<math-svid-compat.h>.
|
|
|
|
|
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
|
|
|
|
|
* sysdeps/generic/math-type-macros-ldouble.h: Include
|
|
|
|
|
<math-svid-compat.h>.
|
|
|
|
|
(__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
|
|
|
|
|
* math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT
|
|
|
|
|
condition.
|
|
|
|
|
* math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT].
|
|
|
|
|
* math/w_acosf_compat.c: Likewise.
|
|
|
|
|
* math/w_acosh_compat.c: Likewise.
|
|
|
|
|
* math/w_acoshf_compat.c: Likewise.
|
|
|
|
|
* math/w_acoshl_compat.c: Likewise.
|
|
|
|
|
* math/w_acosl_compat.c: Likewise.
|
|
|
|
|
* math/w_asin_compat.c: Likewise.
|
|
|
|
|
* math/w_asinf_compat.c: Likewise.
|
|
|
|
|
* math/w_asinl_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2f_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2l_compat.c: Likewise.
|
|
|
|
|
* math/w_atanh_compat.c: Likewise.
|
|
|
|
|
* math/w_atanhf_compat.c: Likewise.
|
|
|
|
|
* math/w_atanhl_compat.c: Likewise.
|
|
|
|
|
* math/w_cosh_compat.c: Likewise.
|
|
|
|
|
* math/w_coshf_compat.c: Likewise.
|
|
|
|
|
* math/w_coshl_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10f_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10l_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2f_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2l_compat.c: Likewise.
|
|
|
|
|
* math/w_fmod_compat.c: Likewise.
|
|
|
|
|
* math/w_fmodf_compat.c: Likewise.
|
|
|
|
|
* math/w_fmodl_compat.c: Likewise.
|
|
|
|
|
* math/w_hypot_compat.c: Likewise.
|
|
|
|
|
* math/w_hypotf_compat.c: Likewise.
|
|
|
|
|
* math/w_hypotl_compat.c: Likewise.
|
|
|
|
|
* math/w_j0_compat.c: Likewise.
|
|
|
|
|
* math/w_j0f_compat.c: Likewise.
|
|
|
|
|
* math/w_j0l_compat.c: Likewise.
|
|
|
|
|
* math/w_j1_compat.c: Likewise.
|
|
|
|
|
* math/w_j1f_compat.c: Likewise.
|
|
|
|
|
* math/w_j1l_compat.c: Likewise.
|
|
|
|
|
* math/w_jn_compat.c: Likewise.
|
|
|
|
|
* math/w_jnf_compat.c: Likewise.
|
|
|
|
|
* math/w_jnl_compat.c: Likewise.
|
|
|
|
|
* math/w_lgamma_r_compat.c: Likewise.
|
|
|
|
|
* math/w_lgammaf_r_compat.c: Likewise.
|
|
|
|
|
* math/w_lgammal_r_compat.c: Likewise.
|
|
|
|
|
* math/w_log10_compat.c: Likewise.
|
|
|
|
|
* math/w_log10f_compat.c: Likewise.
|
|
|
|
|
* math/w_log10l_compat.c: Likewise.
|
|
|
|
|
* math/w_log2_compat.c: Likewise.
|
|
|
|
|
* math/w_log2f_compat.c: Likewise.
|
|
|
|
|
* math/w_log2l_compat.c: Likewise.
|
|
|
|
|
* math/w_log_compat.c: Likewise.
|
|
|
|
|
* math/w_logf_compat.c: Likewise.
|
|
|
|
|
* math/w_logl_compat.c: Likewise.
|
|
|
|
|
* math/w_pow_compat.c: Likewise.
|
|
|
|
|
* math/w_powf_compat.c: Likewise.
|
|
|
|
|
* math/w_powl_compat.c: Likewise.
|
|
|
|
|
* math/w_remainder_compat.c: Likewise.
|
|
|
|
|
* math/w_remainderf_compat.c: Likewise.
|
|
|
|
|
* math/w_remainderl_compat.c: Likewise.
|
|
|
|
|
* math/w_sinh_compat.c: Likewise.
|
|
|
|
|
* math/w_sinhf_compat.c: Likewise.
|
|
|
|
|
* math/w_sinhl_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrt_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrtf_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrtl_compat.c: Likewise.
|
|
|
|
|
* math/w_tgamma_compat.c: Likewise.
|
|
|
|
|
* math/w_tgammaf_compat.c: Likewise.
|
|
|
|
|
* math/w_tgammal_compat.c: Likewise.
|
|
|
|
|
* math/w_scalb_compat.c (sysv_scalb): Condition definition on
|
|
|
|
|
[LIBM_SVID_COMPAT].
|
|
|
|
|
(__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT].
|
|
|
|
|
* math/w_scalbf_compat.c (sysv_scalbf): Condition definition on
|
|
|
|
|
[LIBM_SVID_COMPAT].
|
|
|
|
|
(__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT].
|
|
|
|
|
* math/w_scalbl_compat.c (sysv_scalbl): Condition definition on
|
|
|
|
|
[LIBM_SVID_COMPAT].
|
|
|
|
|
(__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT].
|
|
|
|
|
* sysdeps/i386/fpu/w_sqrt.c: New file.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acos.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acosf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acosh.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acoshf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acoshl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_acosl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_asin.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_asinf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_asinl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atan2.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atan2f.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atan2l.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atanh.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atanhf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_atanhl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_cosh.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_coshf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_coshl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp10.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp10f.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp10l.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp2.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp2f.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_exp2l.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_expf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_expl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_fmod.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_fmodf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_fmodl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_hypot.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_hypotf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_hypotl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log10.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log10f.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log10l.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log2.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log2f.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_log2l.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_logf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_logl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_pow.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_powf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_powl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_remainder.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_remainderf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_remainderl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sinh.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sinhf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sinhl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sqrt.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sqrtf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_sqrtl.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_tgamma.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_tgammaf.c: Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/w_tgammal.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on
|
|
|
|
|
[LIBM_SVID_COMPAT].
|
|
|
|
|
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standard.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standardf.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standardl.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition
|
|
|
|
|
long_double_symbol call on [LIBM_SVID_COMPAT].
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition
|
|
|
|
|
long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].
|
|
|
|
|
|
2017-09-05 21:24:00 +02:00
|
|
|
|
2017-09-05 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* include/shlib-compat.h (TEST_COMPAT): New Macro.
|
|
|
|
|
* malloc/tst-mallocstate.c: Convert from test-skeleton
|
|
|
|
|
to test-driver. Ifdef code using TEST_COMPAT macro.
|
|
|
|
|
* math/test-matherr-2.c: Ifdef test using TEST_COMPAT macro.
|
|
|
|
|
* math/test-matherr.c: Likewise.
|
|
|
|
|
|
2017-09-05 17:14:09 +02:00
|
|
|
|
2017-09-05 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22086]
|
|
|
|
|
* debug/pcprofiledump.c (main): Use byte-swapped mask when
|
|
|
|
|
comparing word with byte-swapped constant.
|
|
|
|
|
|
2017-09-16 19:55:55 +02:00
|
|
|
|
2017-09-05 Chris Leonard <cjlhomeaddress@gmail.com>
|
2017-08-31 17:27:24 +02:00
|
|
|
|
|
|
|
|
|
[BZ #20498]
|
|
|
|
|
* locale/iso-639.def: add Miskito.
|
|
|
|
|
* localedata/SUPPORTED: Add miq_NI/UTF-8.
|
|
|
|
|
* localedata/locales/miq_NI: New file.
|
|
|
|
|
|
2017-09-04 22:38:36 +02:00
|
|
|
|
2017-09-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* include/sys/stat.h (__chmod): Add libc_hidden_proto.
|
|
|
|
|
(__mkdir): Likewise.
|
|
|
|
|
* io/chmod.c (__chmod): Add libc_hidden_def.
|
|
|
|
|
* io/mkdir.c (__mkdir): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/chmod.c (__chmod): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise.
|
|
|
|
|
|
2017-09-04 18:27:16 +02:00
|
|
|
|
2017-09-04 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-09-04 22:16:07 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
|
|
|
|
|
version to 4.13.
|
|
|
|
|
|
2017-09-04 18:27:16 +02:00
|
|
|
|
[BZ #22082]
|
|
|
|
|
* math/bits/math-finite.h (exp10): Redirect if [__GLIBC_USE
|
|
|
|
|
(IEC_60559_FUNCS_EXT)], not [__USE_GNU].
|
|
|
|
|
|
2017-09-04 10:52:28 +02:00
|
|
|
|
2017-09-04 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* math/math.h: Issue warning if log is defined.
|
|
|
|
|
|
2017-09-04 17:34:58 +02:00
|
|
|
|
2017-09-04 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* scripts/build-many-glibcs.py (Context.checkout): Default Linux
|
|
|
|
|
kernel version to 4.13.
|
|
|
|
|
|
2017-09-03 01:08:49 +02:00
|
|
|
|
2017-09-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/sigsetops.h: Remove spurious #endif.
|
2017-09-03 01:45:19 +02:00
|
|
|
|
(__sigismember, __sigaddset, __sigdelset): Fix referencing set
|
|
|
|
|
parameter.
|
2017-09-03 02:22:00 +02:00
|
|
|
|
* sysdeps/mach/hurd/bits/socket.h: Include <sys/types.h> instead of
|
|
|
|
|
just <bits/types.h>.
|
2017-09-03 02:45:06 +02:00
|
|
|
|
* sysdeps/posix/preadv2.c: Use off_t instead of OFF_T.
|
2017-09-03 03:00:32 +02:00
|
|
|
|
* sysdeps/posix/preadv64v2.c: Use off64_t instead of OFF_T.
|
2017-09-03 02:45:06 +02:00
|
|
|
|
* sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T.
|
2017-09-03 03:00:32 +02:00
|
|
|
|
* sysdeps/posix/pwritev64v2.c: Use off64_t instead of OFF_T.
|
2017-09-03 03:03:40 +02:00
|
|
|
|
* misc/preadv2.c: Include <errno.h>.
|
|
|
|
|
* misc/preadv64v2.c: Include <errno.h>.
|
|
|
|
|
* misc/pwritev2.c: Include <errno.h>.
|
|
|
|
|
* misc/pwritev64v2.c: Include <errno.h>.
|
|
|
|
|
* sysdeps/posix/preadv2.c: Include <errno.h>.
|
|
|
|
|
* sysdeps/posix/preadv64v2.c: Include <errno.h>.
|
|
|
|
|
Fix <unistd.h> inclusion.
|
|
|
|
|
* sysdeps/posix/pwritev2.c: Include <errno.h>.
|
|
|
|
|
* sysdeps/posix/pwritev64v2.c: Include <errno.h>.
|
2017-09-03 14:33:35 +02:00
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno, __sbrk,
|
|
|
|
|
__strtoul_internal): New functions.
|
2017-09-03 04:36:29 +02:00
|
|
|
|
* sysdeps/posix/pause.c: Include <sigsetops.h>.
|
|
|
|
|
* sysdeps/posix/system.c: Include <sigsetops.h>.
|
2017-09-03 04:58:00 +02:00
|
|
|
|
* sysdeps/mach/hurd/i386/Makefile
|
|
|
|
|
[$(subdir) = csu] (sysdep_routines): New rule: divdi3 object.
|
|
|
|
|
[$(subdir) = csu] (sysdep-only-routines): Likewise.
|
|
|
|
|
[$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
|
2017-09-03 05:32:10 +02:00
|
|
|
|
* sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect
|
|
|
|
|
__feraiseexcept_renamed to feraiseexcept instead of
|
|
|
|
|
__GI_feraiseexcept.
|
2017-09-03 13:38:09 +02:00
|
|
|
|
* sysdeps/mach/hurd/i386/Implies: Add mach/hurd/x86.
|
2017-09-03 13:39:33 +02:00
|
|
|
|
* sysdeps/mach/hurd/x86/dl-sysdep.c: New file.
|
2017-09-03 17:48:33 +02:00
|
|
|
|
* misc/tst-preadvwritev2-common.c (RWF_HIPRI, RWF_DSYNC, RWF_SYNC,
|
|
|
|
|
RWF_NOWAIT): Define to 0 if undefined already.
|
|
|
|
|
(do_test_with_invalid_flags): Set invalid_flag to 2 if RWF_SUPPORTED
|
|
|
|
|
boils down to 0.
|
2017-09-03 19:44:07 +02:00
|
|
|
|
* resolv/tst-resolv-res_init-skeleton.c (run_res_init)
|
|
|
|
|
[!CLONE_NEWUTS]: Fail as unsupported if hostname is not NULL.
|
2017-09-03 01:08:49 +02:00
|
|
|
|
|
2017-09-01 23:13:18 +02:00
|
|
|
|
2017-09-01 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* manual/math.texi (pow10): Do not document.
|
|
|
|
|
(pow10f): Likewise.
|
|
|
|
|
(pow10l): Likewise.
|
|
|
|
|
* math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare.
|
|
|
|
|
* math/bits/math-finite.h [__USE_GNU] (pow10): Likewise.
|
|
|
|
|
* math/libm-test-exp10.inc (pow10_test): Remove.
|
|
|
|
|
(do_test): Do not call pow10.
|
|
|
|
|
* math/w_exp10_compat.c (pow10): Make into compat symbol.
|
|
|
|
|
[NO_LONG_DOUBLE] (pow10l): Likewise.
|
|
|
|
|
* math/w_exp10f_compat.c (pow10f): Likewise.
|
|
|
|
|
* math/w_exp10l_compat.c (pow10l): Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/e_exp10.S: Include <shlib-compat.h>.
|
|
|
|
|
(pow10): Make into compat symbol.
|
|
|
|
|
* sysdeps/ia64/fpu/e_exp10f.S: Include <shlib-compat.h>.
|
|
|
|
|
(pow10f): Make into compat symbol.
|
|
|
|
|
* sysdeps/ia64/fpu/e_exp10l.S: Include <shlib-compat.h>.
|
|
|
|
|
(pow10l): Make into compat symbol.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove
|
|
|
|
|
pow10.
|
|
|
|
|
(CFLAGS-nldbl-pow10.c): Remove variable..
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on
|
|
|
|
|
[SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)].
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol):
|
|
|
|
|
Undefine and redefine.
|
|
|
|
|
(pow10l): Make into compat symbol.
|
|
|
|
|
* sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps.
|
|
|
|
|
* sysdeps/alpha/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/arm/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/hppa/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/microblaze/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/mips/mips32/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/mips/mips64/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/nios2/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/s390/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/sh/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/sparc/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/tile/libm-test-ulps: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
|
|
|
|
|
|
2017-09-01 20:35:55 +02:00
|
|
|
|
2017-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/tst-atexit-common.c (crumbs): Ensure correct size.
|
|
|
|
|
|
2017-09-01 19:20:49 +02:00
|
|
|
|
2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* posix/tst-regex.c (do_test): Replace "../ChangeLog.8" with
|
|
|
|
|
"../ChangeLog.old/ChangeLog.8".
|
|
|
|
|
* posix/tst-regex2.c (do_test): Replace "../ChangeLog.14" with
|
|
|
|
|
"../ChangeLog.old/ChangeLog.14".
|
|
|
|
|
|
2017-09-01 19:18:37 +02:00
|
|
|
|
2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* manual/contrib.texi: Credit Ulrich Drepper for the POSIX
|
|
|
|
|
Threads Library.
|
|
|
|
|
|
2017-09-01 19:14:43 +02:00
|
|
|
|
2017-09-01 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/gentempfd.c: Include <string.h>.
|
|
|
|
|
|
2017-09-01 19:09:08 +02:00
|
|
|
|
2017-09-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* csu/version.c (banner): Remove "by Roland McGrath et al.".
|
|
|
|
|
* nptl/Banner: Remove "by Ulrich Drepper et al.".
|
|
|
|
|
|
2017-09-01 18:31:13 +02:00
|
|
|
|
2017-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/tst-atexit-common.c (do_test): Test support for at least
|
|
|
|
|
32 atexit handlers.
|
|
|
|
|
|
2017-09-01 17:19:47 +02:00
|
|
|
|
2017-09-01 Zack Weinberg <zackw@panix.com>
|
|
|
|
|
|
|
|
|
|
* math/math.h (HUGE_VAL): Improve commentary.
|
|
|
|
|
|
2017-06-26 16:52:14 +02:00
|
|
|
|
2017-09-01 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
[BZ #21530]
|
|
|
|
|
* include/stdio.h (__gen_tempfd): New function.
|
|
|
|
|
* stdio-common/Makefile (routines): Add gentempfd.
|
|
|
|
|
* stdio-common/gentempfd.c: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gentempfd.c: Likewise.
|
|
|
|
|
* stdio-common/tmpfile.c (tmpfile): First try to use a system specific
|
|
|
|
|
unnamed file first.
|
|
|
|
|
|
2017-09-01 09:34:29 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21915]
|
|
|
|
|
[BZ #21922]
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gethosts): Look at NSS function
|
|
|
|
|
result to determine success or failure, not the errno value.
|
|
|
|
|
* nss/Makefile (tests): Add tst-nss-files-hosts-erange.
|
|
|
|
|
(tst-nss-files-hosts-erange): Link with -ldl.
|
|
|
|
|
* nss/tst-nss-files-hosts-erange.c: New file.
|
|
|
|
|
* nss/tst-resolv-basic.c (response): Handle nodata.example.
|
|
|
|
|
(do_test): Add NO_DATA tests.
|
|
|
|
|
* resolv/tst-resolv-basic.c (test_nodata_nxdomain): New function.
|
|
|
|
|
(do_test): Call it.
|
|
|
|
|
|
2017-09-01 09:15:36 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21922]
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Report EAI_NODATA error
|
|
|
|
|
coming from gethostbyname2_r.
|
|
|
|
|
|
2017-09-01 08:58:07 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* support/namespace.h (struct support_chroot_configuration): Add
|
|
|
|
|
hosts, host_conf.
|
|
|
|
|
(struct support_chroot): Add path_hosts, path_host_conf.
|
|
|
|
|
* support/support_chroot.c (write_file): New function.
|
|
|
|
|
(support_chroot_create): Call it to process /etc/resolv.conf,
|
|
|
|
|
/etc/hosts, /etc/host.conf.
|
|
|
|
|
(support_chroot_free): Update.
|
|
|
|
|
|
2017-09-01 08:57:52 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Only use h_errno if
|
|
|
|
|
status indicates it is set.
|
|
|
|
|
|
2017-09-01 08:57:28 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Make reporting of NSS
|
|
|
|
|
function lookup failures more reliable.
|
|
|
|
|
|
2017-09-01 08:57:07 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gethosts): Use h_errno directly.
|
|
|
|
|
(getcanonname): Likewise.
|
|
|
|
|
(gaih_inet): Likewise.
|
|
|
|
|
|
2017-09-01 08:56:46 +02:00
|
|
|
|
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gethosts): Use errno directly.
|
|
|
|
|
(getcanonname): Likewise.
|
|
|
|
|
(gaih_inet): Likewise.
|
|
|
|
|
|
2017-08-31 22:38:11 +02:00
|
|
|
|
2017-08-31 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
Richard Henderson <rth@twiddle.net>
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove.
|
|
|
|
|
(IREG_SIZE, OREG_SIZE): New macros.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove.
|
|
|
|
|
(IREG_SIZE, OREG_SIZE): New macros.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove.
|
|
|
|
|
(IREG_SIZE): New macro.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove.
|
|
|
|
|
(IREG_SIZE): New macro.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h):
|
|
|
|
|
New includes.
|
|
|
|
|
(IREG_SIZE, OREG_SIZE): Initialize if not already set.
|
|
|
|
|
(OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
|
|
|
|
|
(__CONCATX): Handle exceptions correctly on large values that may
|
|
|
|
|
set FE_INVALID.
|
|
|
|
|
* sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE):
|
|
|
|
|
Initialize if not already set.
|
|
|
|
|
(OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
|
|
|
|
|
|
2017-08-03 19:29:06 +02:00
|
|
|
|
2017-08-31 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
|
|
|
|
|
(NO_CANCELLATION): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
|
|
|
|
|
(NO_CANCELLATION): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
|
|
|
|
|
(NO_CANCELLATION): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add
|
|
|
|
|
hidden prototype.
|
|
|
|
|
* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only
|
|
|
|
|
for !IS_IN (rtld) and remove NO_CANCELLATION usage.
|
|
|
|
|
|
2017-08-31 19:34:55 +02:00
|
|
|
|
2017-08-31 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
|
|
|
|
|
in resolver call.
|
|
|
|
|
|
2017-08-31 18:31:04 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (internal_function): Remove.
|
|
|
|
|
|
2017-08-31 18:30:38 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/fmtmsg.c (internal_addseverity): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
|
2017-08-31 18:30:02 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stdio-common/printf_fp.c (group_number): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* stdio-common/vfprintf.c (buffered_vfprintf): Likewise.
|
|
|
|
|
|
2017-08-31 18:25:55 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* posix/fnmatch.c (internal_function): Remove definition.
|
|
|
|
|
* posix/fnmatch_loop.c (FCT, EXT, END): Remove internal_function.
|
|
|
|
|
* posix/regcomp.c (peek_token, init_word_char)
|
|
|
|
|
(duplicate_node_closure, fetch_token, peek_token)
|
|
|
|
|
(peek_token_bracket, build_range_exp, build_collating_symbol):
|
|
|
|
|
Likewise.
|
|
|
|
|
* posix/regex_internal.c (re_string_construct_common)
|
|
|
|
|
(create_ci_newstate, create_cd_newstate, re_string_allocate)
|
|
|
|
|
(re_string_construct, re_string_realloc_buffers, build_wcs_buffer)
|
|
|
|
|
(build_wcs_upper_buffer, re_string_skip_chars, build_upper_buffer)
|
|
|
|
|
(re_string_translate_buffer, re_string_reconstruct)
|
|
|
|
|
(re_string_peek_byte_case, re_string_fetch_byte_case)
|
|
|
|
|
(re_string_destruct, re_string_context_at, re_node_set_alloc)
|
|
|
|
|
(re_node_set_init_1, re_node_set_init_2, re_node_set_init_copy)
|
|
|
|
|
(re_node_set_add_intersect, re_node_set_init_union)
|
|
|
|
|
(re_node_set_merge, re_node_set_insert, re_node_set_insert_last)
|
|
|
|
|
(re_node_set_compare, re_node_set_contains, re_node_set_remove_at)
|
|
|
|
|
(re_dfa_add_node, calc_state_hash, re_acquire_state)
|
|
|
|
|
(re_acquire_state_context): Likewise.
|
|
|
|
|
* posix/regex_internal.h (internal_function): Remove definition.
|
|
|
|
|
(re_string_realloc_buffers, build_wcs_buffer)
|
|
|
|
|
(build_wcs_upper_buffer, build_upper_buffer)
|
|
|
|
|
(re_string_translate_buffer, re_string_context_at)
|
|
|
|
|
(re_string_char_size_at, re_string_wchar_at)
|
|
|
|
|
(re_string_elem_size_at): Likewise.
|
|
|
|
|
* posix/regexec.c (match_ctx_init, match_ctx_clean)
|
|
|
|
|
(match_ctx_free, match_ctx_add_entry, search_cur_bkref_entry)
|
|
|
|
|
(match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init)
|
|
|
|
|
(re_search_internal, re_search_2_stub, re_search_stub)
|
|
|
|
|
(re_copy_regs, prune_impossible_nodes, check_matching)
|
|
|
|
|
(check_halt_state_context, update_regs, push_fail_stack, set_regs)
|
|
|
|
|
(free_fail_stack_return, sift_states_iter_mb)
|
|
|
|
|
(sift_states_backward, build_sifted_states)
|
|
|
|
|
(update_cur_sifted_state, add_epsilon_src_nodes, check_dst_limits)
|
|
|
|
|
(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos)
|
|
|
|
|
(check_subexp_limits, sift_states_bkref, merge_state_array)
|
|
|
|
|
(find_recover_state, transit_state, merge_state_with_log)
|
|
|
|
|
(check_subexp_matching_top, transit_state_sb, transit_state_sb)
|
|
|
|
|
(transit_state_mb, transit_state_bkref, get_subexp)
|
|
|
|
|
(get_subexp_sub, find_subexp_node, check_arrival)
|
|
|
|
|
(check_arrival_add_next_nodes, check_arrival_expand_ecl)
|
|
|
|
|
(check_arrival_expand_ecl_sub, expand_bkref_cache, build_trtable)
|
|
|
|
|
(check_node_accept_bytes, find_collation_sequence_value)
|
|
|
|
|
(group_nodes_into_DFAstates, check_node_accept, extend_buffers)
|
|
|
|
|
(acquire_init_state_context, check_halt_node_context)
|
|
|
|
|
(proceed_next_node, pop_fail_stack, clean_state_log_if_needed)
|
|
|
|
|
(sub_epsilon_src_nodes): Likewise.
|
|
|
|
|
* posix/spawn_int.h (__spawn_valid_fd): Likewise.
|
|
|
|
|
* posix/spawn_valid_fd (__spawn_valid_fd): Likewise.
|
|
|
|
|
* posix/wordexp.c (parse_dollars, parse_backtick, parse_dquote)
|
|
|
|
|
(eval_expr, w_addmem, w_addstr, w_addword, parse_backslash)
|
|
|
|
|
(parse_qtd_backslash, parse_tilde, do_parse_glob, parse_glob)
|
|
|
|
|
(parse_squote, eval_expr_val, eval_expr_multdiv, parse_arith)
|
|
|
|
|
(exec_comm_child, exec_comm, parse_comm, parse_param): Likewise.
|
|
|
|
|
* sysdeps/posix/ttyname.c (getttyname): Likewise.
|
|
|
|
|
* sysdeps/posix/ttyname_r.c (getttyname_r): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/preadv.c (__atomic_preadv_replacement)
|
|
|
|
|
(PREADV): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/preadv64.c (__atomic_preadv64_replacement)
|
|
|
|
|
(PREADV): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev.c (__atomic_pwritev_replacement)
|
|
|
|
|
(PWRITEV): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev64.c (__atomic_pwritev64_replacement)
|
|
|
|
|
(PWRITEV): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ttyname.c (getttyname): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ttyname_r.c (getttyname_r): Likewise.
|
|
|
|
|
|
2017-08-31 17:50:26 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* nptl/allocatestack.c (change_stack_perm, __deallocate_stack)
|
|
|
|
|
(setxid_mark_thread, setxid_unmark_thread, setxid_signal_thread):
|
|
|
|
|
Remove internal_function.
|
|
|
|
|
* nptl/cancellation.c (__pthread_disable_asynccancel): Likewise.
|
|
|
|
|
* nptl/libc_pthread_init.c (__libc_pthread_init): Likewise.
|
|
|
|
|
* nptl/pthreadP.h (__find_in_stack_list, __free_tcb)
|
|
|
|
|
(__deallocate_stack, __libc_pthread_init)
|
|
|
|
|
(__pthread_mutex_cond_lock, __pthread_mutex_cond_lock_adjust)
|
|
|
|
|
(__pthread_mutex_unlock_usercnt, __pthread_disable_asynccancel)
|
|
|
|
|
(__libc_disable_asynccancel, __librt_disable_asynccancel):
|
|
|
|
|
Likewise.
|
|
|
|
|
* nptl/pthread_create.c (__find_in_stack_list, __free_tcb): Likewise.
|
|
|
|
|
* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Likewise.
|
|
|
|
|
* nptl/pthread_mutex_lock.c (__pthread_mutex_cond_lock_adjust):
|
|
|
|
|
Likewise.
|
|
|
|
|
* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full)
|
|
|
|
|
(__pthread_mutex_unlock_usercnt): Likewise.
|
|
|
|
|
|
2017-08-31 17:41:25 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* io/fts.c (fts_alloc, fts_build, fts_lfree, fts_load)
|
|
|
|
|
(fts_maxarglen, fts_padjust, fts_palloc, fts_sort, fts_stat)
|
|
|
|
|
(fts_safe_changedir): Remove internal_function.
|
|
|
|
|
* io/ftw.c (internal_function): Remove definition.
|
|
|
|
|
(ftw_dir, process_entry, ftw_startup): Remove internal_function.
|
|
|
|
|
|
2017-08-31 17:35:16 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* inet/deadline.c (__deadline_current_time)
|
|
|
|
|
(__deadline_from_timeval, __deadline_to_ms): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* inet/getnameinfo.c (nrl_domainname): Likewise.
|
|
|
|
|
* inet/getnetgrent_r.c (__internal_setnetgrent_reuse): Likewise.
|
|
|
|
|
* inet/inet6_option.c (add_pad): Likewise.
|
|
|
|
|
* inet/net-internal.h (__deadline_current_time)
|
|
|
|
|
(__deadline_from_timeval, __deadline_to_ms): Likewise.
|
|
|
|
|
* inet/rcmd.c (__checkhost_sa, __icheckuser): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/if_index.c (__protocol_available): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlink): Likewise.
|
|
|
|
|
|
Simplify HUGE_VAL definitions.
There are various bits/huge_val*.h headers to define HUGE_VAL and
related macros. All of them use __builtin_huge_val etc. for GCC 3.3
and later. Then there are various fallbacks, such as using a large
hex float constant for GCC 2.96 and later, or using unions (with or
without compound literals) to construct the bytes of an infinity, with
this last being the reason for having architecture-specific files.
Supporting TS 18661-3 _FloatN / _FloatNx types that have the same
format as other supported types will mean adding more such macros;
needing to add more headers for them doesn't seem very desirable.
The fallbacks based on bytes of the representation of an infinity do
not meet the standard requirements for a constant expression. At
least one of them is also wrong: sysdeps/sh/bits/huge_val.h is
producing a mixed-endian representation which does not match what GCC
does.
This patch eliminates all those headers, defining the macros directly
in math.h. For GCC 3.3 and later, the built-in functions are used as
now. For other compilers, a large constant 1e10000 (with appropriate
suffix) is used. This is like the fallback for GCC 2.96 and later,
but without using hex floats (which have no apparent advantage here).
It is unambiguously valid standard C for all floating-point formats
with infinities, which covers all formats supported by glibc or likely
to be supported by glibc in future (C90 DR#025 said that if a
floating-point format represents infinities, all real values lie
within the range of representable values, so the constraints for
constant expressions are not violated), but may generate compiler
warnings and wouldn't handle the TS 18661-1 FENV_ROUND pragma
correctly. If someone is actually using a compiler with glibc that
does not claim to be GCC 3.3 or later, but which has a better way to
define the HUGE_VAL macros, we can always add compiler conditionals in
with alternative definitions.
I intend to make similar changes for INF and NAN. The SNAN macros
already just use __builtin_nans etc. with no fallback for compilers
not claiming to be GCC 3.3 or later.
Tested for x86_64.
* math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h,
bits/huge_vall.h or bits/huge_val_flt128.h.
(HUGE_VAL): Define directly here.
[__USE_ISOC99] (HUGE_VALF): Likewise.
[__USE_ISOC99] (HUGE_VALL): Likewise.
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
(HUGE_VAL_F128): Likewise.
* math/Makefile (headers): Remove bits/huge_val.h,
bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h.
* bits/huge_val.h: Remove.
* bits/huge_val_flt128.h: Likewise.
* bits/huge_valf.h: Likewise.
* bits/huge_vall.h: Likewise.
* sysdeps/ia64/bits/huge_vall.h: Likewise.
* sysdeps/ieee754/bits/huge_val.h: Likewise.
* sysdeps/ieee754/bits/huge_valf.h: Likewise.
* sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise.
* sysdeps/sh/bits/huge_val.h: Likewise.
* sysdeps/sparc/bits/huge_vall.h: Likewise.
* sysdeps/x86/bits/huge_vall.h: Likewise.
2017-08-31 17:50:50 +02:00
|
|
|
|
2017-08-31 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-08-31 18:39:25 +02:00
|
|
|
|
* math/math.h [__USE_ISOC99] (NAN): Define directly here. Do not
|
|
|
|
|
include <bits/nan.h>.
|
|
|
|
|
* math/Makefile (headers): Remove bits/nan.h.
|
|
|
|
|
* bits/nan.h: Remove.
|
|
|
|
|
* sysdeps/ieee754/bits/nan.h: Likewise.
|
|
|
|
|
* sysdeps/mips/bits/nan.h: Likewise.
|
|
|
|
|
|
2017-08-31 18:12:46 +02:00
|
|
|
|
* math/math.h [__USE_ISOC99] (INFINITY): Define directly here. Do
|
|
|
|
|
not include <bits/inf.h>.
|
|
|
|
|
* math/Makefile (headers): Remove bits/inf.h.
|
|
|
|
|
* bits/inf.h: Remove.
|
|
|
|
|
* sysdeps/ieee754/bits/inf.h: Likewise.
|
|
|
|
|
|
Simplify HUGE_VAL definitions.
There are various bits/huge_val*.h headers to define HUGE_VAL and
related macros. All of them use __builtin_huge_val etc. for GCC 3.3
and later. Then there are various fallbacks, such as using a large
hex float constant for GCC 2.96 and later, or using unions (with or
without compound literals) to construct the bytes of an infinity, with
this last being the reason for having architecture-specific files.
Supporting TS 18661-3 _FloatN / _FloatNx types that have the same
format as other supported types will mean adding more such macros;
needing to add more headers for them doesn't seem very desirable.
The fallbacks based on bytes of the representation of an infinity do
not meet the standard requirements for a constant expression. At
least one of them is also wrong: sysdeps/sh/bits/huge_val.h is
producing a mixed-endian representation which does not match what GCC
does.
This patch eliminates all those headers, defining the macros directly
in math.h. For GCC 3.3 and later, the built-in functions are used as
now. For other compilers, a large constant 1e10000 (with appropriate
suffix) is used. This is like the fallback for GCC 2.96 and later,
but without using hex floats (which have no apparent advantage here).
It is unambiguously valid standard C for all floating-point formats
with infinities, which covers all formats supported by glibc or likely
to be supported by glibc in future (C90 DR#025 said that if a
floating-point format represents infinities, all real values lie
within the range of representable values, so the constraints for
constant expressions are not violated), but may generate compiler
warnings and wouldn't handle the TS 18661-1 FENV_ROUND pragma
correctly. If someone is actually using a compiler with glibc that
does not claim to be GCC 3.3 or later, but which has a better way to
define the HUGE_VAL macros, we can always add compiler conditionals in
with alternative definitions.
I intend to make similar changes for INF and NAN. The SNAN macros
already just use __builtin_nans etc. with no fallback for compilers
not claiming to be GCC 3.3 or later.
Tested for x86_64.
* math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h,
bits/huge_vall.h or bits/huge_val_flt128.h.
(HUGE_VAL): Define directly here.
[__USE_ISOC99] (HUGE_VALF): Likewise.
[__USE_ISOC99] (HUGE_VALL): Likewise.
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
(HUGE_VAL_F128): Likewise.
* math/Makefile (headers): Remove bits/huge_val.h,
bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h.
* bits/huge_val.h: Remove.
* bits/huge_val_flt128.h: Likewise.
* bits/huge_valf.h: Likewise.
* bits/huge_vall.h: Likewise.
* sysdeps/ia64/bits/huge_vall.h: Likewise.
* sysdeps/ieee754/bits/huge_val.h: Likewise.
* sysdeps/ieee754/bits/huge_valf.h: Likewise.
* sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise.
* sysdeps/sh/bits/huge_val.h: Likewise.
* sysdeps/sparc/bits/huge_vall.h: Likewise.
* sysdeps/x86/bits/huge_vall.h: Likewise.
2017-08-31 17:50:50 +02:00
|
|
|
|
* math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h,
|
|
|
|
|
bits/huge_vall.h or bits/huge_val_flt128.h.
|
|
|
|
|
(HUGE_VAL): Define directly here.
|
|
|
|
|
[__USE_ISOC99] (HUGE_VALF): Likewise.
|
|
|
|
|
[__USE_ISOC99] (HUGE_VALL): Likewise.
|
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
|
(HUGE_VAL_F128): Likewise.
|
|
|
|
|
* math/Makefile (headers): Remove bits/huge_val.h,
|
|
|
|
|
bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h.
|
|
|
|
|
* bits/huge_val.h: Remove.
|
|
|
|
|
* bits/huge_val_flt128.h: Likewise.
|
|
|
|
|
* bits/huge_valf.h: Likewise.
|
|
|
|
|
* bits/huge_vall.h: Likewise.
|
|
|
|
|
* sysdeps/ia64/bits/huge_vall.h: Likewise.
|
|
|
|
|
* sysdeps/ieee754/bits/huge_val.h: Likewise.
|
|
|
|
|
* sysdeps/ieee754/bits/huge_valf.h: Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise.
|
|
|
|
|
* sysdeps/sh/bits/huge_val.h: Likewise.
|
|
|
|
|
* sysdeps/sparc/bits/huge_vall.h: Likewise.
|
|
|
|
|
* sysdeps/x86/bits/huge_vall.h: Likewise.
|
|
|
|
|
|
2017-08-31 16:59:37 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-addr-obj.c (_dl_addr_inside_object): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* elf/dl-cache.c (_dl_cache_libcmp, _dl_load_cache_lookup):
|
|
|
|
|
Likewise.
|
|
|
|
|
* elf/dl-debug.c (_dl_debug_initialize): Likewise.
|
|
|
|
|
* elf/dl-deps.c (_dl_build_local_scope, _dl_map_object_deps): Likewise.
|
|
|
|
|
* elf/dl-environ.c (_dl_next_ld_env_entry): Likewise.
|
|
|
|
|
* elf/dl-execstack.c (_dl_make_stack_executable): Likewise.
|
|
|
|
|
* elf/dl-fini.c (_dl_sort_fini): Likewise.
|
|
|
|
|
* elf/dl-hwcaps.c (_dl_important_hwcaps): Likewise.
|
|
|
|
|
* elf/dl-libc.c (dlerror_run): Likewise.
|
|
|
|
|
* elf/dl-load.c (add_name_to_object, decompose_rpath)
|
|
|
|
|
(_dl_init_paths, _dl_map_object, _dl_rtld_di_serinfo): Likewise.
|
|
|
|
|
* elf/dl-lookup.c (add_dependency, _dl_debug_bindings)
|
|
|
|
|
(_dl_lookup_symbol_x, _dl_setup_hash, _dl_debug_bindings):
|
|
|
|
|
Likewise.
|
|
|
|
|
* elf/dl-misc.c (_dl_sysdep_read_whole_file, _dl_name_match_p)
|
|
|
|
|
(_dl_higher_prime_number, _dl_strtoul): Likewise.
|
|
|
|
|
* elf/dl-object.c (_dl_add_to_namespace_list, _dl_new_object): Likewise.
|
|
|
|
|
* elf/dl-profile.c (_dl_start_profile): Likewise.
|
|
|
|
|
* elf/dl-reloc.c (_dl_try_allocate_static_tls)
|
|
|
|
|
(_dl_allocate_static_tls, _dl_protect_relro, _dl_reloc_bad_type):
|
|
|
|
|
Likewise.
|
|
|
|
|
* elf/dl-support.c (_dl_aux_init, _dl_non_dynamic_init): Likewise.
|
|
|
|
|
* elf/dl-sym.c (_dl_tls_symaddr, do_sym): Likewise.
|
|
|
|
|
* elf/dl-sysdep.c (_dl_sysdep_start_cleanup, _dl_show_auxv): Likewise.
|
|
|
|
|
* elf/dl-tls.c (_dl_next_tls_modid, _dl_count_modids)
|
|
|
|
|
(_dl_determine_tlsoffset, allocate_dtv, _dl_get_tls_static_info)
|
|
|
|
|
(_dl_allocate_tls_storage): Likewise.
|
|
|
|
|
* elf/dl-version.c (match_symbol, _dl_check_map_versions)
|
|
|
|
|
(_dl_check_all_versions): Likewise.
|
|
|
|
|
* elf/dynamic-link.h (_dl_try_allocate_static_tls): Likewise.
|
|
|
|
|
* elf/tlsdeschtab.h (_dl_make_tlsdesc_dynamic): Likewise.
|
|
|
|
|
* elf/tst-_dl_addr_inside_object.c (_dl_addr_inside_object): Likewise.
|
|
|
|
|
* sysdeps/aarch64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
|
|
|
|
|
* sysdeps/aarch64/tlsdesc.c (_dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/arm/dl-lookupcfg.h (_dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/arm/dl-machine.h (elf_machine_load_address): Remove
|
|
|
|
|
internal_function from __dl_start.
|
|
|
|
|
* sysdeps/arm/dl-tlsdesc.h (_dl_unmap): Remove internal_function.
|
|
|
|
|
* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Likewise.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_name_match_p)
|
|
|
|
|
(_dl_higher_prime_number, _dl_strtoul, _dl_map_object)
|
|
|
|
|
(_dl_map_object_deps, _dl_setup_hash, _dl_rtld_di_serinfo)
|
|
|
|
|
(_dl_lookup_symbol_x, _dl_add_to_namespace_list, _dl_new_object)
|
|
|
|
|
(_dl_protect_relro, _dl_reloc_bad_type, _dl_check_all_versions)
|
|
|
|
|
(_dl_check_map_versions, _dl_sort_fini, _dl_debug_initialize)
|
|
|
|
|
(_dl_init_paths, _dl_start_profile, _dl_show_auxv)
|
|
|
|
|
(_dl_next_ld_env_entry, _dl_important_hwcaps)
|
|
|
|
|
(_dl_load_cache_lookup, _dl_sysdep_read_whole_file)
|
|
|
|
|
(_dl_sysdep_start_cleanup, _dl_next_tls_modid, _dl_count_modids)
|
|
|
|
|
(_dl_determine_tlsoffset, _dl_get_tls_static_info)
|
|
|
|
|
(_dl_allocate_static_tls, _dl_allocate_tls_storage)
|
|
|
|
|
(_dl_addr_inside_object, _dl_non_dynamic_init, _dl_aux_init):
|
|
|
|
|
Likewise.
|
|
|
|
|
(struct rtld_global_ro): Remove internal_function from the
|
|
|
|
|
_dl_lookup_symbol_x member.
|
|
|
|
|
(_dl_symbol_value): Remove. No longer defined anywhere.
|
|
|
|
|
* sysdeps/i386/dl-lookupcfg.h (_dl_unmap): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* sysdeps/i386/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
|
|
|
|
|
* sysdeps/i386/tlsdesc.c (_dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (_dl_show_auxv): Likewise.
|
|
|
|
|
* sysdeps/nios2/dl-init.c (_dl_nios2_get_gp_value): Likewise.
|
|
|
|
|
* sysdeps/tile/dl-lookupcfg.h (_dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/tile/dl-machine.h (_dl_after_load): Likewise.
|
|
|
|
|
* sysdeps/tile/dl-runtime.c (_dl_after_load, _dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/dl-vdso.h (_dl_vdso_vsym): Likewise.
|
|
|
|
|
* sysdeps/x86_64/dl-lookupcfg.h (_dl_unmap): Likewise.
|
|
|
|
|
* sysdeps/x86_64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
|
|
|
|
|
* sysdeps/x86_64/tlsdesc.c (_dl_unmap): Likewise.
|
|
|
|
|
|
2017-08-31 16:16:07 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gmon/gmon.c (write_hist, write_call_graph, write_bb_counts):
|
|
|
|
|
Remove internal_function.
|
|
|
|
|
* sysdeps/arm/machine-gmon.h (mcount_internal, _MCOUNT_DECL):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/machine-gmon.h (mcount_internal, _MCOUNT_DECL):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-31 16:12:03 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dlfcn/dlerror.c (_dlerror_run): Remove internal_function.
|
|
|
|
|
* elf/dl-sym.c (_dl_vsym, _dl_sym): Likewise.
|
|
|
|
|
* include/dlfcn.h (_dl_sym, _dl_vsym, _dlerror_run): Likewise.
|
|
|
|
|
|
2017-08-31 16:07:52 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* resolv/gai_misc.c (__gai_find_request, __gai_remove_request)
|
|
|
|
|
(__gai_enqueue_request): Remove internal_function.
|
|
|
|
|
* resolv/gai_misc.h (__gai_enqueue_request, __gai_find_request)
|
|
|
|
|
(__gai_remove_request, __gai_notify, __gai_notify_only)
|
|
|
|
|
(__gai_sigqueue): Likewise.
|
|
|
|
|
* resolv/gai_notify.c (__gai_notify_only, __gai_notify): Likewise.
|
|
|
|
|
* resolv/gai_sigqueue.c (__gai_sigqueue): Likewise.
|
|
|
|
|
* resolv/inet_ntop.c (inet_ntop4, inet_ntop6): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-31 16:02:40 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dirent/scandir-tail.c (SCANDIR_TAIL): Remove internal_function.
|
|
|
|
|
* include/dirent.h (__opendirat, __getdents, __getdents64)
|
|
|
|
|
(__alloc_dir, __scandir_tail, __scandir64_tail): Likewise.
|
|
|
|
|
* sysdeps/posix/opendir.c (__opendirat, __alloc_dir): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Likewise.
|
|
|
|
|
|
2017-08-31 15:33:27 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/getcwd.c (generic_getcwd): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
(GETCWD_RETURN_TYPE): Likewise.
|
|
|
|
|
|
2017-08-31 15:58:09 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/time.h (__tz_compute, __strptime_internal): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* time/strptime_l.c (__strptime_internal): Likewise.
|
|
|
|
|
* time/tzset.c (compute_change, update_vars, __tz_compute): Likewise.
|
|
|
|
|
|
2017-08-15 17:52:59 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* iconv/gconv.c (__gconv): Remove internal_function.
|
|
|
|
|
* iconv/gconv_builtin.c (__gconv_get_builtin_trans): Likewise.
|
|
|
|
|
* iconv/gconv_cache.c (__gconv_load_cache, find_module_idx)
|
|
|
|
|
(find_module, __gconv_compare_alias_cache, __gconv_lookup_cache)
|
|
|
|
|
(__gconv_release_cache): Likewise.
|
|
|
|
|
* iconv/gconv_close.c (__gconv_close): Likewise.
|
|
|
|
|
* iconv/gconv_conf.c (detect_conflict, insert_module, add_module)
|
|
|
|
|
(read_conf_file, __gconv_get_path): Likewise.
|
|
|
|
|
* iconv/gconv_db.c (derivation_lookup, add_derivation)
|
|
|
|
|
(__gconv_release_step, gen_steps, increment_counter)
|
|
|
|
|
(find_derivation, __gconv_compare_alias, __gconv_find_transform)
|
|
|
|
|
(__gconv_close_transform, free_modules_db): Likewise.
|
|
|
|
|
* iconv/gconv_dl.c (__gconv_find_shlib, __gconv_release_shlib):
|
|
|
|
|
Likewise.
|
|
|
|
|
* iconv/gconv_int.h (__gconv_open, __gconv_close, __gconv)
|
|
|
|
|
(__gconv_find_transform, __gconv_lookup_cache)
|
|
|
|
|
(__gconv_release_step, __gconv_load_cache, __gconv_get_path)
|
|
|
|
|
(__gconv_close_transform, __gconv_release_cache)
|
|
|
|
|
(__gconv_loaded_object, __gconv_release_shlib)
|
|
|
|
|
(__gconv_compare_alias): Likewise.
|
|
|
|
|
* iconv/gconv_open.c (__gconv_open): Likewise.
|
|
|
|
|
* iconv/iconv_prog.c (print_known_names, add_known_names): Likewise.
|
|
|
|
|
* iconv/iconvconfig.c (add_module): Likewise.
|
|
|
|
|
* intl/dcigettext.c (plural_lookup, guess_category_value)
|
|
|
|
|
(category_to_name, get_output_charset, _nl_find_msg): Likewise.
|
|
|
|
|
* intl/eval-plural.h (plural_eval): Likewise.
|
|
|
|
|
* intl/finddomain.c (_nl_find_domain): Likewise.
|
|
|
|
|
* intl/gettextP.h (_nl_unload_domain, _nl_find_domain)
|
|
|
|
|
(_nl_load_domain, _nl_find_msg): Likewise.
|
|
|
|
|
(internal_function): Remove definition.
|
|
|
|
|
* intl/loadinfo.h (internal_function): Likewise.
|
|
|
|
|
* intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* intl/localealias.c (internal_function): Remove definition.
|
|
|
|
|
(read_alias_file): Remove internal_function.
|
|
|
|
|
* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Likewise.
|
|
|
|
|
* intl/plural-exp.h (internal_function): Remove definition.
|
|
|
|
|
(FREE_EXPRESSION, EXTRACT_PLURAL_EXPRESSION): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* intl/plural.c: Regenerate.
|
|
|
|
|
* intl/plural.y (FREE_EXPRESSION): Remove internal_function.
|
|
|
|
|
* locale/coll-lookup.c (__collidx_table_lookup)
|
|
|
|
|
(__collseq_table_lookup): Likewise.
|
|
|
|
|
* locale/coll-lookup.h (__collidx_table_lookup)
|
|
|
|
|
(__collseq_table_lookup): Likewise.
|
|
|
|
|
* locale/findlocale.c (_nl_find_locale, _nl_remove_locale): Likewise.
|
|
|
|
|
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
|
|
|
|
|
* locale/loadlocale.c (_nl_intern_locale_data, _nl_load_locale)
|
|
|
|
|
(_nl_unload_locale): Likewise.
|
|
|
|
|
* locale/localeinfo.h (struct __locale_data): Remove
|
|
|
|
|
internal_function from cleanup member.
|
|
|
|
|
(_nl_find_locale, _nl_load_locale, _nl_unload_locale)
|
|
|
|
|
(_nl_remove_locale, _nl_load_locale_from_archive)
|
|
|
|
|
(_nl_intern_locale_data, _nl_get_era_entry, _nl_select_era_entry)
|
|
|
|
|
(_nl_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit)
|
|
|
|
|
(_nl_cleanup_time): Remove internal_function.
|
|
|
|
|
* time/alt_digit.c (_nl_get_alt_digit, _nl_get_walt_digit)
|
|
|
|
|
(_nl_parse_alt_digit): Likewise.
|
|
|
|
|
* time/era.c (_nl_init_era_entries, _nl_get_era_entry)
|
|
|
|
|
(_nl_select_era_entry): Likewise.
|
|
|
|
|
* time/lc-time-cleanup.c (_nl_cleanup_time): Likewise.
|
|
|
|
|
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv, __wcsmbs_clone_conv)
|
|
|
|
|
(__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise.
|
2017-08-31 15:58:09 +02:00
|
|
|
|
* wcsmbs/wcsmbsload.h (__wcsmbs_load_conv, __wcsmbs_clone_conv)
|
|
|
|
|
(__wcsmbs_named_conv, _nl_cleanup_ctype): Likewise.
|
2017-08-15 17:52:59 +02:00
|
|
|
|
|
2017-08-31 15:57:00 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* rt/aio_sigqueue.c (__aio_sigqueue): Remove internal_function.
|
|
|
|
|
* sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise.
|
|
|
|
|
* sysdeps/pthread/aio_misc.c (__aio_free_request, __aio_find_req)
|
|
|
|
|
(__aio_find_req_fd, __aio_remove_request, __aio_enqueue_request):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/pthread/aio_misc.h (__aio_enqueue_request)
|
|
|
|
|
(__aio_find_req, __aio_find_req_fd, __aio_free_request)
|
|
|
|
|
(__aio_notify, __aio_notify_only, __aio_sigqueue): Likewise.
|
|
|
|
|
* sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise.
|
|
|
|
|
|
2017-08-31 15:56:45 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* misc/getttyent.c (skip, value): Remove internal_function.
|
|
|
|
|
* misc/syslog.c (openlog_internal): Likewise.
|
|
|
|
|
* misc/tsearch.c (trecurse, tdestroy_recurse): Likewise.
|
|
|
|
|
|
2017-08-31 15:56:32 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/nss.h (__nss_valid_field, __nss_valid_list_field)
|
|
|
|
|
(__nss_rewrite_field): Remove internal_function.
|
|
|
|
|
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
|
|
|
|
|
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
|
|
|
|
|
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
|
|
|
|
|
* nss/nsswitch.c (nss_parse_file, nss_getline)
|
|
|
|
|
(nss_parse_service_list, nss_new_service): Likewise.
|
|
|
|
|
* nss/rewrite_field.c (__nss_rewrite_field): Likewise.
|
|
|
|
|
* nss/valid_field.c (__nss_valid_field): Likewise.
|
|
|
|
|
* nss/valid_list_field.c (__nss_valid_list_field): Likewise.
|
|
|
|
|
|
2017-08-31 15:56:21 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/arena.c (__malloc_fork_lock_parent)
|
|
|
|
|
(__malloc_fork_unlock_parent, __malloc_fork_unlock_child)
|
|
|
|
|
(next_env_entry, new_heap, heap_trim, arena_get2): Remove
|
|
|
|
|
internal_function from defintions.
|
|
|
|
|
* malloc/hooks.c (mem2mem_check, mem2chunk_check): Likewise.
|
|
|
|
|
* malloc/malloc-internal.h (__malloc_fork_lock_parent)
|
|
|
|
|
(__malloc_fork_unlock_parent, __malloc_fork_unlock_child): Remove
|
|
|
|
|
internal_function from declarations.
|
|
|
|
|
* malloc/malloc.c (internal_function): Do not define.
|
|
|
|
|
(mem2mem_check): Remove internal_function from declaration.
|
|
|
|
|
(munmap_chunk, mremap_chunk): Remove internal_function.
|
|
|
|
|
* malloc/mtrace.c (tr_where): Likewise.
|
|
|
|
|
|
2017-08-31 15:55:36 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/rpc/pmap_clnt.h (__get_socket): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* sunrpc/auth_des.c (synchronize): Likewise.
|
|
|
|
|
* sunrpc/auth_unix.c (marshal_new_auth): Likewise.
|
|
|
|
|
* sunrpc/clnt_perr.c (auth_errmsg): Likewise.
|
|
|
|
|
* sunrpc/des_impl.c (des_encrypt, des_set_key): Likewise.
|
|
|
|
|
* sunrpc/key_call.c (key_call_keyenvoy, key_call_socket)
|
|
|
|
|
(key_call): Likewise.
|
|
|
|
|
* sunrpc/pm_getport.c (__get_socket): Likewise.
|
|
|
|
|
* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
|
|
|
|
|
* sunrpc/svc_unix.c (makefd_xprt): Likewise.
|
|
|
|
|
* sunrpc/svc_tcp.c (makefd_xprt): Likewise.
|
|
|
|
|
* sunrpc/svcauth_des.c (cache_init, cache_spot, cache_ref)
|
|
|
|
|
(invalidate): Likewise.
|
|
|
|
|
* sunrpc/xcrypt.c (hexval, hex2bin, bin2hex): Likewise.
|
|
|
|
|
* sunrpc/xdr_rec.c (fix_buf_size, skip_input_bytes, flush_out)
|
|
|
|
|
(set_input_fragment, get_input_bytes): Likewise.
|
|
|
|
|
|
2017-08-31 14:55:11 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/malloc.c (_int_free): Remove locked variable and related
|
|
|
|
|
asserts.
|
|
|
|
|
|
2017-08-31 15:28:31 +02:00
|
|
|
|
2017-08-31 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22051]
|
|
|
|
|
* Makerules (build-module-helper-objlist): Filter out
|
|
|
|
|
$(elf-objpfx)sofini.os.
|
|
|
|
|
(build-shlib-objlist): Append $(elf-objpfx)sofini.os if it is
|
|
|
|
|
needed.
|
|
|
|
|
|
2017-08-31 14:07:23 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* libio/fcloseall.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/feof.c: Likewise.
|
|
|
|
|
* libio/fileno.c: Likewise.
|
|
|
|
|
* libio/fileops.c: Assume _LIBC, errno, __set_errno are defined.
|
|
|
|
|
(_POSIX_SOURCE, open, lseek, read, write): Remove macro
|
|
|
|
|
definitions.
|
|
|
|
|
(_IO_file_open): Call __open directly.
|
|
|
|
|
(_IO_new_file_sync): Assume ESPIPE is defined.
|
|
|
|
|
(_IO_file_seekoff_maybe_mmap): Call __read directly.
|
|
|
|
|
(_IO_new_file_write): Call __write directly.
|
|
|
|
|
* libio/ftello.c (__ftello): Assume EIO, EOVERFLOW are defined.
|
|
|
|
|
* libio/ftello64.c (__ftello64): Assume EIO is defined.
|
|
|
|
|
* libio/genops.c: Assume _LIBC is defined.
|
|
|
|
|
(save_for_backup): Remove internal_function.
|
|
|
|
|
* libio/getc.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/getwc.c: Likewise.
|
|
|
|
|
* libio/iofclose.c: Assume _LIBC is defined.
|
|
|
|
|
* libio/iofdopen.c: Likewise.
|
|
|
|
|
(_IO_fcntl): Remove macro definition.
|
|
|
|
|
(_IO_new_fdopen): Assume F_GETFL, F_SETFL, O_ACCMODE are defined.
|
|
|
|
|
Call __fcntl directly.
|
|
|
|
|
* libio/iofflush.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/iofgetpos.c (_IO_new_fgetpos): Assume EIO, EOVERFLOW are
|
|
|
|
|
defined.
|
|
|
|
|
* libio/iofgetpos64.c (_IO_new_fgetpos64): Assume EIO is defined.
|
|
|
|
|
* libio/iofgets.c: Likewise.
|
|
|
|
|
* libio/iofopen.c: Assume _LIBC is defined.
|
|
|
|
|
* libio/iofopen64.c: Assume _LIBC, weak_alias are defined.
|
|
|
|
|
* libio/iofputs.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/iofread.c: Likewise.
|
|
|
|
|
* libio/iofsetpos.c (_IO_new_fsetpos): Assume EIO is defined.
|
|
|
|
|
* libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise.
|
|
|
|
|
* libio/ioftell.c: Assume weak_alias is defined.
|
|
|
|
|
(_IO_ftell): Assume EIO, EOVERFLOW are defined.
|
|
|
|
|
* libio/iofwide.c: Assume _LIBC is defined.
|
|
|
|
|
(_IO_fwide): Drop SHARED conditional because it is implied by
|
|
|
|
|
SHLIB_COMPAT.
|
|
|
|
|
* libio/iofwrite.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/iogetdelim.c: Likewise.
|
|
|
|
|
* libio/iogets.c: Assume _LIBC, weak_alias are defined.
|
|
|
|
|
* libio/iogetwline.c (wmemcpy): Remove macro definition.
|
|
|
|
|
(_IO_getwline): Call __wmemcpy directly.
|
|
|
|
|
* libio/iopopen.c: Assume _LIBC is defined.
|
|
|
|
|
(_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl)
|
|
|
|
|
(_IO_close): Remove macro definitions.
|
|
|
|
|
(_IO_new_proc_open): Call __fork, __dup2, __close_nocancel, execl,
|
|
|
|
|
_exit directly.
|
|
|
|
|
(_IO_new_proc_close): Call __close_nocancel, __waitpid_nocancel
|
|
|
|
|
directly.
|
|
|
|
|
* libio/ioputs.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/ioseekoff.c: Assume errno, __set_errno are defined.
|
|
|
|
|
* libio/iosetbuffer.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/iosetvbuf.c: Likewise.
|
|
|
|
|
* libio/ioungetc.c: Likewise.
|
|
|
|
|
* libio/libioP.h: Assume _LIBC, __GLIBC__, libc_hidden_proto,
|
|
|
|
|
libc_hidden_def, libc_hidden_weak, NULL are defined.
|
|
|
|
|
(mmap, munmap, ftruncate, OS_FSTAT): Remove macro definitions.
|
|
|
|
|
* libio/oldfilepos.c: Assume _LIBC, errno, __set_errno are
|
|
|
|
|
defined.
|
|
|
|
|
(_POSIX_SOURCE, open, lseek, read, write): Remove macro
|
|
|
|
|
definitions.
|
|
|
|
|
(_IO_old_file_init_internal): Drop SHARED conditional because it
|
|
|
|
|
is implied by SHLIB_COMPAT.
|
|
|
|
|
(_IO_old_file_fopen): Call __open directly.
|
|
|
|
|
(_IO_old_file_sync): Assume ESPIPE is defined.
|
|
|
|
|
(_IO_old_file_write): Call __write directly.
|
|
|
|
|
* libio/oldfdopen.c (_IO_fcntl): Remove macro definition.
|
|
|
|
|
(_IO_old_fdopen): Assume F_GETFL, O_ACCMODE, F_SETFL are defined.
|
|
|
|
|
Call __fcntl directly.
|
|
|
|
|
* libio/oldiofgetpos.c: Assume weak_alias is defined.
|
|
|
|
|
(_IO_old_fgetpos): Assume EIO is defined.
|
|
|
|
|
* libio/oldiofgetpos64.c: Assume weak_alias is defined.
|
|
|
|
|
(_IO_old_fgetpos64): Assume EIO is defined.
|
|
|
|
|
* libio/oldiofsetpos.c: Assume weak_alias is defined.
|
|
|
|
|
(_IO_old_fsetpos): Assume EIO is defined.
|
|
|
|
|
* libio/oldiofsetpos64.c: Assume weak_alias is defined.
|
|
|
|
|
(_IO_old_fsetpos64): Assume EIO is defined.
|
|
|
|
|
* libio/oldiopopen.c: Assume _LIBC is defined.
|
|
|
|
|
(_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl)
|
|
|
|
|
(_IO_close): Remove macro definitions.
|
|
|
|
|
(_IO_old_proc_open): Call __pipe, __close, __dup2, execl, _exit
|
|
|
|
|
directly.
|
|
|
|
|
(_IO_old_proc_close): Call __close, __waitpid directly.
|
|
|
|
|
* libio/put.c: Assume weak_alias is defined.
|
|
|
|
|
* libio/stdfiles.c: Assume _LIBC is defined.
|
|
|
|
|
* libio/stdio.c: Likewise.
|
|
|
|
|
* libio/wfileops.c: Likewise.
|
|
|
|
|
(_IO_wfile_sync): Assume ESPIPE is defined.
|
|
|
|
|
* libio/wgenops.c: Assume _LIBC is defined.
|
|
|
|
|
(save_for_wbackup): Remove internal_function.
|
|
|
|
|
|
2017-08-31 12:02:59 +02:00
|
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/malloc.c (top_check): Change return type to void. Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* malloc/hooks.c (top_check): Likewise.
|
|
|
|
|
(malloc_check, realloc_check, memalign_check): Adjust.
|
|
|
|
|
|
2017-08-31 00:02:04 +02:00
|
|
|
|
2017-08-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21457]
|
|
|
|
|
* sysdeps/arm/sys/ucontext.h: Do not include <bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/generic/sys/ucontext.h: Add comment about use of struct
|
|
|
|
|
sigcontext and namespace requirements.
|
|
|
|
|
* sysdeps/i386/sys/ucontext.h: Do not include <bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/m68k/sys/ucontext.h: Likewise.
|
|
|
|
|
* sysdeps/mips/sys/ucontext.h: Likewise. Include <bits/types.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use
|
|
|
|
|
__glibc_reserved1 instead of __reserved.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use
|
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use
|
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use
|
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): New macro.
|
|
|
|
|
(struct __ia64_fpreg_mcontext): New type.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
(_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext.
|
|
|
|
|
(uc_sigmask): Define using __ctx.
|
|
|
|
|
(uc_stack): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
|
sigcontext.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
|
|
|
|
|
<bits/sigcontext.h>. Include <bits/types.h>.
|
|
|
|
|
* conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove.
|
|
|
|
|
(test-xfail-XPG42/sys/wait.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XPG42/ucontext.h/conform): Likewise.
|
|
|
|
|
(test-xfail-UNIX98/signal.h/conform): Likewise.
|
|
|
|
|
(test-xfail-UNIX98/sys/wait.h/conform): Likewise.
|
|
|
|
|
(test-xfail-UNIX98/ucontext.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XOPEN2K/signal.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XOPEN2K/sys/wait.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XOPEN2K/ucontext.h/conform): Likewise.
|
|
|
|
|
(test-xfail-POSIX2008/signal.h/conform): Likewise.
|
|
|
|
|
(test-xfail-POSIX2008/sys/wait.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XOPEN2K8/signal.h/conform): Likewise.
|
|
|
|
|
(test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise.
|
|
|
|
|
|
2017-08-30 20:10:56 +02:00
|
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/dynarray_emplace_enlarge.c
|
|
|
|
|
(__libc_dynarray_emplace_enlarge): Set errno on overflow.
|
|
|
|
|
* malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise.
|
|
|
|
|
* malloc/tst-dynarray.c (test_long_overflow): New function.
|
|
|
|
|
(do_test): Call it.
|
|
|
|
|
|
2017-08-30 17:16:08 +02:00
|
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/malloc.c (ARENA_CORRUPTION_BIT, arena_is_corrupt)
|
|
|
|
|
(set_arena_corrupt): Remove definitions.
|
|
|
|
|
(mtrim): Do not check for corrupt arena.
|
|
|
|
|
* malloc/arena.c (arena_lock, reused_arena, arena_get_retry):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-30 19:29:38 +02:00
|
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21754]
|
|
|
|
|
* malloc/arena.c (TUNABLE_CALLBACK set_mallopt_check): Do not set
|
|
|
|
|
check_action.
|
|
|
|
|
(ptmalloc_init): Do not set or use check_action.
|
|
|
|
|
* malloc/hooks.c (malloc_check_get_size, realloc_check): Adjust
|
|
|
|
|
call to malloc_printerr. Remove return statement.
|
|
|
|
|
(free_check): Likewise. Remove arena unlock.
|
|
|
|
|
(top_check): Update comment. Adjust call to malloc_printerr.
|
|
|
|
|
Remove heap repair code.
|
|
|
|
|
* malloc/malloc.c (unlink): Adjust calls to malloc_printerr.
|
|
|
|
|
(DEFAULT_CHECK_ACTION, check_action): Remove definitions.
|
|
|
|
|
(sysmalloc): Adjust call to malloc_printerr.
|
|
|
|
|
(munmap_chunk, __libc_realloc): Likewise. Remove return
|
|
|
|
|
statement.
|
|
|
|
|
(_int_malloc, int_realloc): Likewise. Remove errstr variable.
|
|
|
|
|
Remove errout label and corresponding gotos.
|
|
|
|
|
(_int_free): Likewise. Remove arena unlock.
|
|
|
|
|
(do_set_mallopt_check): Do not set check_action.
|
|
|
|
|
(malloc_printerr): Adjust parameter list. Do not mark arena as
|
|
|
|
|
corrupt.
|
|
|
|
|
* manual/memory.texi (Malloc Tunable Parameters): Remove TODO
|
|
|
|
|
comment.
|
|
|
|
|
* manual/probes.texi (Memory Allocation Probes): Remove
|
|
|
|
|
memory_mallopt_check_action.
|
|
|
|
|
|
2017-08-30 18:25:51 +02:00
|
|
|
|
2017-08-30 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext):
|
|
|
|
|
Use pointer to uint64_t instead of long int for sp.
|
|
|
|
|
|
2017-08-30 16:39:41 +02:00
|
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21754]
|
|
|
|
|
* malloc/malloc.c (malloc_printerr): Always terminate the process,
|
|
|
|
|
without printing a backtrace. Do not leak any information in the
|
|
|
|
|
error message.
|
|
|
|
|
* manual/memory.texi (Heap Consistency Checking): Update.
|
|
|
|
|
* manual/tunables.texi (Memory Allocation Tunables): Likewise.
|
|
|
|
|
|
2017-08-30 16:20:20 +02:00
|
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Do not scale NPTL tests with available number of CPUs.
|
|
|
|
|
* nptl/tst-cond16.c (count): Set to constant value of 8.
|
|
|
|
|
* nptl/tst-cond18.c (count): Likewise.
|
|
|
|
|
|
2017-08-29 23:07:51 +02:00
|
|
|
|
2017-08-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22035]
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__inline_functions):
|
|
|
|
|
Define to take a second argument that is a macro that
|
|
|
|
|
concatentates a suffix, not the suffix itself.
|
|
|
|
|
(__CONCAT_d): New macro.
|
|
|
|
|
(__CONCAT_f): Likewise.
|
|
|
|
|
(__CONCAT_l): Likewise.
|
|
|
|
|
|
2017-08-29 19:42:42 +02:00
|
|
|
|
2017-08-29 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/tst-atexit-common.c (do_test): Test handler inheritance
|
|
|
|
|
by child.
|
|
|
|
|
|
MIPS/o32: Fix internal_syscall5/6/7
Fix a commit cc25c8b4c119 ("New pthread rwlock that is more scalable.")
regression and prevent uncontrolled stack space usage from happening
when a 5-, 6- or 7-argument syscall wrapper is placed in a loop.
The cause of the problem is the use of `alloca' in regular MIPS/Linux
wrappers to force the use of the frame pointer register in any function
using one or more of these wrappers. Using the frame pointer register
is required so as not to break frame unwinding as the the stack pointer
is lowered within the inline asm used by these wrappers to make room for
the stack arguments, which 5-, 6- and 7-argument syscalls use with the
o32 ABI.
The regular MIPS/Linux wrappers are macros however, expanded inline, and
stack allocations made with `alloca' are not discarded until the return
of the function they are made in. Consequently if called in a loop,
then virtual memory is wasted, and if the loop goes through enough
iterations, then ultimately available memory can get exhausted causing
the program to crash.
Address the issue by replacing the inline code with standalone assembly
functions, which rely on the compiler arranging syscall arguments
according to the o32 function calling convention, which MIPS/Linux
syscalls also use, except for the syscall number passed and the error
flag returned. This way there is no need to fiddle with the stack
pointer anymore and all that has to be handled in the new standalone
functions is the special handling of the syscall number and the error
flag.
Redirect 5-, 6- or 7-argument MIPS16/Linux syscall wrappers to these new
functions as well, so as to avoid an unnecessary double call the
existing wrappers would cause with the new arrangement.
[BZ #21956]
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
[subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
`mips16-syscall6' and `mips16-syscall7'.
(CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
(CFLAGS-mips16-syscall7.c): Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
Remove `__mips16_syscall5', `__mips16_syscall6' and
`__mips16_syscall7'.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
(__mips16_syscall0): Rename `__mips16_syscall_return' to
`__mips_syscall_return'.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
(__mips16_syscall1): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
(__mips16_syscall2): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
(__mips16_syscall3): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
(__mips16_syscall4): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
(__mips16_syscall5): Expand to `__mips_syscall5' rather than
`__mips16_syscall5'. Remove prototype.
(__mips16_syscall6): Expand to `__mips_syscall6' rather than
`__mips16_syscall6'. Remove prototype.
(__mips16_syscall7): Expand to `__mips_syscall7' rather than
`__mips16_syscall7'. Remove prototype.
(__nomips16, __mips16_syscall_return): Move to...
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
(__nomips16, __mips_syscall_return): ... here.
[__mips16] (INTERNAL_SYSCALL_NCS): Rename
`__mips16_syscall_return' to `__mips_syscall_return'.
[__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
`internal_syscall##nr'.
[!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
`internal_syscall##nr'.
(FORCE_FRAME_POINTER): Remove.
(__mips_syscall5): New prototype.
(internal_syscall5): Rewrite to call `__mips_syscall5'.
(__mips_syscall6): New prototype.
(internal_syscall6): Rewrite to call `__mips_syscall6'.
(__mips_syscall7): New prototype.
(internal_syscall7): Rewrite to call `__mips_syscall7'.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
(sysdep_routines): Add libc-do-syscall.
* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
`__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.
2017-08-29 19:31:08 +02:00
|
|
|
|
2017-08-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21956]
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
|
|
|
|
|
[subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
|
|
|
|
|
`mips16-syscall6' and `mips16-syscall7'.
|
|
|
|
|
(CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
|
|
|
|
|
(CFLAGS-mips16-syscall7.c): Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
|
|
|
|
|
Remove `__mips16_syscall5', `__mips16_syscall6' and
|
|
|
|
|
`__mips16_syscall7'.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
|
|
|
|
|
(__mips16_syscall0): Rename `__mips16_syscall_return' to
|
|
|
|
|
`__mips_syscall_return'.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
|
|
|
|
|
(__mips16_syscall1): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
|
|
|
|
|
(__mips16_syscall2): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
|
|
|
|
|
(__mips16_syscall3): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
|
|
|
|
|
(__mips16_syscall4): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
|
|
|
|
|
Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
|
|
|
|
|
Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
|
|
|
|
|
Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
|
|
|
|
|
(__mips16_syscall5): Expand to `__mips_syscall5' rather than
|
|
|
|
|
`__mips16_syscall5'. Remove prototype.
|
|
|
|
|
(__mips16_syscall6): Expand to `__mips_syscall6' rather than
|
|
|
|
|
`__mips16_syscall6'. Remove prototype.
|
|
|
|
|
(__mips16_syscall7): Expand to `__mips_syscall7' rather than
|
|
|
|
|
`__mips16_syscall7'. Remove prototype.
|
|
|
|
|
(__nomips16, __mips16_syscall_return): Move to...
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
|
|
|
|
|
(__nomips16, __mips_syscall_return): ... here.
|
|
|
|
|
[__mips16] (INTERNAL_SYSCALL_NCS): Rename
|
|
|
|
|
`__mips16_syscall_return' to `__mips_syscall_return'.
|
|
|
|
|
[__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
|
|
|
|
|
`internal_syscall##nr'.
|
|
|
|
|
[!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
|
|
|
|
|
`internal_syscall##nr'.
|
|
|
|
|
(FORCE_FRAME_POINTER): Remove.
|
|
|
|
|
(__mips_syscall5): New prototype.
|
|
|
|
|
(internal_syscall5): Rewrite to call `__mips_syscall5'.
|
|
|
|
|
(__mips_syscall6): New prototype.
|
|
|
|
|
(internal_syscall6): Rewrite to call `__mips_syscall6'.
|
|
|
|
|
(__mips_syscall7): New prototype.
|
|
|
|
|
(internal_syscall7): Rewrite to call `__mips_syscall7'.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
|
|
|
|
|
(sysdep_routines): Add libc-do-syscall.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
|
|
|
|
|
`__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.
|
|
|
|
|
|
2017-08-28 16:24:35 +02:00
|
|
|
|
2017-08-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
[BZ #21672]
|
|
|
|
|
* nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
|
|
|
|
|
Set to use !NEED_SEPARATE_REGISTER_STACK as well.
|
|
|
|
|
(advise_stack_range): New function.
|
|
|
|
|
* nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
|
|
|
|
|
stack non required to advise_stack_range at allocatestack.c
|
|
|
|
|
|
2017-08-29 17:31:08 +02:00
|
|
|
|
2017-08-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Use __uint64_t.
|
|
|
|
|
|
2017-08-29 17:33:58 +02:00
|
|
|
|
2017-08-29 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22026]
|
|
|
|
|
* iconv/gconv_db.c (gen_steps): Decrement step_cnt after resetting
|
|
|
|
|
__end_fct. Mangle __end_fct after setting it to NULL.
|
|
|
|
|
* iconv/Makefile (tests): Add tst-gconv-init-failure.
|
|
|
|
|
(modules-names, modules-names-tests): Add
|
|
|
|
|
tst-gconv-init-failure-mod.
|
|
|
|
|
(gconv-modules): New target.
|
|
|
|
|
(tst-gconv-init-failure-mod.so): Link against libsupport.
|
|
|
|
|
(tst-gconv-init-failure): Depend on gconv-modules,
|
|
|
|
|
tst-gconv-init-failure-mod.so.
|
|
|
|
|
* iconv/tst-gconv-init-failure-mod.c: New file.
|
|
|
|
|
* iconv/tst-gconv-init-failure.c: Likewise.
|
|
|
|
|
* iconv/test-gconv-modules: Likewise.
|
|
|
|
|
|
2017-08-29 16:51:20 +02:00
|
|
|
|
2017-08-29 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22025]
|
|
|
|
|
* iconv/gconv_db.c (free_derivation): Remove redundant
|
|
|
|
|
parentheses.
|
|
|
|
|
(gen_steps): Unconditionally mangle __btowc_fct after
|
|
|
|
|
initialization.
|
|
|
|
|
(increment_counter): Likewise. Do not call init_fct for internal
|
|
|
|
|
modules.
|
|
|
|
|
|
Fix bits/math-finite.h _MSUF_ expansion namespace (bug 22028).
The current bits/math-finite.h approach to defining functions for
different types, involving math.h defining _MSUF_ and _MSUFTO_ for the
function suffixes involved, is not namespace-clean if one of those
suffixes (f, l, f128) is defined as a macro by the user before math.h
is included; too many levels of macro expansion occur. Instead, those
suffixes should appear directly in the expansion of the macro using ##
so they don't get expanded even if defined as macros by the user (that
is, math.h should be defining __REDIRFROM_X and __REDIRTO_X directly
to use those suffixes rather than suffixes being passed as an argument
by macro callers). This patch makes that change.
Tested for x86_64.
[BZ #22028]
* math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
(_MSUF_): Remove macro.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_):
Likewise.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
(__REDIRFROM_X): New macro.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X):
Likewise.
* math/bits/math-finite.h (__REDIRFROM_X): Remove macro.
(__REDIRTO_X): Likewise.
(__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro
arguments.
(__MATH_REDIRCALL_2): Likewise.
(__MATH_REDIRCALL_INTERNAL): Likewise.
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
(__REDIRFROM (gamma, , _MSUF_)): Likweise.
(__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise.
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
* math/test-finite-macros.c: New file.
* math/Makefile (tests): Add test-finite-macros.
(CFLAGS-test-finite-macros.c): New variable.
2017-08-29 16:15:37 +02:00
|
|
|
|
2017-08-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22028]
|
|
|
|
|
* math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
|
|
|
|
|
(_MSUF_): Remove macro.
|
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_):
|
|
|
|
|
Likewise.
|
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
|
|
|
|
|
(__REDIRFROM_X): New macro.
|
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X):
|
|
|
|
|
Likewise.
|
|
|
|
|
* math/bits/math-finite.h (__REDIRFROM_X): Remove macro.
|
|
|
|
|
(__REDIRTO_X): Likewise.
|
|
|
|
|
(__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro
|
|
|
|
|
arguments.
|
|
|
|
|
(__MATH_REDIRCALL_2): Likewise.
|
|
|
|
|
(__MATH_REDIRCALL_INTERNAL): Likewise.
|
|
|
|
|
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
|
|
|
|
|
(__REDIRFROM (gamma, , _MSUF_)): Likweise.
|
|
|
|
|
(__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise.
|
|
|
|
|
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
|
|
|
|
|
* math/test-finite-macros.c: New file.
|
|
|
|
|
* math/Makefile (tests): Add test-finite-macros.
|
|
|
|
|
(CFLAGS-test-finite-macros.c): New variable.
|
|
|
|
|
|
2017-08-29 15:53:28 +02:00
|
|
|
|
2017-08-29 Patsy Franklin <pfrankli@redhat.com>
|
|
|
|
|
Jeff Law <law@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #22025]
|
|
|
|
|
Mangle NULL pointers in iconv/gconv.
|
|
|
|
|
* iconv/gconv_cache.c (find_module): Demangle init_fct before
|
|
|
|
|
checking for NULL. Mangle __btowc_fct if init_fct is non-NULL.
|
|
|
|
|
* iconv/gconv_db.c (free_derivation): Check that __shlib_handle
|
|
|
|
|
is non-NULL before demangling the end_fct. Check for NULL
|
|
|
|
|
end_fct after demangling.
|
|
|
|
|
(__gconv_release_step): Demangle the end_fct before checking
|
|
|
|
|
it for NULL. Remove assert on __shlibc_handle != NULL.
|
|
|
|
|
(gen_steps): Don't check btowc_fct for NULL before mangling.
|
|
|
|
|
Demangle init_fct before checking for NULL.
|
|
|
|
|
(increment_counter): Likewise.
|
|
|
|
|
* gconv_dl.c (__gconv_find_shlib): Don't check init_fct or
|
|
|
|
|
end_fct for NULL before mangling.
|
|
|
|
|
* wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking
|
|
|
|
|
for NULL.
|
|
|
|
|
|
2017-09-16 19:55:55 +02:00
|
|
|
|
2017-08-29 Akhilesh Kumar <akhilesh.k@samsung.com>
|
2017-08-23 06:27:23 +02:00
|
|
|
|
|
|
|
|
|
[BZ #21971]
|
|
|
|
|
* locale/iso-639.def: add Morisyen.
|
|
|
|
|
|
Provide a C++ version of iszero that does not use __MATH_TG (bug 21930)
When signaling nans are enabled (with -fsignaling-nans), the C++ version
of iszero uses the fpclassify macro, which is defined with __MATH_TG.
However, when support for float128 is available, __MATH_TG uses the
builtin __builtin_types_compatible_p, which is only available in C mode.
This patch refactors the C++ version of iszero so that it uses function
overloading to select between the floating-point types, instead of
relying on fpclassify and __MATH_TG.
Tested for powerpc64le, s390x, x86_64, and with build-many-glibcs.py.
[BZ #21930]
* math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
(iszero): New C++ implementation that does not use
fpclassify/__MATH_TG/__builtin_types_compatible_p, when
signaling nans are enabled, since __builtin_types_compatible_p
is a C-only feature.
* math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
defined, include ieee754_float128.h for access to the union and
member ieee854_float128.ieee.
[__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
[__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
(CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
options of test-math-zero on powerpc64le.
2017-08-22 21:34:42 +02:00
|
|
|
|
2017-08-28 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21930]
|
|
|
|
|
* math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
|
|
|
|
|
(iszero): New C++ implementation that does not use
|
|
|
|
|
fpclassify/__MATH_TG/__builtin_types_compatible_p, when
|
|
|
|
|
signaling nans are enabled, since __builtin_types_compatible_p
|
|
|
|
|
is a C-only feature.
|
|
|
|
|
* math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
|
|
|
|
|
defined, include ieee754_float128.h for access to the union and
|
|
|
|
|
member ieee854_float128.ieee.
|
|
|
|
|
[__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
|
|
|
|
|
[__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
|
|
|
|
|
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
|
|
|
|
|
(CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
|
|
|
|
|
options of test-math-zero on powerpc64le.
|
|
|
|
|
|
2017-08-28 17:45:53 +02:00
|
|
|
|
2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf):
|
|
|
|
|
Change double to float.
|
|
|
|
|
|
2017-08-28 17:19:52 +02:00
|
|
|
|
2017-08-28 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* math/math-svid-compat.h [!__ASSEMBLER__]: Make code
|
|
|
|
|
unconditional.
|
|
|
|
|
* sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove
|
|
|
|
|
conditional code; define contents only for [LIBM_SVID_COMPAT].
|
|
|
|
|
|
2017-08-28 13:47:25 +02:00
|
|
|
|
2017-08-28 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-options)
|
|
|
|
|
(abi-lp64_be-options): Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-options)
|
|
|
|
|
(abi-hard-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/Makefile(abi-o32_soft-options)
|
|
|
|
|
(abi-o32_hard-options, abi-o32_soft_2008-options)
|
|
|
|
|
(abi-o32_hard_2008-options, abi-n32_soft-options)
|
|
|
|
|
(abi-n32_hard-options, abi-n32_soft_2008-options)
|
|
|
|
|
(abi-n32_hard_2008-options, abi-n64_soft-options)
|
|
|
|
|
(abi-n64_hard-options, abi-n64_soft_2008-options)
|
|
|
|
|
(abi-n64_hard_2008-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/Makefile (abi-32-options)
|
|
|
|
|
(abi-64-v1-options, abi-64-v2-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/Makefile (abi-32-options)
|
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/Makefile (abi-32-options)
|
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/Makefile (abi-32-options)
|
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86/Makefile (abi-32-options)
|
|
|
|
|
(abi-64-options, abi-x32-options): Likewise.
|
|
|
|
|
|
2017-08-28 11:31:23 +02:00
|
|
|
|
2017-08-28 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Store supported list of SYS_* system calls in the source tree.
|
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
|
|
|
|
|
(bits/syscall.h): Generate from list file.
|
|
|
|
|
[$(subdir) = misc] (before-compile): Add bits/syscall.h.
|
|
|
|
|
[$(subdir) = misc] (tests): Add tst-syscall-list.
|
|
|
|
|
[$(subdir) = misc] (tests-special): Add tst-syscall-list.out
|
|
|
|
|
[$(subdir) = misc] (tst-syscall-list-macros.list)
|
|
|
|
|
[$(subdir) = misc] (tst-syscall-list-nr.list)
|
|
|
|
|
(tst-syscall-list-sys.list): Helper targets for new
|
|
|
|
|
tst-syscall-list test.
|
|
|
|
|
[$(subdir) = misc] (tst-syscall-list.out): Run test script
|
|
|
|
|
tst-syscall-list.sh.
|
|
|
|
|
[$(subdir) = misc] (bits/syscall%h, bits/syscall%d): Remove
|
|
|
|
|
target. Do not include bits/syscall.d.
|
|
|
|
|
[$(subdir) = misc] (generated): Do not update.
|
|
|
|
|
* sysdeps/unix/sysv/linux/syscall-names.list: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gen-syscall-h.awk: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/filter-nr-syscalls.awk: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tst-syscall-list.sh: Likewise.
|
|
|
|
|
|
2017-08-28 04:10:40 +02:00
|
|
|
|
2017-08-27 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests.
|
|
|
|
|
(tst-cxa_atexit, tst-on_exit): Likewise.
|
|
|
|
|
* stdlib/Makefile (tests): Add tst-atexit, tst-at_quick_exit,
|
|
|
|
|
tst-cxa_atexit, and tst-on_exit.
|
|
|
|
|
* stdlib/tst-atexit-common.c: New file.
|
|
|
|
|
* stdlib/tst-atexit.c: New file.
|
|
|
|
|
* stdlib/tst-at_quick_exit.c: New file.
|
|
|
|
|
* stdlib/tst-cxa_atexit.c: New file.
|
|
|
|
|
* stdlib/tst-on_exit.c: New file.
|
|
|
|
|
|
2017-08-27 22:00:05 +02:00
|
|
|
|
2017-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/bits/sysmacros.h: New file.
|
2017-08-27 22:10:17 +02:00
|
|
|
|
* mach/stack_chk_fail_local.c: New file.
|
|
|
|
|
* hurd/stack_chk_fail_local.c: New file.
|
|
|
|
|
* mach/Machrules ($(interface-library)-routines): Add
|
|
|
|
|
stack_chk_fail_local.
|
2017-08-27 22:26:49 +02:00
|
|
|
|
* mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
|
|
|
|
|
CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
|
|
|
|
|
CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
|
|
|
|
|
CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
|
|
|
|
|
* hurd/Makefile (CFLAGS-hurdstartup.o,
|
|
|
|
|
CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).
|
2017-08-27 22:00:05 +02:00
|
|
|
|
|
2017-08-25 19:49:04 +02:00
|
|
|
|
2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h [__ASSEMBLER__]
|
|
|
|
|
(index_cpu_*, index_arch_*): Removed.
|
|
|
|
|
|
2017-08-25 19:21:35 +02:00
|
|
|
|
2017-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h (elf_greg_t):
|
|
|
|
|
Use uint64_t instead of unsigned long.
|
|
|
|
|
|
2017-08-25 13:33:04 +02:00
|
|
|
|
2017-08-25 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-08-25 19:02:33 +02:00
|
|
|
|
* math/tgmath.h [__HAVE_FLOAT128]: Change conditional to
|
|
|
|
|
[__HAVE_DISTINCT_FLOAT128].
|
|
|
|
|
|
Clean up bits/math-finite.h for aliasing types.
This patch cleans up how bits/math-finite.h handles types that are
ABI-aliases of other types.
For such types, no __*_finite functions exist; instead,
bits/math-finite.h must redirect calls to a the functions for a
canonical choice of type for each floating-point format. (For the
actual public interfaces, symbols need exporting for each type, even
those that are ABI-aliases, because of standard requirements that
programs can declare the functions themselves without including
<math.h>, but that does not apply to __*_finite.)
At present, there is a special-case conditional in bits/math-finite.h
on __MATH_DECLARING_LDOUBLE && defined __NO_LONG_DOUBLE_MATH to handle
redirecting long double function calls to double __*_finite. This
patch replaces this by a more general mechanism. math.h, before each
inclusion of bits/math-finite.h, defines _MSUFTO_ as the suffix to use
on the target of redirection, in addition to the existing _MSUF_.
This way, __MATH_DECLARING_LDOUBLE can go away, as can the special
conditional in bits/math-finite.h. With this patch, math.h is now
prepared for the case of supporting float128 functions as aliases of
long double ones on platforms where long double is binary128, with
_MSUFTO_ appropriately defined for that case, and appropriate _MSUFTO_
definitions can easily be included when supporting _Float32 / _Float64
/ _Float32x / _Float64x (which will always be ABI-aliases of another
type when supported).
Tested for x86_64, and did a compilation test for ARM with
build-many-glibcs.py to cover the long double = double case.
* math/math.h (_MSUFTO_): Define and undefine for each inclusion
of <bits/math-finite.h>.
(__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
inclusion of <bits/math-finite.h>.
* math/bits/math-finite.h (__REDIRTO_X): Do not define
conditionally on [__MATH_DECLARING_LDOUBLE && defined
__NO_LONG_DOUBLE_MATH].
(__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call.
(__MATH_REDIRCALL_2): Likewise.
(__MATH_REDIRCALL_INTERNAL): Likewise.
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
(__REDIRFROM (gamma, , _MSUF_)): Likewise.
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
2017-08-25 18:11:13 +02:00
|
|
|
|
* math/math.h (_MSUFTO_): Define and undefine for each inclusion
|
|
|
|
|
of <bits/math-finite.h>.
|
|
|
|
|
(__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
|
|
|
|
|
inclusion of <bits/math-finite.h>.
|
|
|
|
|
* math/bits/math-finite.h (__REDIRTO_X): Do not define
|
|
|
|
|
conditionally on [__MATH_DECLARING_LDOUBLE && defined
|
|
|
|
|
__NO_LONG_DOUBLE_MATH].
|
|
|
|
|
(__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call.
|
|
|
|
|
(__MATH_REDIRCALL_2): Likewise.
|
|
|
|
|
(__MATH_REDIRCALL_INTERNAL): Likewise.
|
|
|
|
|
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
|
|
|
|
|
(__REDIRFROM (gamma, , _MSUF_)): Likewise.
|
|
|
|
|
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
|
|
|
|
|
|
2017-08-25 13:33:04 +02:00
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-power5.S:
|
|
|
|
|
Remove file.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-ppc32.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat.c:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-power5.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-ppc32.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat.c:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
|
|
|
|
|
(libm-sysdep-routines): Remove w_sqrt_compat-power5,
|
|
|
|
|
w_sqrt_compat-ppc32, w_sqrtf_compat-power5 and
|
|
|
|
|
w_sqrtf_compat-ppc32.
|
|
|
|
|
|
2017-08-23 15:16:54 +02:00
|
|
|
|
2017-08-24 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* math/math.h [defined __cplusplus] (issignaling): In the long
|
|
|
|
|
double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH
|
|
|
|
|
is not defined. Call __issignaling, otherwise.
|
|
|
|
|
|
2015-11-12 17:01:36 +01:00
|
|
|
|
2017-08-24 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/make-syscalls.sh: Remove cancellable tagging for
|
|
|
|
|
syscall definitions and replace __builtin_expect with __glibc_likely.
|
|
|
|
|
* sysdeps/unix/syscall-template.S: Update comment about cancellable
|
|
|
|
|
syscall.
|
|
|
|
|
(SYSCALL_CANCELLABLE): Removedefinition
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (__local_enable_asynccancel): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (__local_disable_asynccancel): Likewise.
|
|
|
|
|
[IS_IN (libc)] (__local_enable_asynccancel): Likewise.
|
|
|
|
|
[IS_IN (libc)] (__local_enable_asynccancel): Likewise.
|
|
|
|
|
[IS_IN (librt)] (__local_disable_asynccancel): Likewise.
|
|
|
|
|
[IS_IN (librt)] (__local_disable_asynccancel): Likewise.
|
|
|
|
|
(CENABLE): Likewise.
|
|
|
|
|
(CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
defintion.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h (PSEUDO):
|
|
|
|
|
Remove definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
(SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Remove file.
|
|
|
|
|
* sysdeps/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Remove file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
|
definition.
|
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
|
2017-08-24 16:56:11 +02:00
|
|
|
|
2017-08-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/Makefile: Don't override CFLAGS.
|
|
|
|
|
|
2017-08-23 18:11:41 +02:00
|
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.
|
|
|
|
|
|
2017-08-23 17:22:52 +02:00
|
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21982]
|
|
|
|
|
* string/stratcliff.c (do_test): Declare size, nchars, inner,
|
|
|
|
|
middle and outer with size_t instead of int. Repleace %d and
|
|
|
|
|
%Zd with %zu in printf. Update "MAX (0, nchars - 128)" and
|
|
|
|
|
"MAX (outer, nchars - 64)" to support unsigned outer and
|
|
|
|
|
nchars. Also exit loop when outer == 0.
|
|
|
|
|
|
2017-08-23 15:40:14 +02:00
|
|
|
|
2017-08-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
* include/fcntl.h (__fcntl_nocancel): Remove definition.
|
|
|
|
|
* include/signal.h (__sigsuspend_nocancel): Likewise.
|
|
|
|
|
* include/time.h (__nanosleep_nocancel): Likewise.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
|
|
|
|
|
* login/utmp_file.c: Include non cancellable syscall header.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
|
|
|
|
|
prototype.
|
|
|
|
|
|
2017-08-23 15:16:12 +02:00
|
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F
|
|
|
|
|
.byte sequences with AVX512F instructions.
|
|
|
|
|
* sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-23 01:22:05 +02:00
|
|
|
|
2017-08-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic):
|
|
|
|
|
Use PTR_REG macro in cmp instruction.
|
|
|
|
|
|
Fix remaining return type of ifunc resolver declaration
Since Martin Sebor's commit
commit ee4e992ebe5f9712faedeefe8958b67d61eaa0f2
Author: Martin Sebor <msebor@redhat.com>
Date: Tue Aug 22 09:35:23 2017 -0600
Declare ifunc resolver to return a pointer to the same type as the target
function to help GCC detect incompatibilities between the two when it's
enhanced to do so.
builds for powerpc64le fail in the declaration of some ifunc resolvers,
because the ifunc is declared with unmatching return types. One of the
declarations comes from the __ifunc_resolver macro, which was patched by
the aforementioned commit:
/* Helper / base macros for indirect function symbols. */
#define __ifunc_resolver(type_name, name, expr, arg, init, classifier) \
classifier inhibit_stack_protector \
__typeof (type_name) *name##_ifunc (arg) \
whereas the other comes from the unpatched __ifunc macro when
HAVE_GCC_IFUNC is not defined:
# define __ifunc(type_name, name, expr, arg, init) \
extern __typeof (type_name) name; \
void *name##_ifunc (arg) __asm__ (#name); \
This patch changes the return type of the ifunc resolver in the __ifunc
macro, so that it matches the return type of the target function,
similarly to what the aforementioned commit does.
Tested for powerpc64le and s390x with unpatched GCC.
* include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc):
Change the return type of the ifunc resolver to match the return
type of the target function.
2017-08-22 19:01:07 +02:00
|
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc):
|
|
|
|
|
Change the return type of the ifunc resolver to match the return
|
|
|
|
|
type of the target function.
|
|
|
|
|
|
2016-07-13 11:50:05 +02:00
|
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2016-07-19 15:23:49 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove.
|
|
|
|
|
(preadv64): Likewise.
|
|
|
|
|
(pwrite64(: Likewise.
|
|
|
|
|
(pwritev64): Likewise.
|
|
|
|
|
|
2016-07-13 11:50:05 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
|
|
|
|
|
(INTERNAL_SYSCALL_NCS_TYPES): Remove define.
|
|
|
|
|
(LOAD_ARGS_0): Likewise.
|
|
|
|
|
(LOAD_ARGS_1): Likewise.
|
|
|
|
|
(LOAD_ARGS_2): Likewise.
|
|
|
|
|
(LOAD_ARGS_3): Likewise.
|
|
|
|
|
(LOAD_ARGS_4): Likewise.
|
|
|
|
|
(LOAD_ARGS_5): Likewise.
|
|
|
|
|
(LOAD_ARGS_6): Likewise.
|
|
|
|
|
(LOAD_REGS_0): Likewise.
|
|
|
|
|
(LOAD_REGS_1): Likewise.
|
|
|
|
|
(LOAD_REGS_2): Likewise.
|
|
|
|
|
(LOAD_REGS_3): Likewise.
|
|
|
|
|
(LOAD_REGS_4): Likewise.
|
|
|
|
|
(LOAD_REGS_5): Likewise.
|
|
|
|
|
(LOAD_REGS_6): Likewise.
|
|
|
|
|
(ASM_ARGS_0): Likewise.
|
|
|
|
|
(ASM_ARGS_1): Likewise.
|
|
|
|
|
(ASM_ARGS_2): Likewise.
|
|
|
|
|
(ASM_ARGS_3): Likewise.
|
|
|
|
|
(ASM_ARGS_4): Likewise.
|
|
|
|
|
(ASM_ARGS_5): Likewise.
|
|
|
|
|
(ASM_ARGS_6): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_1): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_2): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_3): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_4): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_5): Likewise.
|
|
|
|
|
(LOAD_ARGS_TYPES_6): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_1): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_2): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_3): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_4): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_5): Likewise.
|
|
|
|
|
(LOAD_REGS_TYPES_6): Likewise.
|
|
|
|
|
(TYPEFY): New define.
|
|
|
|
|
(ARGIFY): Likewise.
|
|
|
|
|
(internal_syscall0): Likewise.
|
|
|
|
|
(internal_syscall1): Likewise.
|
|
|
|
|
(internal_syscall2): Likewise.
|
|
|
|
|
(internal_syscall3): Likewise.
|
|
|
|
|
(internal_syscall4): Likewise.
|
|
|
|
|
(internal_syscall5): Likewise.
|
|
|
|
|
(internal_syscall6): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/times.c
|
|
|
|
|
(INTERNAL_SYSCALL_NCS): Remove define.
|
|
|
|
|
(internal_syscall1): Add define.
|
|
|
|
|
|
2017-08-22 16:14:15 +02:00
|
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* math/w_remainder_compat.c: Remove duplicate inclusion of
|
|
|
|
|
math-svid-compat.h.
|
|
|
|
|
* math/w_remainderf_compat.c: Likewise.
|
|
|
|
|
* math/w_remainderl_compat.c: Likewise.
|
|
|
|
|
|
2017-08-08 23:52:03 +02:00
|
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
|
|
|
|
|
|
Fix tgmath.h handling of complex integers (bug 21684).
The tgmath.h macros return a real type not a complex type when an
argument is of complex integer type (a GNU extension) and there are no
arguments of complex floating type. It seems clear that just as real
integers are mapped to double for tgmath.h, so complex integers should
be mapped to _Complex double.
This patch implements such a mapping. The main complication in fixing
this bug is that the tgmath.h macros expand their arguments a large
number of times, resulting in exponential blowup of the size of the
expansion when calls to tgmath.h macros are used in the arguments of
such macros; it would be unfortunate for fixing a bug with a fairly
obscure extension to make the macros expand their arguments even more
times. Thus, this patch optimizes the definitions of the relevant
macros. __tgmath_real_type previously expanded its argument 7 times
and now expands it 3 times. __tgmath_complex_type, used in place of
__tgmath_real_type only for functions that might return either real or
complex types, not for complex functions that always return real types
or always return complex types, expands its argument 5 times. So the
sizes of the macro expansions from nested macro calls are
correspondingly reduced (remembering that each tgmath.h macro expands
__tgmath_real_type, or sometimes now __tgmath_complex_type, several
times).
Sometimes the real return type resulted from calling a complex
function and converting the result to a real type; sometimes it
resulted from calling a real function, because the logic for
determining whether arguments were real or complex, based on sizeof,
was confused by integer promotions applying to e.g. short int but not
_Complex short int. The relevant tests are converted to use a new
macro __expr_is_real, which, by calling __builtin_classify_type rather
than comparing the results of two calls to sizeof, also reduces the
number of times macros expand their arguments.
Although there are reductions in the number of times macros expand
their arguments, I do not consider this to fix bug 21660, since a
proper fix means each macro expanding its arguments only once (via
using new compiler features designed for that purpose).
Tested for x86_64.
[BZ #21684]
* math/tgmath.h (__floating_type): Simplify definitions.
(__real_integer_type): New macro.
(__complex_integer_type): Likewise.
(__expr_is_real): Likewise.
(__tgmath_real_type_sub): Update comment to describe handling of
complex types.
(__tgmath_complex_type_sub): New macro.
(__tgmath_complex_type): Likewise.
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
(__TGMATH_CF128): Use __expr_is_real.
(__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and
__expr_is_real.
(__TGMATH_BINARY_REAL_IMAG): Likewise.
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real.
* math/gen-tgmath-tests.py (Type.create_type): Create complex
integer types.
2017-08-22 19:55:42 +02:00
|
|
|
|
2017-08-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21684]
|
|
|
|
|
* math/tgmath.h (__floating_type): Simplify definitions.
|
|
|
|
|
(__real_integer_type): New macro.
|
|
|
|
|
(__complex_integer_type): Likewise.
|
|
|
|
|
(__expr_is_real): Likewise.
|
|
|
|
|
(__tgmath_real_type_sub): Update comment to describe handling of
|
|
|
|
|
complex types.
|
|
|
|
|
(__tgmath_complex_type_sub): New macro.
|
|
|
|
|
(__tgmath_complex_type): Likewise.
|
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
|
(__TGMATH_CF128): Use __expr_is_real.
|
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and
|
|
|
|
|
__expr_is_real.
|
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real.
|
|
|
|
|
* math/gen-tgmath-tests.py (Type.create_type): Create complex
|
|
|
|
|
integer types.
|
|
|
|
|
|
2017-08-21 22:23:56 +02:00
|
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-08-22 15:09:52 +02:00
|
|
|
|
* sysdeps/generic/not-cancel.h (sigsuspend_not_cancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Remove
|
|
|
|
|
alias.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (sigsuspend_not_cancel):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-07-03 20:54:02 +02:00
|
|
|
|
* nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Replace
|
|
|
|
|
nanosleep_not_cancel with __nanosleep_nocancel.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (nanosleep_not_cancel): Remove macro.
|
|
|
|
|
(__nanosleep_nocancel): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nanosleep.c (__nanosleep_nocancel): New
|
|
|
|
|
function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (nanosleep_not_cancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(__nanosleep_nocancel): New prototype.
|
|
|
|
|
|
2017-08-21 22:23:56 +02:00
|
|
|
|
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Replace
|
|
|
|
|
pause_not_cancel with __pause_nocancel.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (pause_not_cancel): Remove macro.
|
|
|
|
|
(__pause_nocancel): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(__pause_nocancel): New prototype.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pause.c (__pause_nocancel): New function.
|
|
|
|
|
|
2017-08-22 17:35:23 +02:00
|
|
|
|
2017-08-22 Martin Sebor <msebor@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__ifunc_resolver): Declare resolver
|
|
|
|
|
to return a pointer to the same type as the target function.
|
|
|
|
|
|
2017-08-22 16:47:34 +02:00
|
|
|
|
2017-08-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
[BZ #21986]
|
|
|
|
|
* include/printf.h (__printf_fphex): Add attribute_hidden.
|
|
|
|
|
(__guess_grouping): New prototype.
|
|
|
|
|
* stdio-common/printf_fp.c (__guess_grouping): Removed.
|
|
|
|
|
* stdio-common/reg-printf.c (__register_printf_specifier): Add
|
|
|
|
|
libc_hidden_proto and libc_hidden_def.
|
|
|
|
|
* stdlib/strfmon_l.c (__guess_grouping): Removed.
|
|
|
|
|
(__vstrfmon_l): Remove the third argument passed to
|
|
|
|
|
__guess_grouping.
|
|
|
|
|
|
2017-08-14 18:46:15 +02:00
|
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* math/math.h [defined __cplusplus] (issignaling): Provide a C++
|
|
|
|
|
definition for issignaling that does not rely on __MATH_TG,
|
|
|
|
|
since __MATH_TG uses __builtin_types_compatible_p, which is only
|
|
|
|
|
available in C mode.
|
|
|
|
|
(CFLAGS-test-math-issignaling.cc): New variable.
|
|
|
|
|
* math/Makefile [CXX] (tests): Add test-math-issignaling.
|
|
|
|
|
* math/test-math-issignaling.cc: New test for C++ implementation
|
|
|
|
|
of type-generic issignaling.
|
|
|
|
|
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
|
|
|
|
|
(CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build
|
|
|
|
|
options of test-math-issignaling on powerpc64le.
|
|
|
|
|
|
2017-08-22 13:49:14 +02:00
|
|
|
|
2017-08-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
|
building libc.a.
|
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
|
2017-08-22 12:45:16 +02:00
|
|
|
|
2017-08-22 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
math: Statically link tests of internal functionality.
|
|
|
|
|
* math/Makefile (tests): Remove atest-exp, atest-sincos,
|
|
|
|
|
atest-exp2.
|
|
|
|
|
(tests-static): Add atest-exp, atest-sincos, atest-exp2.
|
|
|
|
|
(gmp-objs): Remove assignment.
|
|
|
|
|
(atest-exp, atest-sincos, atest-exp2): Remove targets.
|
|
|
|
|
|
2017-08-22 02:30:51 +02:00
|
|
|
|
2017-08-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-08-22 02:59:43 +02:00
|
|
|
|
[BZ #21987]
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Remove file
|
|
|
|
|
and copy to ...
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h:
|
|
|
|
|
... here.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h:
|
|
|
|
|
... and here.
|
|
|
|
|
|
2017-08-22 02:30:51 +02:00
|
|
|
|
* assert/Makefile [$(have-cxx-thread_local)]: Move conditional
|
|
|
|
|
variable definitions above inclusion of ../Rules.
|
|
|
|
|
|
2017-08-21 23:43:32 +02:00
|
|
|
|
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/ieee754/k_standard.c (__kernel_standard): Add default
|
|
|
|
|
case calling __builtin_unreachable.
|
|
|
|
|
|
2017-07-03 20:33:23 +02:00
|
|
|
|
2017-08-21 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-07-03 20:43:51 +02:00
|
|
|
|
* libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with
|
|
|
|
|
__waitpid_nocancel.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (waitpid_not_cancel): Remove macro.
|
|
|
|
|
(__waitpid_nocancel): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (waitpid_not_cancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(__waitpid_nocancel): Replace macro with a function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/waitpid.c (__waitpid_nocancel): New
|
|
|
|
|
function.
|
|
|
|
|
|
2017-07-03 20:37:16 +02:00
|
|
|
|
* login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with
|
|
|
|
|
__fcntl_nocancel.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise.
|
|
|
|
|
|
2017-07-03 20:33:23 +02:00
|
|
|
|
* gmon/gmon.c (write_hist): Replace writev_not_cancel_no_status with
|
|
|
|
|
__writev_nocancel_nostatus.
|
|
|
|
|
(write_call_graph): Likewise.
|
|
|
|
|
(write_bb_counts): Likewise.
|
|
|
|
|
* resolv/herror.c (herror): Likewise.
|
|
|
|
|
* sysdeps/generic/not-cancel.h (writev_not_cancel_no_status): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(__writev_nocancel_nostatus): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (writev_not_cancel_no_status):
|
|
|
|
|
Remove macro.
|
|
|
|
|
(__writev_nocancel_nostatus): New function.
|
|
|
|
|
|
Obsolete matherr, _LIB_VERSION, libieee.a.
This patch obsoletes support for SVID libm error handling (the system
where a user-defined function matherr is called on a libm function
error; only enabled if you also set _LIB_VERSION = _SVID_ or
_LIB_VERSION = _XOPEN_) and the use of the _LIB_VERSION global
variable to control libm error handling. matherr and _LIB_VERSION are
made into compat symbols, not supported for new ports or for static
linking. The libieee.a object file (which sets _LIB_VERSION = _IEEE_,
so disabling errno setting for some functions) is also removed, and
all the related definitions are removed from math.h.
The manual already recommends against using matherr, and it's already
not supported for _Float128 functions (those use new wrappers that
don't support matherr, only errno) - this patch means that it becomes
possible to e.g. add sinf32 as an alias to sinf without that resulting
in undesired matherr support in sinf32 for existing glibc ports.
matherr support is not part of any standard supported by glibc (it was
removed in XPG4).
Because matherr is a function to be defined by the user, of course
user programs defining such a function will still continue to link; it
just quietly won't be used. If they try to write to the library's
copy of _LIB_VERSION to enable SVID error handling, however, they will
get a link error (but if they define their own _LIB_VERSION variable,
they won't).
I expect the most likely case of build failures from this patch to be
programs with unconditional cargo-culted uses of -lieee (based on a
notion of "I want IEEE floating point", not any actual requirement for
that library).
Ideally, the new-port-or-static-linking case would use the new
wrappers used for _Float128. This is not implemented in this patch,
because of the complication of architecture-specific (powerpc32 and
sparc) sqrt wrappers that use _LIB_VERSION and __kernel_standard
directly. Thus, the old wrappers and __kernel_standard are still
built unconditionally, and _LIB_VERSION still exists in static libm.
But when the old wrappers and __kernel_standard are built in the
non-compat case, _LIB_VERSION and matherr are defined as macros so
code to support those features isn't actually built into static libm
or new ports' shared libm after this patch.
I intend to move to the new wrappers for static libm and new ports in
followup patches. I believe the sqrt wrappers for powerpc32 and sparc
can reasonably be removed. GCC already optimizes the normal case of
sqrt by generating code that uses a hardware instruction and only
calls the sqrt function if the argument was negative (if
-fno-math-errno, of course, it just uses the hardware instruction
without any check for negative argument being needed). Thus those
wrappers will only actually get called in the case of negative
arguments, which is not a case it makes sense to optimize for. But
even without removing the powerpc32 and sparc wrappers it should still
be possible to move to the new wrappers for static libm and new ports,
just without having those dubious architecture-specific optimizations
in static libm.
Everything said about matherr equally applies to matherrf and matherrl
(IA64-specific, undocumented), except that the structure of IA64 libm
means it won't be converted to using the new wrappers (it doesn't use
the old ones either, but its own error-handling code instead).
As with other tests of compat symbols, I expect test-matherr and
test-matherr-2 to need to become appropriately conditional once we
have a system for disabling such tests for ports too new to have the
relevant symbols.
Tested for x86_64 and x86, and with build-many-glibcs.py.
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
[__USE_MISC] (_LIB_VERSION): Likewise.
[__USE_MISC] (struct exception): Likewise.
[__USE_MISC] (matherr): Likewise.
[__USE_MISC] (DOMAIN): Likewise.
[__USE_MISC] (SING): Likewise.
[__USE_MISC] (OVERFLOW): Likewise.
[__USE_MISC] (UNDERFLOW): Likewise.
[__USE_MISC] (TLOSS): Likewise.
[__USE_MISC] (PLOSS): Likewise.
[__USE_MISC] (HUGE): Likewise.
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
* math/math-svid-compat.h: New file.
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
and matherrl.
* include/math.h [!_ISOMAC] (__matherr): Remove.
* manual/arith.texi (FP Exceptions): Do not document matherr.
* math/Makefile (tests): Change test-matherr to test-matherr-3.
(tests-internal): New variable.
(install-lib): Do not add libieee.a.
(non-lib.a): Likewise.
(extra-objs): Do not add libieee.a and ieee-math.o.
(CPPFLAGS-s_lib_version.c): Remove variable.
($(objpfx)libieee.a): Remove rule.
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
* math/ieee-math.c: Remove.
* math/libm-test-support.c (matherr): Remove.
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
and license notices. Include <math-svid-compat.h> and
<shlib-compat.h>.
(matherr): Undefine as macro. Use compat_symbol_reference.
(_LIB_VERSION): Likewise.
* math/test-matherr-2.c: New file.
* math/test-matherr-3.c: Likewise.
* sysdeps/generic/math_private.h (__kernel_standard): Remove
declaration.
(__kernel_standard_f): Likewise.
(__kernel_standard_l): Likewise.
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(_LIB_VERSION): Undefine as macro.
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
[LIBM_SVID_COMPAT], use compat_symbol.
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(matherr): Undefine as macro.
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
compat_symbol_reference.
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
(MATHERR_D): Remove declaration.
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
[LIBM_BUILD] (pmatherrf): Likewise.
[LIBM_BUILD] (pmatherr): Likewise.
[LIBM_BUILD] (pmatherrl): Likewise.
(DOMAIN): Likewise.
(SING): Likewise.
(OVERFLOW): Likewise.
(UNDERFLOW): Likewise.
(TLOSS): Likewise.
(PLOSS): Likewise.
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* math/lgamma-compat.h: Include <math-svid-compat.h>.
* math/w_acos_compat.c: Likewise.
* math/w_acosf_compat.c: Likewise.
* math/w_acosh_compat.c: Likewise.
* math/w_acoshf_compat.c: Likewise.
* math/w_acoshl_compat.c: Likewise.
* math/w_acosl_compat.c: Likewise.
* math/w_asin_compat.c: Likewise.
* math/w_asinf_compat.c: Likewise.
* math/w_asinl_compat.c: Likewise.
* math/w_atan2_compat.c: Likewise.
* math/w_atan2f_compat.c: Likewise.
* math/w_atan2l_compat.c: Likewise.
* math/w_atanh_compat.c: Likewise.
* math/w_atanhf_compat.c: Likewise.
* math/w_atanhl_compat.c: Likewise.
* math/w_cosh_compat.c: Likewise.
* math/w_coshf_compat.c: Likewise.
* math/w_coshl_compat.c: Likewise.
* math/w_exp10_compat.c: Likewise.
* math/w_exp10f_compat.c: Likewise.
* math/w_exp10l_compat.c: Likewise.
* math/w_exp2_compat.c: Likewise.
* math/w_exp2f_compat.c: Likewise.
* math/w_exp2l_compat.c: Likewise.
* math/w_fmod_compat.c: Likewise.
* math/w_fmodf_compat.c: Likewise.
* math/w_fmodl_compat.c: Likewise.
* math/w_hypot_compat.c: Likewise.
* math/w_hypotf_compat.c: Likewise.
* math/w_hypotl_compat.c: Likewise.
* math/w_j0_compat.c: Likewise.
* math/w_j0f_compat.c: Likewise.
* math/w_j0l_compat.c: Likewise.
* math/w_j1_compat.c: Likewise.
* math/w_j1f_compat.c: Likewise.
* math/w_j1l_compat.c: Likewise.
* math/w_jn_compat.c: Likewise.
* math/w_jnf_compat.c: Likewise.
* math/w_jnl_compat.c: Likewise.
* math/w_lgamma_main.c: Likewise.
* math/w_lgamma_r_compat.c: Likewise.
* math/w_lgammaf_main.c: Likewise.
* math/w_lgammaf_r_compat.c: Likewise.
* math/w_lgammal_main.c: Likewise.
* math/w_lgammal_r_compat.c: Likewise.
* math/w_log10_compat.c: Likewise.
* math/w_log10f_compat.c: Likewise.
* math/w_log10l_compat.c: Likewise.
* math/w_log2_compat.c: Likewise.
* math/w_log2f_compat.c: Likewise.
* math/w_log2l_compat.c: Likewise.
* math/w_log_compat.c: Likewise.
* math/w_logf_compat.c: Likewise.
* math/w_logl_compat.c: Likewise.
* math/w_pow_compat.c: Likewise.
* math/w_powf_compat.c: Likewise.
* math/w_powl_compat.c: Likewise.
* math/w_remainder_compat.c: Likewise.
* math/w_remainderf_compat.c: Likewise.
* math/w_remainderl_compat.c: Likewise.
* math/w_scalb_compat.c: Likewise.
* math/w_scalbf_compat.c: Likewise.
* math/w_scalbl_compat.c: Likewise.
* math/w_sinh_compat.c: Likewise.
* math/w_sinhf_compat.c: Likewise.
* math/w_sinhl_compat.c: Likewise.
* math/w_sqrt_compat.c: Likewise.
* math/w_sqrtf_compat.c: Likewise.
* math/w_sqrtl_compat.c: Likewise.
* math/w_tgamma_compat.c: Likewise.
* math/w_tgammaf_compat.c: Likewise.
* math/w_tgammal_compat.c: Likewise.
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
* sysdeps/ieee754/k_standard.c: Likewise.
* sysdeps/ieee754/k_standardf.c: Likewise.
* sysdeps/ieee754/k_standardl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
2017-08-21 19:45:10 +02:00
|
|
|
|
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-08-21 19:52:05 +02:00
|
|
|
|
Revert:
|
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
|
building libc.a.
|
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
|
Remove SPARC sqrt wrappers (bug 21973).
This patch removes the SPARC-specific wrappers for sqrt and sqrtf.
These wrappers, by adding architecture-specific uses of _LIB_VERSION
and __kernel_standard, unnecessarily complicate cleanups of libm error
handling. They also do not serve a useful optimization purpose. GCC
knows about sqrt as a built-in function, and can generate direct calls
to a hardware square root instruction, either on its own, in the
-fno-math-errno case, or together with an inline check for the
argument being negative and a call to the out-of-line sqrt function
for error handling only in that case (and has been able to do so for a
long time). Thus in practice the wrapper will only be called only in
the case of negative arguments, which is not a case it is useful to
optimize for.
The removal of the wrappers also uncovers, and fixes, an old bug.
32-bit SPARC libm used (checked with glibc 2.8 binaries) to have a
sqrtl compat symbol, version GLIBC_2.0, for old binaries when sqrtl
was an alias of sqrt (I don't have pre-glibc-2.4 binaries for SPARC to
hand to check for the sqrtl symbol in those). This disappeared,
probably with:
commit 8847f0377003fbfe9cbe951ce9f8717d74f26247
Author: David S. Miller <davem@davemloft.net>
Date: Tue Feb 28 22:37:58 2012 -0800
Add sparc optimized sqrt{,f}.
Removing the wrappers brings back the generic ldbl-opt logic for
creating such compat symbols, and so restores the compat symbol that
should be there. This could of course also be fixed in the wrappers -
but as noted above, the wrappers are optimizing a case it's not useful
to optimize, so the bug of the missing compat symbol serves to
illustrate the risks involved with the extra complexity of
architecture-specific function versions where not needed.
Tested with build-many-glibcs.py.
[BZ #21973]
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
GLIBC_2.0 sqrtl symbol.
2017-08-21 19:46:34 +02:00
|
|
|
|
[BZ #21973]
|
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
|
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
|
|
|
|
|
GLIBC_2.0 sqrtl symbol.
|
|
|
|
|
|
Obsolete matherr, _LIB_VERSION, libieee.a.
This patch obsoletes support for SVID libm error handling (the system
where a user-defined function matherr is called on a libm function
error; only enabled if you also set _LIB_VERSION = _SVID_ or
_LIB_VERSION = _XOPEN_) and the use of the _LIB_VERSION global
variable to control libm error handling. matherr and _LIB_VERSION are
made into compat symbols, not supported for new ports or for static
linking. The libieee.a object file (which sets _LIB_VERSION = _IEEE_,
so disabling errno setting for some functions) is also removed, and
all the related definitions are removed from math.h.
The manual already recommends against using matherr, and it's already
not supported for _Float128 functions (those use new wrappers that
don't support matherr, only errno) - this patch means that it becomes
possible to e.g. add sinf32 as an alias to sinf without that resulting
in undesired matherr support in sinf32 for existing glibc ports.
matherr support is not part of any standard supported by glibc (it was
removed in XPG4).
Because matherr is a function to be defined by the user, of course
user programs defining such a function will still continue to link; it
just quietly won't be used. If they try to write to the library's
copy of _LIB_VERSION to enable SVID error handling, however, they will
get a link error (but if they define their own _LIB_VERSION variable,
they won't).
I expect the most likely case of build failures from this patch to be
programs with unconditional cargo-culted uses of -lieee (based on a
notion of "I want IEEE floating point", not any actual requirement for
that library).
Ideally, the new-port-or-static-linking case would use the new
wrappers used for _Float128. This is not implemented in this patch,
because of the complication of architecture-specific (powerpc32 and
sparc) sqrt wrappers that use _LIB_VERSION and __kernel_standard
directly. Thus, the old wrappers and __kernel_standard are still
built unconditionally, and _LIB_VERSION still exists in static libm.
But when the old wrappers and __kernel_standard are built in the
non-compat case, _LIB_VERSION and matherr are defined as macros so
code to support those features isn't actually built into static libm
or new ports' shared libm after this patch.
I intend to move to the new wrappers for static libm and new ports in
followup patches. I believe the sqrt wrappers for powerpc32 and sparc
can reasonably be removed. GCC already optimizes the normal case of
sqrt by generating code that uses a hardware instruction and only
calls the sqrt function if the argument was negative (if
-fno-math-errno, of course, it just uses the hardware instruction
without any check for negative argument being needed). Thus those
wrappers will only actually get called in the case of negative
arguments, which is not a case it makes sense to optimize for. But
even without removing the powerpc32 and sparc wrappers it should still
be possible to move to the new wrappers for static libm and new ports,
just without having those dubious architecture-specific optimizations
in static libm.
Everything said about matherr equally applies to matherrf and matherrl
(IA64-specific, undocumented), except that the structure of IA64 libm
means it won't be converted to using the new wrappers (it doesn't use
the old ones either, but its own error-handling code instead).
As with other tests of compat symbols, I expect test-matherr and
test-matherr-2 to need to become appropriately conditional once we
have a system for disabling such tests for ports too new to have the
relevant symbols.
Tested for x86_64 and x86, and with build-many-glibcs.py.
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
[__USE_MISC] (_LIB_VERSION): Likewise.
[__USE_MISC] (struct exception): Likewise.
[__USE_MISC] (matherr): Likewise.
[__USE_MISC] (DOMAIN): Likewise.
[__USE_MISC] (SING): Likewise.
[__USE_MISC] (OVERFLOW): Likewise.
[__USE_MISC] (UNDERFLOW): Likewise.
[__USE_MISC] (TLOSS): Likewise.
[__USE_MISC] (PLOSS): Likewise.
[__USE_MISC] (HUGE): Likewise.
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
* math/math-svid-compat.h: New file.
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
and matherrl.
* include/math.h [!_ISOMAC] (__matherr): Remove.
* manual/arith.texi (FP Exceptions): Do not document matherr.
* math/Makefile (tests): Change test-matherr to test-matherr-3.
(tests-internal): New variable.
(install-lib): Do not add libieee.a.
(non-lib.a): Likewise.
(extra-objs): Do not add libieee.a and ieee-math.o.
(CPPFLAGS-s_lib_version.c): Remove variable.
($(objpfx)libieee.a): Remove rule.
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
* math/ieee-math.c: Remove.
* math/libm-test-support.c (matherr): Remove.
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
and license notices. Include <math-svid-compat.h> and
<shlib-compat.h>.
(matherr): Undefine as macro. Use compat_symbol_reference.
(_LIB_VERSION): Likewise.
* math/test-matherr-2.c: New file.
* math/test-matherr-3.c: Likewise.
* sysdeps/generic/math_private.h (__kernel_standard): Remove
declaration.
(__kernel_standard_f): Likewise.
(__kernel_standard_l): Likewise.
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(_LIB_VERSION): Undefine as macro.
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
[LIBM_SVID_COMPAT], use compat_symbol.
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(matherr): Undefine as macro.
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
compat_symbol_reference.
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
(MATHERR_D): Remove declaration.
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
[LIBM_BUILD] (pmatherrf): Likewise.
[LIBM_BUILD] (pmatherr): Likewise.
[LIBM_BUILD] (pmatherrl): Likewise.
(DOMAIN): Likewise.
(SING): Likewise.
(OVERFLOW): Likewise.
(UNDERFLOW): Likewise.
(TLOSS): Likewise.
(PLOSS): Likewise.
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* math/lgamma-compat.h: Include <math-svid-compat.h>.
* math/w_acos_compat.c: Likewise.
* math/w_acosf_compat.c: Likewise.
* math/w_acosh_compat.c: Likewise.
* math/w_acoshf_compat.c: Likewise.
* math/w_acoshl_compat.c: Likewise.
* math/w_acosl_compat.c: Likewise.
* math/w_asin_compat.c: Likewise.
* math/w_asinf_compat.c: Likewise.
* math/w_asinl_compat.c: Likewise.
* math/w_atan2_compat.c: Likewise.
* math/w_atan2f_compat.c: Likewise.
* math/w_atan2l_compat.c: Likewise.
* math/w_atanh_compat.c: Likewise.
* math/w_atanhf_compat.c: Likewise.
* math/w_atanhl_compat.c: Likewise.
* math/w_cosh_compat.c: Likewise.
* math/w_coshf_compat.c: Likewise.
* math/w_coshl_compat.c: Likewise.
* math/w_exp10_compat.c: Likewise.
* math/w_exp10f_compat.c: Likewise.
* math/w_exp10l_compat.c: Likewise.
* math/w_exp2_compat.c: Likewise.
* math/w_exp2f_compat.c: Likewise.
* math/w_exp2l_compat.c: Likewise.
* math/w_fmod_compat.c: Likewise.
* math/w_fmodf_compat.c: Likewise.
* math/w_fmodl_compat.c: Likewise.
* math/w_hypot_compat.c: Likewise.
* math/w_hypotf_compat.c: Likewise.
* math/w_hypotl_compat.c: Likewise.
* math/w_j0_compat.c: Likewise.
* math/w_j0f_compat.c: Likewise.
* math/w_j0l_compat.c: Likewise.
* math/w_j1_compat.c: Likewise.
* math/w_j1f_compat.c: Likewise.
* math/w_j1l_compat.c: Likewise.
* math/w_jn_compat.c: Likewise.
* math/w_jnf_compat.c: Likewise.
* math/w_jnl_compat.c: Likewise.
* math/w_lgamma_main.c: Likewise.
* math/w_lgamma_r_compat.c: Likewise.
* math/w_lgammaf_main.c: Likewise.
* math/w_lgammaf_r_compat.c: Likewise.
* math/w_lgammal_main.c: Likewise.
* math/w_lgammal_r_compat.c: Likewise.
* math/w_log10_compat.c: Likewise.
* math/w_log10f_compat.c: Likewise.
* math/w_log10l_compat.c: Likewise.
* math/w_log2_compat.c: Likewise.
* math/w_log2f_compat.c: Likewise.
* math/w_log2l_compat.c: Likewise.
* math/w_log_compat.c: Likewise.
* math/w_logf_compat.c: Likewise.
* math/w_logl_compat.c: Likewise.
* math/w_pow_compat.c: Likewise.
* math/w_powf_compat.c: Likewise.
* math/w_powl_compat.c: Likewise.
* math/w_remainder_compat.c: Likewise.
* math/w_remainderf_compat.c: Likewise.
* math/w_remainderl_compat.c: Likewise.
* math/w_scalb_compat.c: Likewise.
* math/w_scalbf_compat.c: Likewise.
* math/w_scalbl_compat.c: Likewise.
* math/w_sinh_compat.c: Likewise.
* math/w_sinhf_compat.c: Likewise.
* math/w_sinhl_compat.c: Likewise.
* math/w_sqrt_compat.c: Likewise.
* math/w_sqrtf_compat.c: Likewise.
* math/w_sqrtl_compat.c: Likewise.
* math/w_tgamma_compat.c: Likewise.
* math/w_tgammaf_compat.c: Likewise.
* math/w_tgammal_compat.c: Likewise.
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
* sysdeps/ieee754/k_standard.c: Likewise.
* sysdeps/ieee754/k_standardf.c: Likewise.
* sysdeps/ieee754/k_standardl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
2017-08-21 19:45:10 +02:00
|
|
|
|
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
|
|
|
|
|
[__USE_MISC] (_LIB_VERSION): Likewise.
|
|
|
|
|
[__USE_MISC] (struct exception): Likewise.
|
|
|
|
|
[__USE_MISC] (matherr): Likewise.
|
|
|
|
|
[__USE_MISC] (DOMAIN): Likewise.
|
|
|
|
|
[__USE_MISC] (SING): Likewise.
|
|
|
|
|
[__USE_MISC] (OVERFLOW): Likewise.
|
|
|
|
|
[__USE_MISC] (UNDERFLOW): Likewise.
|
|
|
|
|
[__USE_MISC] (TLOSS): Likewise.
|
|
|
|
|
[__USE_MISC] (PLOSS): Likewise.
|
|
|
|
|
[__USE_MISC] (HUGE): Likewise.
|
|
|
|
|
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
|
|
|
|
|
* math/math-svid-compat.h: New file.
|
|
|
|
|
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
|
|
|
|
|
and matherrl.
|
|
|
|
|
* include/math.h [!_ISOMAC] (__matherr): Remove.
|
|
|
|
|
* manual/arith.texi (FP Exceptions): Do not document matherr.
|
|
|
|
|
* math/Makefile (tests): Change test-matherr to test-matherr-3.
|
|
|
|
|
(tests-internal): New variable.
|
|
|
|
|
(install-lib): Do not add libieee.a.
|
|
|
|
|
(non-lib.a): Likewise.
|
|
|
|
|
(extra-objs): Do not add libieee.a and ieee-math.o.
|
|
|
|
|
(CPPFLAGS-s_lib_version.c): Remove variable.
|
|
|
|
|
($(objpfx)libieee.a): Remove rule.
|
|
|
|
|
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
|
|
|
|
|
* math/ieee-math.c: Remove.
|
|
|
|
|
* math/libm-test-support.c (matherr): Remove.
|
|
|
|
|
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
|
|
|
|
|
and license notices. Include <math-svid-compat.h> and
|
|
|
|
|
<shlib-compat.h>.
|
|
|
|
|
(matherr): Undefine as macro. Use compat_symbol_reference.
|
|
|
|
|
(_LIB_VERSION): Likewise.
|
|
|
|
|
* math/test-matherr-2.c: New file.
|
|
|
|
|
* math/test-matherr-3.c: Likewise.
|
|
|
|
|
* sysdeps/generic/math_private.h (__kernel_standard): Remove
|
|
|
|
|
declaration.
|
|
|
|
|
(__kernel_standard_f): Likewise.
|
|
|
|
|
(__kernel_standard_l): Likewise.
|
|
|
|
|
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
|
|
|
|
|
<math_private.h>. Include <math-svid-compat.h>.
|
|
|
|
|
(_LIB_VERSION): Undefine as macro.
|
|
|
|
|
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
|
|
|
|
|
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
|
|
|
|
|
[LIBM_SVID_COMPAT], use compat_symbol.
|
|
|
|
|
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
|
|
|
|
|
<math_private.h>. Include <math-svid-compat.h>.
|
|
|
|
|
(matherr): Undefine as macro.
|
|
|
|
|
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
|
compat_symbol.
|
|
|
|
|
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
|
|
|
|
|
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
|
|
|
|
|
compat_symbol_reference.
|
|
|
|
|
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
|
|
|
|
|
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
|
|
|
|
|
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
|
|
|
|
|
(MATHERR_D): Remove declaration.
|
|
|
|
|
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
|
|
|
|
|
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
|
|
|
|
|
[LIBM_BUILD] (pmatherrf): Likewise.
|
|
|
|
|
[LIBM_BUILD] (pmatherr): Likewise.
|
|
|
|
|
[LIBM_BUILD] (pmatherrl): Likewise.
|
|
|
|
|
(DOMAIN): Likewise.
|
|
|
|
|
(SING): Likewise.
|
|
|
|
|
(OVERFLOW): Likewise.
|
|
|
|
|
(UNDERFLOW): Likewise.
|
|
|
|
|
(TLOSS): Likewise.
|
|
|
|
|
(PLOSS): Likewise.
|
|
|
|
|
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
|
|
|
|
|
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
|
compat_symbol.
|
|
|
|
|
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
|
|
|
|
|
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
|
compat_symbol.
|
|
|
|
|
* math/lgamma-compat.h: Include <math-svid-compat.h>.
|
|
|
|
|
* math/w_acos_compat.c: Likewise.
|
|
|
|
|
* math/w_acosf_compat.c: Likewise.
|
|
|
|
|
* math/w_acosh_compat.c: Likewise.
|
|
|
|
|
* math/w_acoshf_compat.c: Likewise.
|
|
|
|
|
* math/w_acoshl_compat.c: Likewise.
|
|
|
|
|
* math/w_acosl_compat.c: Likewise.
|
|
|
|
|
* math/w_asin_compat.c: Likewise.
|
|
|
|
|
* math/w_asinf_compat.c: Likewise.
|
|
|
|
|
* math/w_asinl_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2f_compat.c: Likewise.
|
|
|
|
|
* math/w_atan2l_compat.c: Likewise.
|
|
|
|
|
* math/w_atanh_compat.c: Likewise.
|
|
|
|
|
* math/w_atanhf_compat.c: Likewise.
|
|
|
|
|
* math/w_atanhl_compat.c: Likewise.
|
|
|
|
|
* math/w_cosh_compat.c: Likewise.
|
|
|
|
|
* math/w_coshf_compat.c: Likewise.
|
|
|
|
|
* math/w_coshl_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10f_compat.c: Likewise.
|
|
|
|
|
* math/w_exp10l_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2f_compat.c: Likewise.
|
|
|
|
|
* math/w_exp2l_compat.c: Likewise.
|
|
|
|
|
* math/w_fmod_compat.c: Likewise.
|
|
|
|
|
* math/w_fmodf_compat.c: Likewise.
|
|
|
|
|
* math/w_fmodl_compat.c: Likewise.
|
|
|
|
|
* math/w_hypot_compat.c: Likewise.
|
|
|
|
|
* math/w_hypotf_compat.c: Likewise.
|
|
|
|
|
* math/w_hypotl_compat.c: Likewise.
|
|
|
|
|
* math/w_j0_compat.c: Likewise.
|
|
|
|
|
* math/w_j0f_compat.c: Likewise.
|
|
|
|
|
* math/w_j0l_compat.c: Likewise.
|
|
|
|
|
* math/w_j1_compat.c: Likewise.
|
|
|
|
|
* math/w_j1f_compat.c: Likewise.
|
|
|
|
|
* math/w_j1l_compat.c: Likewise.
|
|
|
|
|
* math/w_jn_compat.c: Likewise.
|
|
|
|
|
* math/w_jnf_compat.c: Likewise.
|
|
|
|
|
* math/w_jnl_compat.c: Likewise.
|
|
|
|
|
* math/w_lgamma_main.c: Likewise.
|
|
|
|
|
* math/w_lgamma_r_compat.c: Likewise.
|
|
|
|
|
* math/w_lgammaf_main.c: Likewise.
|
|
|
|
|
* math/w_lgammaf_r_compat.c: Likewise.
|
|
|
|
|
* math/w_lgammal_main.c: Likewise.
|
|
|
|
|
* math/w_lgammal_r_compat.c: Likewise.
|
|
|
|
|
* math/w_log10_compat.c: Likewise.
|
|
|
|
|
* math/w_log10f_compat.c: Likewise.
|
|
|
|
|
* math/w_log10l_compat.c: Likewise.
|
|
|
|
|
* math/w_log2_compat.c: Likewise.
|
|
|
|
|
* math/w_log2f_compat.c: Likewise.
|
|
|
|
|
* math/w_log2l_compat.c: Likewise.
|
|
|
|
|
* math/w_log_compat.c: Likewise.
|
|
|
|
|
* math/w_logf_compat.c: Likewise.
|
|
|
|
|
* math/w_logl_compat.c: Likewise.
|
|
|
|
|
* math/w_pow_compat.c: Likewise.
|
|
|
|
|
* math/w_powf_compat.c: Likewise.
|
|
|
|
|
* math/w_powl_compat.c: Likewise.
|
|
|
|
|
* math/w_remainder_compat.c: Likewise.
|
|
|
|
|
* math/w_remainderf_compat.c: Likewise.
|
|
|
|
|
* math/w_remainderl_compat.c: Likewise.
|
|
|
|
|
* math/w_scalb_compat.c: Likewise.
|
|
|
|
|
* math/w_scalbf_compat.c: Likewise.
|
|
|
|
|
* math/w_scalbl_compat.c: Likewise.
|
|
|
|
|
* math/w_sinh_compat.c: Likewise.
|
|
|
|
|
* math/w_sinhf_compat.c: Likewise.
|
|
|
|
|
* math/w_sinhl_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrt_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrtf_compat.c: Likewise.
|
|
|
|
|
* math/w_sqrtl_compat.c: Likewise.
|
|
|
|
|
* math/w_tgamma_compat.c: Likewise.
|
|
|
|
|
* math/w_tgammaf_compat.c: Likewise.
|
|
|
|
|
* math/w_tgammal_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standard.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standardf.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/k_standardl.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
|
2017-08-21 19:28:54 +02:00
|
|
|
|
2017-08-21 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21864]
|
|
|
|
|
Do not compile benchmark helper objects with -DMODULE_NAME=libc.
|
|
|
|
|
* benchtests/Makefile (others-extras): Set to $(bench-extra-objs).
|
|
|
|
|
Move before inclusion of ../Rules.
|
|
|
|
|
|
2017-08-21 13:03:29 +02:00
|
|
|
|
2017-08-21 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21972]
|
|
|
|
|
* assert/assert.h (assert): Use static_cast (bool) for C++.
|
|
|
|
|
Use the ternary operator in the warning branch for GNU C.
|
|
|
|
|
* assert/Makefile (tests): Add tst-assert-c++, tst-assert-g++.
|
|
|
|
|
(CFLAGS-tst-assert-c++.o): Compile in C++11 mode.
|
|
|
|
|
(CFLAGS-tst-assert-g++.o): Compile in GnU C++11 mode.
|
|
|
|
|
(LDLIBS-tst-assert-c++, LDLIBS-tst-assert-g++): Link with libstdc++.
|
|
|
|
|
* assert/tst-assert-c++.cc, assert/tst-assert-g++.cc: New files.
|
|
|
|
|
|
2017-08-21 14:58:39 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/init-first.c
|
|
|
|
|
(__syscall_clock_gettime): Add attribute_hidden.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/makecontext.c
|
|
|
|
|
(__start_context): Likewise.
|
|
|
|
|
|
2017-08-21 14:50:38 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
|
building libc.a.
|
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
|
2017-08-21 14:47:10 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* include/libc-symbols.h (attribute_hidden): Enable hidden
|
|
|
|
|
visibility in libc.a compiled with PIE.
|
|
|
|
|
|
2017-08-21 14:40:33 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)):
|
|
|
|
|
Add attribute_hidden.
|
|
|
|
|
|
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21864]
|
|
|
|
|
* Makerules (all-nonlib): Add $(others-extras).
|
|
|
|
|
* catgets/Makefile (others-extras): New.
|
|
|
|
|
* elf/Makefile (others-extras): Likewise.
|
|
|
|
|
* nss/Makefile (others-extras): Likewise.
|
|
|
|
|
|
2017-08-21 14:32:21 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* csu/libc-start.c (__libc_multiple_libcs): Removed.
|
|
|
|
|
* elf/dl-open.c: Include <libc-internal.h>.
|
|
|
|
|
(__libc_multiple_libcs): Removed.
|
|
|
|
|
* elf/dl-sysdep.c: Include <libc-internal.h> instead of
|
|
|
|
|
<hp-timing.h>.
|
|
|
|
|
* include/libc-internal.h (__libc_multiple_libcs): New.
|
|
|
|
|
* misc/sbrk.c: Include <libc-internal.h>.
|
|
|
|
|
(__libc_multiple_libcs): Removed.
|
|
|
|
|
|
2017-08-21 14:31:02 +02:00
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* grp/initgroups.c (__nss_group_database): Removed.
|
|
|
|
|
(__nss_initgroups_database): Likewise.
|
|
|
|
|
* nscd/gai.c (__nss_hosts_database): Likewise.
|
|
|
|
|
* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
|
|
|
|
|
* posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
|
|
|
|
|
* posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
|
|
|
|
|
* posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise.
|
|
|
|
|
* nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add
|
|
|
|
|
attribute_hidden.
|
|
|
|
|
* nss/nsswitch.c (__nss_database_custom): Define only if
|
|
|
|
|
USE_NSCD is defined.
|
|
|
|
|
(__nss_configure_lookup): Use __nss_database_custom only if
|
|
|
|
|
USE_NSCD is defined.
|
|
|
|
|
* nss/nsswitch.h (__nss_database_custom): Declare only if
|
|
|
|
|
USE_NSCD is defined. Add attribute_hidden.
|
|
|
|
|
(__nss_setent): Add attribute_hidden.
|
|
|
|
|
(__nss_endent): Likewise.
|
|
|
|
|
(__nss_getent_r): Likewise.
|
|
|
|
|
(__nss_getent): Likewise.
|
|
|
|
|
(DEFINE_DATABASE): Declare __nss_##arg##_database.
|
|
|
|
|
|
2017-08-20 19:46:47 +02:00
|
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add
|
|
|
|
|
libc_hidden_proto and libc_hidden_def.
|
|
|
|
|
|
2017-08-20 19:45:58 +02:00
|
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64):
|
|
|
|
|
Add libc_hidden_proto.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64):
|
|
|
|
|
Add libc_hidden_def.
|
|
|
|
|
|
2017-08-20 15:39:10 +02:00
|
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21974]
|
|
|
|
|
* gmon/Makefile (routines): Remove bb_init_func and
|
|
|
|
|
bb_exit_func.
|
|
|
|
|
(elide-routines.os): Removed.
|
2017-08-20 15:45:25 +02:00
|
|
|
|
* gmon/bb_exit_func.c: Likewise.
|
|
|
|
|
* gmon/bb_init_func.c: Likewise.
|
2017-08-20 15:39:10 +02:00
|
|
|
|
* include/sys/gmon.h (__bb): Likewise.
|
|
|
|
|
(__bb_init_func): Likewise.
|
|
|
|
|
(__bb_exit_func): Likewise.
|
2017-08-20 15:50:59 +02:00
|
|
|
|
* sysdeps/alpha/bb_init_func.S: Likewise.
|
2017-08-20 15:39:10 +02:00
|
|
|
|
|
2017-08-20 15:30:29 +02:00
|
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* debug/longjmp_chk.c (____longjmp_chk): Moved to ...
|
|
|
|
|
* include/setjmp.h (____longjmp_chk): Here. Add
|
|
|
|
|
attribute_hidden.
|
|
|
|
|
|
2017-08-20 01:46:33 +02:00
|
|
|
|
2017-08-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add
|
|
|
|
|
attribute_hidden.
|
|
|
|
|
(__strspn_sse2): Likewise.
|
|
|
|
|
|
2017-07-03 20:00:26 +02:00
|
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-07-03 20:22:58 +02:00
|
|
|
|
* sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro.
|
|
|
|
|
(close_not_cancel_no_status): Likewise.
|
|
|
|
|
(__close_nocancel): New macro.
|
|
|
|
|
(__close_nocancel_nostatus): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(close_not_cancel): Likewise.
|
|
|
|
|
(close_not_cancel_no_status): Likewise.
|
|
|
|
|
(__close_nocancel): New prototype.
|
|
|
|
|
(__close_nocancel_nostatus): New function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function.
|
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace
|
|
|
|
|
close_not_cancel{_no_status) with __close_nocancel{_nostatus}.
|
|
|
|
|
* gmon/gmon.c (write_gmon): Likewise.
|
|
|
|
|
* iconv/gconv_cache.c (__gconv_load_cache): Likewise.
|
|
|
|
|
* intl/loadmsgcat.c (close): Likewise.
|
|
|
|
|
* io/ftw.c (open_dir_stream): Likewise.
|
|
|
|
|
(ftw_startup): Likewise.
|
|
|
|
|
* libio/fileops.c (_IO_file_open): Likewise.
|
|
|
|
|
(_IO_file_close_mmap): Likewise.
|
|
|
|
|
(_IO_file_close): Likewise.
|
|
|
|
|
* libio/iopopen.c (_IO_dup2): Likewise.
|
|
|
|
|
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
|
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
|
* login/utmp_file.c (pututline_file): Likewise.
|
|
|
|
|
(endutent_file): Likewise.
|
|
|
|
|
* misc/daemon.c (daemon): Likewise.
|
|
|
|
|
* nscd/nscd_getai.c (__nscd_getai): Likewise.
|
|
|
|
|
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
|
|
|
|
|
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
|
|
|
|
|
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
|
|
|
|
|
* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
|
|
|
|
|
* nscd/nscd_helper.c (open_socket): Likewise.
|
|
|
|
|
(__nscd_open_socket): Likewise.
|
|
|
|
|
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
|
|
|
|
|
* nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise.
|
|
|
|
|
(__nscd_innetgr): Likewise.
|
|
|
|
|
* nss/nss_db/db-open.c (internal_setent): Likewise.
|
|
|
|
|
* resolv/res-close.c (__res_iclose): Likewise.
|
|
|
|
|
* sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
|
|
|
|
|
* sysdeps/posix/closedir.c (__closedir): Likewise.
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise.
|
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
|
* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
|
|
|
|
|
(opendir_tail): Likewise.
|
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
|
(gethostid): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
|
__close_nocancel.
|
|
|
|
|
|
2017-07-03 20:00:26 +02:00
|
|
|
|
* sysdeps/generic/not-cancel.h (openat_not_cancel): Remove macro.
|
|
|
|
|
(openat_not_cancel_3): Likewise.
|
|
|
|
|
(openat64_not_cancel_3): Likewise).
|
|
|
|
|
(openat_not_cancel_3): Likewise).
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (openat_not_cancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(openat_not_cancel_3): Likewise.
|
|
|
|
|
(openat64_not_cancel): Likewise.
|
|
|
|
|
(openat64_not_cancel_3): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/openat.c (__openat_nocancel): New function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/openat64.c (__openat64_nocancel): Likewise.
|
|
|
|
|
* io/ftw.c (open_dir_stream): Replace openat{64}_not_cancel{_3} with
|
|
|
|
|
__open{64}_nocancel.
|
|
|
|
|
* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
|
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
|
* sysdeps/posix/opendir.c (__opendirat): Likewise.
|
|
|
|
|
|
2017-08-18 18:31:19 +02:00
|
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
|
* include/argz.h (__argz_create_sep): New function prototype.
|
|
|
|
|
(__argz_append): Likewise.
|
|
|
|
|
(__argz_add): Likewise.
|
|
|
|
|
(__argz_add_sep): Likewise.
|
|
|
|
|
(__argz_delete): Likewise.
|
|
|
|
|
(__argz_insert): Likewise.
|
|
|
|
|
(__argz_replace): Likewise.
|
|
|
|
|
* string/argz.h (__argz_create_sep): Removed.
|
|
|
|
|
(__argz_append): Likewise.
|
|
|
|
|
(__argz_add): Likewise.
|
|
|
|
|
(__argz_add_sep): Likewise.
|
|
|
|
|
(__argz_delete): Likewise.
|
|
|
|
|
(__argz_insert): Likewise.
|
|
|
|
|
(__argz_replace): Likewise.
|
|
|
|
|
|
2017-08-18 17:49:07 +02:00
|
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* elf/elf.h (NT_GNU_PROPERTY_TYPE_0): New.
|
|
|
|
|
(NOTE_GNU_PROPERTY_SECTION_NAME): Likewise.
|
|
|
|
|
(GNU_PROPERTY_STACK_SIZE): Likewie.
|
|
|
|
|
(GNU_PROPERTY_NO_COPY_ON_PROTECTED): Likewie.
|
|
|
|
|
(GNU_PROPERTY_LOPROC): Likewise.
|
|
|
|
|
(GNU_PROPERTY_HIPROC): Likewise.
|
|
|
|
|
(GNU_PROPERTY_LOUSER): Likewise.
|
|
|
|
|
(GNU_PROPERTY_HIUSER): Likewise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_USED): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_NEEDED): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_AND): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_486): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_586): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_686): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE2): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE3): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSSE3): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE4_1): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE4_2): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX2): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512F): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512CD): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512ER): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512PF): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512VL): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512BW): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_IBT): Likwise.
|
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_SHSTK): Likwise.
|
|
|
|
|
|
2017-08-14 22:51:51 +02:00
|
|
|
|
2017-08-18 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if
|
|
|
|
|
in C++ mode.
|
|
|
|
|
|
2017-08-11 19:29:06 +02:00
|
|
|
|
2017-08-18 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21930]
|
|
|
|
|
* math/math.h (isinf): Check if in C or C++ mode before using
|
|
|
|
|
__builtin_types_compatible_p, since this is a C mode feature.
|
|
|
|
|
|
2017-07-03 19:20:46 +02:00
|
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
2017-07-03 19:39:52 +02:00
|
|
|
|
* sysdeps/generic/not-cancel.h (write_not_cancel): Remove macro.
|
|
|
|
|
(__write_nocancel): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__write_nocancel):
|
|
|
|
|
Rewrite as a function prototype.
|
|
|
|
|
(write_not_cancel): Remove macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/write.c (__write_nocancel): New function.
|
|
|
|
|
* gmon/gmon.c (ERR): Replace write_not_cancel with __write_nocancel.
|
|
|
|
|
(write_gmon): Likewise.
|
|
|
|
|
* libio/fileops.c (_IO_new_file_write): Likewise.
|
|
|
|
|
* login/utmp_file.c (pututline_file): Likewise.
|
|
|
|
|
(updwtmp_file): Likewise.
|
|
|
|
|
* stdio-common/psiginfo.c (psiginfo): Likewise.
|
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-07-03 19:20:46 +02:00
|
|
|
|
* sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro.
|
|
|
|
|
(__read_nocancel): New macro.
|
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
|
__read_nocancel.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove
|
|
|
|
|
macro.
|
|
|
|
|
(__read_nocancel): New prototype.
|
|
|
|
|
* sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function.
|
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace read_not_cancel
|
|
|
|
|
with __read_nocancel.
|
|
|
|
|
* intl/loadmsgcat.c (read): Likewise.
|
|
|
|
|
* libio/fileops.c (_IO_file_read): Likewise.
|
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
|
* login/utmp_file.c (getutent_r_file): Likewise.
|
|
|
|
|
(internal_getut_r): Likewise.
|
|
|
|
|
(getutline_r_file): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
|
|
2017-08-18 15:18:55 +02:00
|
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21966]
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h
|
|
|
|
|
(IFUNC_SELECTOR): Don't use the AVX2 version if FMA isn't
|
|
|
|
|
usable.
|
|
|
|
|
|
2017-08-17 23:58:25 +02:00
|
|
|
|
2017-08-17 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* bug17079.c: Update to new test harness.
|
|
|
|
|
* test-digits-dots.c: Likewise.
|
|
|
|
|
* test-netdb.c: Likewise.
|
|
|
|
|
* tst-field.c: Likewise.
|
|
|
|
|
* tst-nss-getpwent.c: Likewise.
|
|
|
|
|
* tst-nss-static.c: Likewise.
|
|
|
|
|
* tst-nss-test1.c: Likewise.
|
|
|
|
|
* tst-nss-test2.c: Likewise.
|
|
|
|
|
* tst-nss-test3.c: Likewise.
|
|
|
|
|
* tst-nss-test4.c: Likewise.
|
|
|
|
|
* tst-nss-test5.c: Likewise.
|
|
|
|
|
|
2017-07-03 16:11:24 +02:00
|
|
|
|
2017-08-17 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro.
|
|
|
|
|
(open_not_cancel_2): Likewise.
|
|
|
|
|
(open_nocancel): New macro.
|
|
|
|
|
(open64_nocancel): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro.
|
|
|
|
|
(open_not_cancel_2): Likewise.
|
|
|
|
|
(__open_nocancel): New prototype.
|
|
|
|
|
(__open64_nocancel): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
|
__open_nocancel.
|
|
|
|
|
* sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise.
|
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2}
|
|
|
|
|
with __open_nocancel.
|
|
|
|
|
* csu/check_fds.c (check_one_fd): Likewise.
|
|
|
|
|
* gmon/gmon.c (write_gmon): Likewise.
|
|
|
|
|
* iconv/gconv_cache.c (__gconv_load_cached): Likewise.
|
|
|
|
|
* intl/loadmsgcat.c (open): Likewise.
|
|
|
|
|
* libio/fileops.c (_IO_file_open): Likewise.
|
|
|
|
|
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
|
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
|
* login/utmp_file.c (setutent_file): Likewise.
|
|
|
|
|
* misc/daemon.c (daemon): Likewise.
|
|
|
|
|
* nss/nss_db/db-open.c (internal_setent): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
|
|
|
|
|
* sysdeps/posix/libc_fatal.c (__libc_message): Likewise.
|
|
|
|
|
* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
|
|
|
|
|
(__opendir): Likewise.
|
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
|
(gethostid): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
|
|
2017-08-17 17:27:20 +02:00
|
|
|
|
2017-08-17 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* benchtests/bench-skeleton.c (main): Add support for
|
|
|
|
|
latency benchmarking.
|
|
|
|
|
* benchtests/scripts/bench.py: Add support for latency benchmarking.
|
|
|
|
|
|
2017-08-17 13:55:44 +02:00
|
|
|
|
2017-08-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* Makeconfig (+link-pie-before-libc): Add CRT-* hook to override
|
|
|
|
|
the startup object.
|
|
|
|
|
|
2017-08-17 10:18:04 +02:00
|
|
|
|
2017-08-17 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/sys/socket.h (__opensock): Remove internal_function.
|
|
|
|
|
* socket/opensock.c (__opensock): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise.
|
|
|
|
|
|
Fix sigval namespace (bug 21944).
XPG4.2 defines the siginfo_t type, but not union sigval or its
contents (which were added in the 1993 edition of POSIX.1), resulting
in namespace violations for sigval, sival_int and sival_ptr for
signal.h and sys/wait.h for that standard because those headers
incorrectly expose those names in that case.
This patch fixes this problem. The public type in this case is union
sigval, but various places in the headers use the sigval_t name for
it; direct uses of union sigval are already properly guarded or in
headers not in XPG4.2. Now, sigval_t, although not a standard name,
does seem to be widely used outside glibc. The approach taken by this
patch is to make installed headers use the name __sigval_t instead.
__sigval_t is then defined to either union sigval or union __sigval
(where union __sigval has __-prefixed member names as well), depending
on whether there are any namespace issues with the union sigval name
and its members. In the case where union __sigval is used, sigval_t
is not defined at all, to avoid the problem of sigval_t having a C++
mangled name that depends on feature test macros. sigval_t is still
defined by signal.h if __USE_MISC (reflecting the nonstandard nature
of that name).
Tested for x86_64.
[BZ #21944]
* signal/bits/types/__sigval_t.h: New file.
* signal/Makefile (headers): Add bits/types/__sigval_t.h.
* signal/bits/types/sigval_t.h: Include <bits/types/__sigval_t.h>
and define sigval_t using __sigval_t.
* include/bits/types/__sigval_t.h: New file.
* bits/types/sigevent_t.h: Include <bits/types/__sigval_t.h>
instead of <bits/types/__sigval_t.h>.
(struct sigevent): Use __sigval_t instead of sigval_t.
* bits/types/siginfo_t.h: Include <bits/types/__sigval_t.h>
instead of <bits/types/__sigval_t.h>.
(siginfo_t): Use __sigval_t instead of sigval_t.
* sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
(struct sigevent): Use __sigval_t instead of sigval_t.
* sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
(siginfo_t): Use __sigval_t instead of sigval_t.
* signal/signal.h [__USE_MISC]: Include <bits/types/sigval_t.h>.
2017-08-16 22:33:59 +02:00
|
|
|
|
2017-08-16 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21944]
|
|
|
|
|
* signal/bits/types/__sigval_t.h: New file.
|
|
|
|
|
* signal/Makefile (headers): Add bits/types/__sigval_t.h.
|
|
|
|
|
* signal/bits/types/sigval_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
|
and define sigval_t using __sigval_t.
|
|
|
|
|
* include/bits/types/__sigval_t.h: New file.
|
|
|
|
|
* bits/types/sigevent_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
|
instead of <bits/types/__sigval_t.h>.
|
|
|
|
|
(struct sigevent): Use __sigval_t instead of sigval_t.
|
|
|
|
|
* bits/types/siginfo_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
|
instead of <bits/types/__sigval_t.h>.
|
|
|
|
|
(siginfo_t): Use __sigval_t instead of sigval_t.
|
|
|
|
|
* sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include
|
|
|
|
|
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
|
|
|
|
|
(struct sigevent): Use __sigval_t instead of sigval_t.
|
|
|
|
|
* sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include
|
|
|
|
|
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
|
|
|
|
|
(siginfo_t): Use __sigval_t instead of sigval_t.
|
|
|
|
|
* signal/signal.h [__USE_MISC]: Include <bits/types/sigval_t.h>.
|
|
|
|
|
|
2017-08-16 20:05:55 +02:00
|
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Remove "[Add new features here]" for 2.27.
|
|
|
|
|
|
2017-08-16 19:01:27 +02:00
|
|
|
|
2017-08-16 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in
|
|
|
|
|
libc.so.
|
|
|
|
|
|
2017-08-16 18:17:34 +02:00
|
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention x86-64 FMA optimization.
|
|
|
|
|
|
2017-08-16 17:43:35 +02:00
|
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21912]
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
|
Add e_expf-fma.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise.
|
|
|
|
|
|
2017-08-16 15:59:55 +02:00
|
|
|
|
2017-08-16 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
2017-08-16 16:47:20 +02:00
|
|
|
|
[BZ #16750]
|
|
|
|
|
CVE-2009-5064
|
2017-08-16 15:59:55 +02:00
|
|
|
|
* elf/ldd.bash.in: Never run file directly.
|
|
|
|
|
|
x86-64: Align L(SP_RANGE)/L(SP_INF_0) to 8 bytes [BZ #21955]
sysdeps/x86_64/fpu/e_expf.S has
lea L(SP_RANGE)(%rip), %rdx /* load over/underflow bound */
cmpl (%rdx,%rax,4), %ecx /* |x|<under/overflow bound ? */
...
/* Here if |x| is Inf */
lea L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
movss (%rdx,%rax,4), %xmm0 /* return zero or Inf */
ret
...
.section .rodata.cst8,"aM",@progbits,8
...
.p2align 2
L(SP_RANGE): /* single precision overflow/underflow bounds */
.long 0x42b17217 /* if x>this bound, then result overflows */
.long 0x42cff1b4 /* if x<this bound, then result underflows */
.type L(SP_RANGE), @object
ASM_SIZE_DIRECTIVE(L(SP_RANGE))
.p2align 2
L(SP_INF_0):
.long 0x7f800000 /* single precision Inf */
.long 0 /* single precision zero */
.type L(SP_INF_0), @object
ASM_SIZE_DIRECTIVE(L(SP_INF_0))
Since L(SP_RANGE) and L(SP_INF_0) are in .rodata.cst8 section, they must
be aligned to 8 bytes.
[BZ #21955]
* sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes.
(L(SP_INF_0)): Likewise.
2017-08-15 23:04:59 +02:00
|
|
|
|
2017-08-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21955]
|
|
|
|
|
* sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes.
|
|
|
|
|
(L(SP_INF_0)): Likewise.
|
|
|
|
|
|
2017-08-15 18:35:42 +02:00
|
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gmon/Makefile (tests-special): Add tst-gmon-prof only if
|
|
|
|
|
run-built-tests.
|
|
|
|
|
|
2017-08-15 17:28:37 +02:00
|
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Remove BROKEN_THREAD_SIGNALS support for LinuxThreads.
|
|
|
|
|
* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Remove
|
|
|
|
|
BROKEN_THREAD_SIGNALS code.
|
|
|
|
|
* sysdeps/ppthread/aio_misc.h (struct waitlist, struct
|
|
|
|
|
request_list): Remove caller_pid member used for
|
|
|
|
|
BROKEN_THREAD_SIGNALS.
|
|
|
|
|
[BROKEN_THREAD_SIGNALS] (__aio_notify_only): Remove declaration.
|
|
|
|
|
* sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify):
|
|
|
|
|
Remove BROKEN_THREAD_SIGNALS support.
|
|
|
|
|
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
|
|
|
|
|
* sysdeps/pthread/lio_listio.c (lio_listio_internal): Likewise.
|
|
|
|
|
|
2017-08-15 15:49:40 +02:00
|
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gmon/Makefile (tests): Add tst-gmon.
|
|
|
|
|
(CFLAGS-tst-gmon.c, LDFLAGS-tst-gmon, CRT-tst-gmon, tst-gmon-ENV):
|
|
|
|
|
Set.
|
|
|
|
|
(tests-special): Add tst-gmon-prof.out.
|
|
|
|
|
(tst-gmon.out): Depend on clean-tst-gmon-data.
|
|
|
|
|
(clean-tst-gmon-data, tst-gmon-gprof.out): New targets.
|
|
|
|
|
* gmon/tst-gmon.c, gmon/tst-gmon-gprof.sh: New files.
|
|
|
|
|
* Makeconfig (+link-before-libc): Add CRT-* hook to override the
|
|
|
|
|
startup object.
|
|
|
|
|
* aclocal.m4 (GPROF): Set and substitute.
|
|
|
|
|
* config.amke.in (GPROF): Set.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-08-15 15:17:30 +02:00
|
|
|
|
2017-08-15 Gustavo Romero <gromero@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* elf/elf.h A (NT_PPC_TAR): New macro.
|
|
|
|
|
(NT_PPC_PPR): Likewise.
|
|
|
|
|
(NT_PPC_DSCR): Likewise.
|
|
|
|
|
(NT_PPC_EBB): Likewise.
|
|
|
|
|
(NT_PPC_PMU): Likewise.
|
|
|
|
|
(NT_PPC_TM_CGPR): Likewise.
|
|
|
|
|
(NT_PPC_TM_CFPR): Likewise.
|
|
|
|
|
(NT_PPC_TM_CVMX): Likewise.
|
|
|
|
|
(NT_PPC_TM_CVSX): Likewise.
|
|
|
|
|
(NT_PPC_TM_SPR): Likewise.
|
|
|
|
|
(NT_PPC_TM_CTAR): Likewise.
|
|
|
|
|
(NT_PPC_TM_CPPR): Likewise.
|
|
|
|
|
(NT_PPC_TM_CDSCR): Likewise.
|
|
|
|
|
|
2017-08-15 14:46:19 +02:00
|
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/machine-gmon.h (mcount_internal): Declare with
|
|
|
|
|
regparm (2) instead of internal_function.
|
|
|
|
|
(_MCOUNT_DECL): Adjust.
|
|
|
|
|
|
2017-08-15 14:00:07 +02:00
|
|
|
|
2017-08-15 Stefan Liebler <stli@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14.
|
|
|
|
|
* sysdeps/s390/dl-procinfo.h (_DL_PLATFORMS_COUNT): Increased.
|
|
|
|
|
|
2017-08-14 19:05:55 +02:00
|
|
|
|
2017-08-14 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* conform/data/sys/wait.h-data (si_value): Do not expect for
|
|
|
|
|
XPG42.
|
|
|
|
|
|
NSS: Replace exported NSS lookup functions with stubs [BZ #21962]
Commit 384ca551743318bd9c9e24a496d6397f2e3f2a49 from 2007 added this to
nss/XXX-lookup.c:
+#ifndef NO_COMPAT
+int
+internal_function attribute_compat_text_section
+DB_COMPAT_FCT (service_user **ni, const char *fct_name, void **fctp)
+{
+ return DB_LOOKUP_FCT (ni, fct_name, NULL, fctp);
+}
+#endif
That is, it adds a pseudo-compat function with an internal_function
attribute. The function it was supposed to replace did not have the
attribute:
extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name,
- void **fctp) internal_function;
+ const char *fct2_name, void **fctp)
+ internal_function;
This changed the calling convention on i386 for the following
functions in the public ABI:
__nss_passwd_lookup
__nss_group_lookup
__nss_hosts_lookup
This commit replaces the functions with always-failing stubs,
with true compat symbols. Due to a happy accident, the calling
convention of the stub is identical for the internal_function
and non-internal_function case on i386.
In addition, this commit auto-generates the __nss_*_lookup2
function declarations as part of <nsswitch.h>.
2017-08-14 17:12:05 +02:00
|
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21962]
|
|
|
|
|
NSS: Create stubs for accidentally exported lookup functions.
|
|
|
|
|
* grp/initgroups.c (__nss_group_lookup, __nss_lookup_function):
|
|
|
|
|
Remove declaration.
|
|
|
|
|
* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
|
|
|
|
|
(ether_hostton): Call __nss_ethers_lookup2 instead.
|
|
|
|
|
* inet/ether_ntoh.c (__nss_ethers_lookup): Remove declaration.
|
|
|
|
|
(ether_ntohost): Call __nss_ethers_lookup2 instead.
|
|
|
|
|
* inet/getnetgrent_r.c (__nss_netgroup_lookup): Remove declaration.
|
|
|
|
|
(setup): Call __nss_netgroup_lookup2 instead.
|
|
|
|
|
* nss/Makefile (routines): Add compat-lookup.
|
|
|
|
|
* nss/Versions (GLIBC_2.27): Add symbol version.
|
|
|
|
|
* nss/XXX-lookup (DB_LOOKUP_FCT): Remove declaration. Now provided by <nsswitch.h>.
|
|
|
|
|
(DB_COMPAT_FCT): Remove.
|
|
|
|
|
* nss/compat-lookup.c: New file.
|
|
|
|
|
* nss/nsswitch.h: Generate __nss_*_lookup2 function prototypes
|
|
|
|
|
from databases.def.
|
|
|
|
|
* nss/service-lookup.c (NO_COMPAT): Remove definition.
|
|
|
|
|
* sunrpc/netname.c (__nss_publickey_lookup): Remove declaration.
|
|
|
|
|
(netname2user): Call __nss_publickey_lookup2 instead.
|
|
|
|
|
* sunrpc/publickey.c (__nss_publickey_lookup): Remove declaration.
|
|
|
|
|
(getpublickey, getsecretkey): Call __nss_publickey_lookup2
|
|
|
|
|
instead.
|
|
|
|
|
|
2017-09-16 19:50:22 +02:00
|
|
|
|
2017-08-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
2017-08-06 16:14:32 +02:00
|
|
|
|
Sergei Trofimovich <slyfox@inbox.ru>
|
|
|
|
|
|
|
|
|
|
[BZ #21908]
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT):
|
|
|
|
|
Rename to MMAP2_PAGE_UNIT.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff
|
|
|
|
|
__OFF_T_MATCHES_OFF64_T is not defined.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as
|
|
|
|
|
uint64_t.
|
|
|
|
|
(MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit.
|
|
|
|
|
(page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition.
|
|
|
|
|
|
2017-08-14 13:03:34 +02:00
|
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
i386: Do not set internal_function.
|
|
|
|
|
* config.h.in (USE_REGPARMS, internal_function): Remove.
|
|
|
|
|
* sysdeps/i386/configure.ac (USE_REGPARMS): Likewise.
|
|
|
|
|
* sysdeps/i386/configure (USE_REGPARMS): Likewise.
|
|
|
|
|
|
2017-08-14 12:57:50 +02:00
|
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-init.c (_dl_init): Remove internal_function.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_init): Likewise.
|
|
|
|
|
* sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to _dl_init.
|
|
|
|
|
|
2017-08-14 12:29:21 +02:00
|
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/rtld.c (_dl_start): Remove internal_function.
|
|
|
|
|
* sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to
|
|
|
|
|
_dl_start.
|
|
|
|
|
|
2017-08-14 11:44:24 +02:00
|
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-fini.c (_dl_fini): Remove internal_function
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
|
|
|
|
|
|
2017-08-14 14:54:25 +02:00
|
|
|
|
2017-08-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h (bit_cpu_BIT): New.
|
|
|
|
|
(bit_cpu_SHSTK): Likewise.
|
|
|
|
|
(index_cpu_IBT): Likewise.
|
|
|
|
|
(index_cpu_SHSTK): Likewise.
|
|
|
|
|
(reg_IBT): Likewise.
|
|
|
|
|
(reg_SHSTK): Likewise.
|
|
|
|
|
* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
|
|
|
|
|
Handle index_cpu_IBT and index_cpu_SHSTK.
|
|
|
|
|
|
2017-08-14 09:25:56 +02:00
|
|
|
|
2017-08-14 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #19982]
|
|
|
|
|
* po/fr.po: Fix spelling mistake.
|
|
|
|
|
|
2017-08-13 21:11:54 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-addr.c (_dl_addr): Remove internal_function.
|
|
|
|
|
* elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror)
|
|
|
|
|
(_dl_catch_error, _dl_receive_error): Likewise.
|
|
|
|
|
* elf/dl-open.c (_dl_find_dso_for_object): Likewise.
|
|
|
|
|
* elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls)
|
|
|
|
|
(_dl_deallocate_tls): Likewise.
|
|
|
|
|
* include/dlfcn.h (_dl_addr): Likewise.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror)
|
|
|
|
|
(_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object)
|
|
|
|
|
(_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-13 21:11:47 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/stdlib.h: (__strtof_nan, __strtod_nan, __strtold_nan)
|
|
|
|
|
(__wcstof_nan, __wcstod_nan, __wcstold_nan): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* stdlib/sttod_nan_main.c (STRTOD_NAN): Likewise.
|
|
|
|
|
|
2017-08-13 21:11:38 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elf/dl-support.c (_dl_make_stack_executable_hook): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* nptl/allocatestack.c (__make_stacks_executable): Likewise.
|
|
|
|
|
* nptl/pthreadP.h (__make_stacks_executable): Likewise.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (_rtld_global): Remove
|
|
|
|
|
internal_function from _dl_make_stack_executable_hook member.
|
|
|
|
|
(_dl_make_stack_executable): Remove internal_function.
|
|
|
|
|
* sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/dl-execstack.c
|
|
|
|
|
(_dl_make_stack_executable): Likewise.
|
|
|
|
|
|
2017-08-13 21:11:28 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/netlinkaccess.h
|
|
|
|
|
(__netlink_assert_response): Remove internal_function.
|
|
|
|
|
* sysdeps/unix/sysv/linux/netlink_assert_response.c
|
|
|
|
|
(__netlink_assert_response): Likewise.
|
|
|
|
|
|
2017-08-13 21:11:06 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/rpc/pmap_clnt.h (__libc_rpc_getport): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* sunrpoc/pm_getport.c (__libc_rpc_getport): Likewise.
|
|
|
|
|
|
2017-08-13 21:10:56 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* grp/grp-merge.h (__copy_grp, __merge_grp): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
* grp/grp-merge.c (__copy_grp, __merge_grp): Likewise.
|
|
|
|
|
* inet/netgroup.h (__internal_setnetgrent)
|
|
|
|
|
(__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
|
|
|
|
|
* inet/getnetgrent_r.c (__internal_setnetgrent)
|
|
|
|
|
(__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
|
|
|
|
|
* nss/XXX-lookup.c (DB_LOOKUP_FCT, DB_COMPAT_FCT): Likewise.
|
|
|
|
|
* nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Likewise.
|
|
|
|
|
* nss/getXXent_r.c (DB_LOOKUP_FCT): Likewise.
|
|
|
|
|
* nss/nsswitch.h (db_lookup_function): Likewise.
|
|
|
|
|
|
2017-08-13 21:10:44 +02:00
|
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* debug/fortify_fail.c (__fortify_fail, __fortify_fail_abort):
|
|
|
|
|
Remove internal_function.
|
|
|
|
|
* include/stdio.h (__fortify_fail, __fortify_fail_abort): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/i386/____longjmp_chk.S (CALL_FAIL): Pass
|
|
|
|
|
message argument on the stack.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S (CALL_FAIL):
|
|
|
|
|
Likeweise.
|
|
|
|
|
|
2017-08-12 17:15:25 +02:00
|
|
|
|
2017-08-12 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
Adapt test case data to the changes in the thousands
|
|
|
|
|
separators.
|
|
|
|
|
|
|
|
|
|
[BZ #20756]
|
|
|
|
|
* localedata/tst-langinfo.sh: Adapt test case data.
|
|
|
|
|
* stdlib/tst-strfmon_l.c: Likewise.
|
|
|
|
|
* stdlib/tst-strtod4.c: Likewise.
|
|
|
|
|
* stdlib/tst-strtod5i.c: Likewise.
|
|
|
|
|
|
2017-08-11 15:36:08 +02:00
|
|
|
|
2017-08-11 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21242]
|
|
|
|
|
* assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert):
|
|
|
|
|
Suppress pedantic warning resulting from statement expression.
|
|
|
|
|
(__ASSERT_FUNCTION): Add missing __extension__.
|
|
|
|
|
|
2017-08-11 08:47:24 +02:00
|
|
|
|
2017-08-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
2017-08-11 08:47:46 +02:00
|
|
|
|
* benchtests/bench-memmove-large.c: Print output in JSON
|
|
|
|
|
format.
|
|
|
|
|
* benchtests/bench-memmove.c: Likewise.
|
|
|
|
|
|
2017-08-11 08:47:24 +02:00
|
|
|
|
* benchtests/bench-memccpy.c (do_one_test): Remove checks.
|
|
|
|
|
* benchtests/bench-memchr.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memcpy-large.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memcpy.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memmove-large.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memmove.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memset-large.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-memset.c (do_one_test): Likewise.
|
|
|
|
|
* benchtests/bench-string.h (test_init): Remove memsets.
|
|
|
|
|
|
2017-07-27 14:04:48 +02:00
|
|
|
|
2017-08-10 Rical Jasan <ricaljasan@pacific.net>
|
|
|
|
|
|
|
|
|
|
* manual/lang.texi
|
|
|
|
|
(Computing the Width of an Integer Data Type): Rename section to
|
|
|
|
|
"Width of an Integer Type". Remove inaccurate statement regarding
|
|
|
|
|
lack of C language facilities for determining width of integer
|
|
|
|
|
types, and reorder content to improve flow and context of
|
|
|
|
|
discussion.
|
|
|
|
|
|
2017-06-20 12:46:24 +02:00
|
|
|
|
2017-08-10 Rical Jasan <ricaljasan@pacific.net>
|
|
|
|
|
|
|
|
|
|
* lang.texi (va_copy): Change standard from ISO to C99.
|
|
|
|
|
(__va_copy): Add standard and header annotation.
|
|
|
|
|
Update description for clarity of origins and current use.
|
|
|
|
|
|
2017-08-07 14:14:14 +02:00
|
|
|
|
2017-08-10 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21941]
|
|
|
|
|
* sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since
|
|
|
|
|
xssqrtqp requires operands to be in Vector Registers
|
|
|
|
|
(Altivec/VMX), replace the register constraint 'wq' with 'v'.
|
|
|
|
|
* sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c
|
|
|
|
|
(__ieee754_sqrtf128): Likewise.
|
|
|
|
|
|
2017-08-10 18:00:38 +02:00
|
|
|
|
2017-08-10 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/aarch64/memcmp.S (memcmp):
|
|
|
|
|
Rewrite of optimized memcmp.
|
|
|
|
|
|
2017-08-10 13:40:22 +02:00
|
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
Introduce ld.so exceptions.
|
|
|
|
|
* sysdeps/generic/ldsodefs.h (struct dl_exception): Define.
|
|
|
|
|
(_dl_exception_create, _dl_exception_create_format)
|
|
|
|
|
(_dl_exception_free, _dl_signal_exception, _dl_signal_cexception)
|
|
|
|
|
(_dl_catch_exception): Declare.
|
|
|
|
|
(_dl_catch_error): Update comment.
|
|
|
|
|
* elf/dl-error-skeleton.c (struct catch): Replace objname,
|
|
|
|
|
errstring, malloced members with exception member.
|
|
|
|
|
(_dl_out_of_memory): Remove.
|
|
|
|
|
(fatal_error): New function, extracted from _dl_signal_error.
|
|
|
|
|
(_dl_signal_exception, _dl_signal_cexception): New functions.
|
|
|
|
|
(_dl_signal_error): Call _dl_exception_create to allocate an
|
|
|
|
|
exception object.
|
|
|
|
|
(_dl_catch_exception): New function, based on _dl_catch_error.
|
|
|
|
|
(_dl_catch_error): Implement using _dl_catch_exception.
|
|
|
|
|
* elf/dl-exception.c: New file.
|
|
|
|
|
* elf/Makefile (dl-routines): Add dl-exception.
|
|
|
|
|
(elide-routines.os): Likewise.
|
|
|
|
|
* elf/Version (ld/GLIBC_PRIVATE): Add _dl_exception_create,
|
|
|
|
|
_dl_exception_create_format, _dl_exception_free.
|
|
|
|
|
* elf/dl-deps.c (_dl_map_object_deps): Use _dl_catch_exception and
|
|
|
|
|
_dl_signal_exception.
|
|
|
|
|
* elf/dl-lookup.c (make_string): Remove.
|
|
|
|
|
(_dl_lookup_symbol_x): Use _dl_exception_create_format,
|
|
|
|
|
_dl_signal_cexception, _dl_exception_free.
|
|
|
|
|
* elf/dl-open.c (_dl_open): Use _dl_catch_exception and
|
|
|
|
|
_dl_signal_exception.
|
|
|
|
|
* elf/dl-sym.c (do_sym): Likewise.
|
|
|
|
|
* elf/dl-version.c (make_string): Remove.
|
|
|
|
|
(match_symbol): Use _dl_exception_create_format,
|
|
|
|
|
_dl_signal_cexception, _dl_exception_free.
|
|
|
|
|
(_dl_check_map_versions): Likewise.
|
|
|
|
|
* sysdeps/generic/localplt.data (ld.so): Add _dl_signal_exception,
|
|
|
|
|
_dl_catch_exception.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
|
|
|
|
|
(ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
|
|
|
|
|
(ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/localplt.data (ld.so): Likewise.
|
|
|
|
|
|
2017-08-10 16:06:52 +02:00
|
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* inet/net-internal.h (__inet6_scopeid_pton): Remove
|
|
|
|
|
attribute_hidden, internal_function.
|
|
|
|
|
* inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Remove
|
|
|
|
|
internal_function.
|
|
|
|
|
|
2017-08-10 15:58:28 +02:00
|
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* malloc/malloc.c (get_max_fast): Reimplement as an inline
|
|
|
|
|
function which calls __builtin_unreachable.
|
|
|
|
|
|
2017-08-10 12:16:29 +02:00
|
|
|
|
2017-08-10 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stdlib/tst-strfmon_l.c: Fix test cases to agree with the changes in
|
|
|
|
|
Indian monetary formatting
|
|
|
|
|
* stdlib/Makefile: Adapt list of locales needed for the tst-strfmon_l.c
|
|
|
|
|
test cases.
|
|
|
|
|
|
2017-07-18 11:23:38 +02:00
|
|
|
|
2017-08-09 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
|
|
2017-08-10 03:28:58 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request):
|
|
|
|
|
Fix typo in comment.
|
|
|
|
|
|
2017-07-18 11:23:38 +02:00
|
|
|
|
[BZ #21928]
|
|
|
|
|
* sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags,
|
|
|
|
|
PTRACE_SEIZE_DEVEL): Remove.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
|
|
|
|
|
|
Fix uc_* namespace (bug 21457).
The standard members of ucontext_t, in all standard versions with that
type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
The uc_* namespace is mostly reserved for additions to the structure.
However, in XPG4.2, it's only reserved when <ucontext.h> is included,
not when <signal.h> is included, while <signal.h> is required to
define ucontext_t (but not allowed to make visible other symbols from
<ucontext.h>). Thus, nonstandard members should avoid uc_* names.
Some already do use __uc_*, but others don't; most architectures (all
except ia64, I think) have a member uc_flags and some have additional
members beyond that.
This patch makes nonstandard members have an __ prefix unless
__USE_MISC is defined. Members whose names indicate they are solely
padding / reserved for future use are renamed unconditionally to use
the __glibc_reserved1 naming convention.
This is part of the preparation for a revised version of the
mcontext_t / sigcontext patch to be able to eliminate all 13 of the
miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
as at present (at least one further fix on top of this one will be
needed for that as well).
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21457]
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
(__ctxt): Likewise.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
Rename uc_pad to __glibc_reserved1.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
2017-08-09 19:51:26 +02:00
|
|
|
|
2017-08-09 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
2017-08-09 20:10:52 +02:00
|
|
|
|
* posix/bits/types.h (__qaddr_t): Remove.
|
|
|
|
|
|
Fix uc_* namespace (bug 21457).
The standard members of ucontext_t, in all standard versions with that
type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
The uc_* namespace is mostly reserved for additions to the structure.
However, in XPG4.2, it's only reserved when <ucontext.h> is included,
not when <signal.h> is included, while <signal.h> is required to
define ucontext_t (but not allowed to make visible other symbols from
<ucontext.h>). Thus, nonstandard members should avoid uc_* names.
Some already do use __uc_*, but others don't; most architectures (all
except ia64, I think) have a member uc_flags and some have additional
members beyond that.
This patch makes nonstandard members have an __ prefix unless
__USE_MISC is defined. Members whose names indicate they are solely
padding / reserved for future use are renamed unconditionally to use
the __glibc_reserved1 naming convention.
This is part of the preparation for a revised version of the
mcontext_t / sigcontext patch to be able to eliminate all 13 of the
miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
as at present (at least one further fix on top of this one will be
needed for that as well).
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21457]
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
(__ctxt): Likewise.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
Rename uc_pad to __glibc_reserved1.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
2017-08-09 19:51:26 +02:00
|
|
|
|
[BZ #21457]
|
|
|
|
|
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
|
__glibc_reserved1.
|
|
|
|
|
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
|
(__ctxt): Likewise.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
|
__glibc_reserved1.
|
|
|
|
|
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
|
__glibc_reserved1.
|
|
|
|
|
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
|
__glibc_reserved1.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
|
|
|
|
|
macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
|
|
|
|
|
undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
|
__glibc_reserved1.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
|
|
|
|
|
undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
|
|
|
|
|
undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
|
|
|
|
|
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
|
|
|
|
|
Rename uc_pad to __glibc_reserved1.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
|
|
|
|
|
undefine further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
|
|
|
|
|
further down.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
|
|
|
|
|
__ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
|
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
|
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
|
|
|
|
|
__ctx with uc_flags.
|
|
|
|
|
|
2017-08-09 17:46:04 +02:00
|
|
|
|
2017-08-09 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21932]
|
|
|
|
|
* nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put
|
|
|
|
|
before early return.
|
|
|
|
|
|
2017-08-09 10:36:08 +02:00
|
|
|
|
2017-08-09 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
2017-08-09 10:58:58 +02:00
|
|
|
|
[BZ #21041]
|
2017-08-09 10:36:08 +02:00
|
|
|
|
* sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to
|
|
|
|
|
renamed alias.
|
|
|
|
|
|
2017-08-09 10:58:58 +02:00
|
|
|
|
[BZ #21041]
|
2017-08-08 17:44:32 +02:00
|
|
|
|
* nptl/Makefile (tests) [$(build-shared) = yes]: Add
|
|
|
|
|
tst-compat-forwarder.
|
|
|
|
|
(modules-names): Add tst-compat-forwarder-mod.
|
|
|
|
|
($(objpfx)tst-compat-forwarder): Depend on
|
|
|
|
|
$(objpfx)tst-compat-forwarder-mod.so.
|
|
|
|
|
* nptl/tst-compat-forwarder.c: New file.
|
|
|
|
|
* nptl/tst-compat-forwarder-mod.c: New file.
|
|
|
|
|
|
aarch64: Optimized memcpy for Qualcomm Falkor processor
This is an optimized implementation of the memcpy routine that gives a
significant gain in performance for all sizes of copies on the
Qualcomm Falkor processor. A detailed rationale of the implementation
is written in a comment in the patch.
This implementation improves time for copies up to 128 bytes by up to
15% and for larger copies by up to 35% in the glibc
microbenchmark. The memcpy-random benchmark sees improvements in all
sizes in the range of 13%-18%.
Here are the full numbers extracted from the glibc microbenchmark
using the commands:
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-large.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-random.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic max-size
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: default
================================================================================
length=1,align1=0,align2=0: 33.59 (-115.00%) 15.62 (0.00%) 15.62
length=1,align1=0,align2=0: 16.41 (-10.53%) 14.06 (5.26%) 14.84
length=1,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=1: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=4,align1=0,align2=2: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=2: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=8,align1=0,align2=0: 14.84 (-5.56%) 13.28 (5.56%) 14.06
length=8,align1=3,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=3: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=3,align2=3: 13.28 (-6.25%) 13.28 (-6.25%) 12.50
length=16,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=16,align1=0,align2=4: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=4: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=32,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=32,align1=5,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=32,align1=0,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=32,align1=5,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=64,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=64,align1=6,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=64,align1=0,align2=6: 14.06 (5.26%) 14.06 (5.26%) 14.84
length=64,align1=6,align2=6: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=128,align1=0,align2=0: 17.19 (-4.76%) 14.84 (9.52%) 16.41
length=128,align1=7,align2=0: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=128,align1=0,align2=7: 16.41 (0.00%) 14.06 (14.29%) 16.41
length=128,align1=7,align2=7: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=256,align1=0,align2=0: 21.88 (-3.70%) 21.09 (0.00%) 21.09
length=256,align1=8,align2=0: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=256,align1=0,align2=8: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=256,align1=8,align2=8: 21.88 (-7.69%) 20.31 (0.00%) 20.31
length=512,align1=0,align2=0: 28.91 (-2.78%) 28.91 (-2.78%) 28.12
length=512,align1=9,align2=0: 30.47 (-2.63%) 30.47 (-2.63%) 29.69
length=512,align1=0,align2=9: 29.69 (0.00%) 29.69 (0.00%) 29.69
length=512,align1=9,align2=9: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=10,align2=0: 50.00 (0.00%) 50.00 (0.00%) 50.00
length=1024,align1=0,align2=10: 49.22 (1.56%) 50.78 (-1.56%) 50.00
length=1024,align1=10,align2=10: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=2048,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2048,align1=11,align2=0: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=0,align2=11: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=11,align2=11: 75.78 (0.00%) 75.78 (0.00%) 75.78
length=4096,align1=0,align2=0: 141.41 (-0.56%) 140.62 (0.00%) 140.62
length=4096,align1=12,align2=0: 171.09 (-0.46%) 170.31 (0.00%) 170.31
length=4096,align1=0,align2=12: 170.31 (0.00%) 170.31 (0.00%) 170.31
length=4096,align1=12,align2=12: 140.62 (0.00%) 140.62 (0.00%) 140.62
length=8192,align1=0,align2=0: 278.91 (-0.28%) 275.78 (0.84%) 278.12
length=8192,align1=13,align2=0: 338.28 (0.23%) 335.94 (0.92%) 339.06
length=8192,align1=0,align2=13: 338.28 (0.00%) 455.47 (-34.64%) 338.28
length=8192,align1=13,align2=13: 278.12 (-0.28%) 275.78 (0.56%) 277.34
length=16384,align1=0,align2=0: 535.94 (-0.15%) 531.25 (0.73%) 535.16
length=16384,align1=14,align2=0: 659.38 (0.12%) 659.38 (0.12%) 660.16
length=16384,align1=0,align2=14: 659.38 (0.00%) 657.03 (0.36%) 659.38
length=16384,align1=14,align2=14: 535.16 (0.44%) 532.81 (0.87%) 537.50
length=32768,align1=0,align2=0: 1260.94 (10.68%) 1121.88 (20.53%) 1411.72
length=32768,align1=15,align2=0: 1368.75 (10.02%) 1376.56 (9.50%) 1521.09
length=32768,align1=0,align2=15: 1333.59 (10.91%) 1373.44 (8.25%) 1496.88
length=32768,align1=15,align2=15: 1256.25 (13.96%) 1125.78 (22.90%) 1460.16
length=65536,align1=0,align2=0: 2853.91 (30.11%) 2589.06 (36.60%) 4083.59
length=65536,align1=16,align2=0: 2850.00 (30.14%) 2589.84 (36.52%) 4079.69
length=65536,align1=0,align2=16: 2853.12 (30.60%) 2589.84 (37.00%) 4110.94
length=65536,align1=16,align2=16: 2850.78 (30.07%) 2589.06 (36.49%) 4076.56
length=0,align1=0,align2=0: 15.62 (-5.26%) 16.41 (-10.53%) 14.84
length=0,align1=0,align2=0: 14.84 (-5.56%) 14.84 (-5.56%) 14.06
length=0,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=0,align1=0,align2=0: 16.41 (-16.67%) 14.84 (-5.56%) 14.06
length=1,align1=0,align2=0: 15.62 (4.76%) 15.62 (4.76%) 16.41
length=1,align1=1,align2=0: 15.62 (0.00%) 14.84 (5.00%) 15.62
length=1,align1=0,align2=1: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=1,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=2,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=2: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=2,align1=2,align2=2: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=3,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=3,align1=3,align2=0: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=3,align1=0,align2=3: 15.62 (-11.11%) 14.06 (0.00%) 14.06
length=3,align1=3,align2=3: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=4,align1=0,align2=0: 17.97 (-27.78%) 14.06 (0.00%) 14.06
length=4,align1=4,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=4: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=4,align1=4,align2=4: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=0,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=5,align1=0,align2=5: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=5: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=0,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=6,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=6,align1=0,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=6,align1=6,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=7,align1=0,align2=0: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=7,align1=7,align2=0: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=7,align1=0,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=7,align1=7,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=8,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=8: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=8: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=9,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=9: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=9,align1=9,align2=9: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=0,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=10,align1=10,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=10,align1=0,align2=10: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=10,align2=10: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=11,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=0,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=12: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=12: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=13,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=0,align2=13: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=13: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=14,align1=0,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=15,align1=0,align2=15: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=15: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=16,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=16,align1=0,align2=16: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=16: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=17,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=17,align1=17,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=17,align1=0,align2=17: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=17,align1=17,align2=17: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=18,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=18,align1=18,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=18,align1=0,align2=18: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=18,align1=18,align2=18: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=19,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=19,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=0,align2=19: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=19,align1=19,align2=19: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=0,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=20,align1=0,align2=20: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=20: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=21,align1=0,align2=0: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=21,align1=21,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=21,align1=0,align2=21: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=21,align1=21,align2=21: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=22,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=22,align1=22,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=22,align1=0,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=22,align1=22,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=23,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=23,align1=0,align2=23: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=23: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=24,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=24,align1=0,align2=24: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=24: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=25,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=25,align1=0,align2=25: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=25: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=26,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=26,align1=0,align2=26: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=26: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=27,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=0,align2=27: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=27: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=28,align1=28,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=28: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=28,align2=28: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=29,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=29,align1=29,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=29,align1=0,align2=29: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=29,align1=29,align2=29: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=30: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=30: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=0,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=31,align1=0,align2=31: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=31: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=48,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=3,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=0,align2=3: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=48,align1=3,align2=3: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=80,align1=0,align2=0: 15.62 (-11.11%) 14.84 (-5.56%) 14.06
length=80,align1=5,align2=0: 15.62 (-11.11%) 16.41 (-16.67%) 14.06
length=80,align1=0,align2=5: 14.06 (0.00%) 15.62 (-11.11%) 14.06
length=80,align1=5,align2=5: 15.62 (-5.26%) 17.19 (-15.79%) 14.84
length=96,align1=0,align2=0: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=0: 14.84 (-5.56%) 16.41 (-16.67%) 14.06
length=96,align1=0,align2=6: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=6: 14.84 (-5.56%) 17.19 (-22.22%) 14.06
length=112,align1=0,align2=0: 17.19 (-4.76%) 14.06 (14.29%) 16.41
length=112,align1=7,align2=0: 17.19 (0.00%) 16.41 (4.55%) 17.19
length=112,align1=0,align2=7: 16.41 (0.00%) 14.84 (9.52%) 16.41
length=112,align1=7,align2=7: 17.19 (0.00%) 17.19 (0.00%) 17.19
length=144,align1=0,align2=0: 17.19 (-10.00%) 17.97 (-15.00%) 15.62
length=144,align1=9,align2=0: 17.19 (-4.76%) 18.75 (-14.29%) 16.41
length=144,align1=0,align2=9: 20.31 (-8.33%) 18.75 (0.00%) 18.75
length=144,align1=9,align2=9: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=160,align1=0,align2=0: 18.75 (-4.35%) 17.97 (0.00%) 17.97
length=160,align1=10,align2=0: 18.75 (4.00%) 18.75 (4.00%) 19.53
length=160,align1=0,align2=10: 19.53 (-4.17%) 17.97 (4.17%) 18.75
length=160,align1=10,align2=10: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=176,align1=0,align2=0: 18.75 (-4.35%) 17.19 (4.35%) 17.97
length=176,align1=11,align2=0: 19.53 (0.00%) 19.53 (0.00%) 19.53
length=176,align1=0,align2=11: 19.53 (-4.17%) 18.75 (0.00%) 18.75
length=176,align1=11,align2=11: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=0,align2=0: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=12,align2=0: 21.09 (-8.00%) 18.75 (4.00%) 19.53
length=192,align1=0,align2=12: 18.75 (0.00%) 18.75 (0.00%) 18.75
length=192,align1=12,align2=12: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=208,align1=0,align2=0: 17.97 (0.00%) 20.31 (-13.04%) 17.97
length=208,align1=13,align2=0: 19.53 (7.41%) 21.09 (0.00%) 21.09
length=208,align1=0,align2=13: 23.44 (-11.11%) 21.09 (0.00%) 21.09
length=208,align1=13,align2=13: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=224,align1=0,align2=0: 21.09 (-8.00%) 20.31 (-4.00%) 19.53
length=224,align1=14,align2=0: 23.44 (-11.11%) 20.31 (3.70%) 21.09
length=224,align1=0,align2=14: 21.09 (3.57%) 20.31 (7.14%) 21.88
length=224,align1=14,align2=14: 20.31 (0.00%) 19.53 (3.85%) 20.31
length=240,align1=0,align2=0: 20.31 (-4.00%) 19.53 (0.00%) 19.53
length=240,align1=15,align2=0: 22.66 (0.00%) 20.31 (10.34%) 22.66
length=240,align1=0,align2=15: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=240,align1=15,align2=15: 21.88 (0.00%) 21.09 (3.57%) 21.88
length=272,align1=0,align2=0: 20.31 (0.00%) 28.12 (-38.46%) 20.31
length=272,align1=17,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=272,align1=0,align2=17: 25.78 (-10.00%) 28.12 (-20.00%) 23.44
length=272,align1=17,align2=17: 22.66 (-3.57%) 27.34 (-25.00%) 21.88
length=288,align1=0,align2=0: 23.44 (-7.14%) 27.34 (-25.00%) 21.88
length=288,align1=18,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=288,align1=0,align2=18: 23.44 (-3.45%) 25.00 (-10.35%) 22.66
length=288,align1=18,align2=18: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=304,align1=0,align2=0: 21.88 (0.00%) 21.88 (0.00%) 21.88
length=304,align1=19,align2=0: 23.44 (-3.45%) 22.66 (0.00%) 22.66
length=304,align1=0,align2=19: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=304,align1=19,align2=19: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=0,align2=0: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=20,align2=0: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=0,align2=20: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=20,align2=20: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=336,align1=0,align2=0: 21.88 (0.00%) 24.22 (-10.71%) 21.88
length=336,align1=21,align2=0: 22.66 (0.00%) 25.00 (-10.35%) 22.66
length=336,align1=0,align2=21: 25.78 (0.00%) 25.00 (3.03%) 25.78
length=336,align1=21,align2=21: 25.00 (0.00%) 23.44 (6.25%) 25.00
length=352,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=352,align1=22,align2=0: 25.00 (0.00%) 25.00 (0.00%) 25.00
length=352,align1=0,align2=22: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=352,align1=22,align2=22: 25.00 (-3.23%) 24.22 (0.00%) 24.22
length=368,align1=0,align2=0: 25.00 (-3.23%) 23.44 (3.23%) 24.22
length=368,align1=23,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=368,align1=0,align2=23: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=368,align1=23,align2=23: 25.00 (-6.67%) 23.44 (0.00%) 23.44
length=384,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=384,align1=24,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=384,align1=0,align2=24: 25.00 (0.00%) 25.78 (-3.12%) 25.00
length=384,align1=24,align2=24: 24.22 (-3.33%) 23.44 (0.00%) 23.44
length=400,align1=0,align2=0: 25.00 (-3.23%) 26.56 (-9.68%) 24.22
length=400,align1=25,align2=0: 25.78 (-3.12%) 27.34 (-9.38%) 25.00
length=400,align1=0,align2=25: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=400,align1=25,align2=25: 26.56 (0.00%) 25.78 (2.94%) 26.56
length=416,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=416,align1=26,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=416,align1=0,align2=26: 27.34 (-2.94%) 28.12 (-5.88%) 26.56
length=416,align1=26,align2=26: 25.78 (0.00%) 26.56 (-3.03%) 25.78
length=432,align1=0,align2=0: 27.34 (-2.94%) 25.78 (2.94%) 26.56
length=432,align1=27,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=432,align1=0,align2=27: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=432,align1=27,align2=27: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=448,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=448,align1=28,align2=0: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=448,align1=0,align2=28: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=448,align1=28,align2=28: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=464,align1=0,align2=0: 25.78 (0.00%) 28.12 (-9.09%) 25.78
length=464,align1=29,align2=0: 28.12 (-2.86%) 29.69 (-8.57%) 27.34
length=464,align1=0,align2=29: 30.47 (0.00%) 30.47 (0.00%) 30.47
length=464,align1=29,align2=29: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=480,align1=0,align2=0: 29.69 (-5.56%) 28.12 (0.00%) 28.12
length=480,align1=30,align2=0: 31.25 (-2.56%) 29.69 (2.56%) 30.47
length=480,align1=0,align2=30: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=480,align1=30,align2=30: 28.12 (0.00%) 28.12 (0.00%) 28.12
length=496,align1=0,align2=0: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=496,align1=31,align2=0: 30.47 (-2.63%) 29.69 (0.00%) 29.69
length=496,align1=0,align2=31: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=496,align1=31,align2=31: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=32,align2=0: 44.53 (-1.79%) 44.53 (-1.79%) 43.75
length=1024,align1=0,align2=32: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=1024,align1=32,align2=32: 43.75 (1.75%) 43.75 (1.75%) 44.53
length=1056,align1=0,align2=0: 46.88 (-1.69%) 46.88 (-1.69%) 46.09
length=1056,align1=33,align2=0: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1056,align1=0,align2=33: 52.34 (0.00%) 53.12 (-1.49%) 52.34
length=1056,align1=33,align2=33: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1088,align1=0,align2=0: 46.88 (-1.69%) 46.09 (0.00%) 46.09
length=1088,align1=34,align2=0: 52.34 (0.00%) 52.34 (0.00%) 52.34
length=1088,align1=0,align2=34: 53.12 (-3.03%) 53.12 (-3.03%) 51.56
length=1088,align1=34,align2=34: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1120,align1=0,align2=0: 49.22 (-1.61%) 48.44 (0.00%) 48.44
length=1120,align1=35,align2=0: 54.69 (1.41%) 55.47 (0.00%) 55.47
length=1120,align1=0,align2=35: 57.03 (0.00%) 55.47 (2.74%) 57.03
length=1120,align1=35,align2=35: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1152,align1=0,align2=0: 47.66 (1.61%) 48.44 (0.00%) 48.44
length=1152,align1=36,align2=0: 55.47 (-1.43%) 55.47 (-1.43%) 54.69
length=1152,align1=0,align2=36: 58.59 (-1.35%) 55.47 (4.05%) 57.81
length=1152,align1=36,align2=36: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1184,align1=0,align2=0: 53.12 (-3.03%) 50.78 (1.52%) 51.56
length=1184,align1=37,align2=0: 61.72 (-2.60%) 57.03 (5.19%) 60.16
length=1184,align1=0,align2=37: 62.50 (-1.27%) 57.03 (7.60%) 61.72
length=1184,align1=37,align2=37: 53.12 (-1.49%) 50.78 (2.99%) 52.34
length=1216,align1=0,align2=0: 53.91 (-4.55%) 50.78 (1.52%) 51.56
length=1216,align1=38,align2=0: 60.94 (0.00%) 57.03 (6.41%) 60.94
length=1216,align1=0,align2=38: 60.16 (0.00%) 57.81 (3.90%) 60.16
length=1216,align1=38,align2=38: 52.34 (-1.52%) 50.00 (3.03%) 51.56
length=1248,align1=0,align2=0: 54.69 (-2.94%) 53.12 (0.00%) 53.12
length=1248,align1=39,align2=0: 64.06 (-1.23%) 60.16 (4.94%) 63.28
length=1248,align1=0,align2=39: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1248,align1=39,align2=39: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1280,align1=0,align2=0: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1280,align1=40,align2=0: 61.72 (3.66%) 59.38 (7.32%) 64.06
length=1280,align1=0,align2=40: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1280,align1=40,align2=40: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1312,align1=0,align2=0: 54.69 (-1.45%) 55.47 (-2.90%) 53.91
length=1312,align1=41,align2=0: 63.28 (0.00%) 62.50 (1.23%) 63.28
length=1312,align1=0,align2=41: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1312,align1=41,align2=41: 53.91 (0.00%) 54.69 (-1.45%) 53.91
length=1344,align1=0,align2=0: 54.69 (0.00%) 54.69 (0.00%) 54.69
length=1344,align1=42,align2=0: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1344,align1=0,align2=42: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1344,align1=42,align2=42: 53.91 (0.00%) 53.91 (0.00%) 53.91
length=1376,align1=0,align2=0: 65.62 (-16.67%) 68.75 (-22.22%) 56.25
length=1376,align1=43,align2=0: 71.88 (-9.52%) 73.44 (-11.90%) 65.62
length=1376,align1=0,align2=43: 72.66 (-12.05%) 74.22 (-14.46%) 64.84
length=1376,align1=43,align2=43: 64.06 (-13.89%) 67.97 (-20.83%) 56.25
length=1408,align1=0,align2=0: 57.03 (-1.39%) 68.75 (-22.22%) 56.25
length=1408,align1=44,align2=0: 65.62 (-1.20%) 73.44 (-13.25%) 64.84
length=1408,align1=0,align2=44: 64.84 (0.00%) 74.22 (-14.46%) 64.84
length=1408,align1=44,align2=44: 56.25 (-1.41%) 68.75 (-23.94%) 55.47
length=1440,align1=0,align2=0: 67.97 (-14.47%) 64.84 (-9.21%) 59.38
length=1440,align1=45,align2=0: 74.22 (-10.47%) 68.75 (-2.33%) 67.19
length=1440,align1=0,align2=45: 72.66 (-6.90%) 69.53 (-2.30%) 67.97
length=1440,align1=45,align2=45: 65.62 (-13.51%) 58.59 (-1.35%) 57.81
length=1472,align1=0,align2=0: 66.41 (-14.86%) 58.59 (-1.35%) 57.81
length=1472,align1=46,align2=0: 73.44 (-9.30%) 67.19 (0.00%) 67.19
length=1472,align1=0,align2=46: 70.31 (-4.65%) 67.97 (-1.16%) 67.19
length=1472,align1=46,align2=46: 57.81 (0.00%) 58.59 (-1.35%) 57.81
length=1504,align1=0,align2=0: 60.94 (0.00%) 60.94 (0.00%) 60.94
length=1504,align1=47,align2=0: 71.09 (-1.11%) 70.31 (0.00%) 70.31
length=1504,align1=0,align2=47: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1504,align1=47,align2=47: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=0: 62.50 (-3.90%) 60.16 (0.00%) 60.16
length=1536,align1=48,align2=0: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=48: 61.72 (-3.95%) 60.16 (-1.32%) 59.38
length=1536,align1=48,align2=48: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1568,align1=0,align2=0: 80.47 (-27.16%) 63.28 (0.00%) 63.28
length=1568,align1=49,align2=0: 86.72 (-18.09%) 72.66 (1.06%) 73.44
length=1568,align1=0,align2=49: 74.22 (-3.26%) 74.22 (-3.26%) 71.88
length=1568,align1=49,align2=49: 62.50 (0.00%) 61.72 (1.25%) 62.50
length=1600,align1=0,align2=0: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1600,align1=50,align2=0: 73.44 (0.00%) 71.88 (2.13%) 73.44
length=1600,align1=0,align2=50: 72.66 (0.00%) 73.44 (-1.08%) 72.66
length=1600,align1=50,align2=50: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1632,align1=0,align2=0: 64.84 (0.00%) 64.84 (0.00%) 64.84
length=1632,align1=51,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1632,align1=0,align2=51: 78.91 (0.00%) 75.78 (3.96%) 78.91
length=1632,align1=51,align2=51: 64.84 (-2.47%) 64.84 (-2.47%) 63.28
length=1664,align1=0,align2=0: 64.84 (-1.22%) 64.84 (-1.22%) 64.06
length=1664,align1=52,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1664,align1=0,align2=52: 80.47 (-0.98%) 75.78 (4.90%) 79.69
length=1664,align1=52,align2=52: 64.06 (-1.23%) 65.62 (-3.70%) 63.28
length=1696,align1=0,align2=0: 69.53 (-3.49%) 72.66 (-8.14%) 67.19
length=1696,align1=53,align2=0: 80.47 (-0.98%) 82.03 (-2.94%) 79.69
length=1696,align1=0,align2=53: 80.47 (0.96%) 82.03 (-0.96%) 81.25
length=1696,align1=53,align2=53: 68.75 (-2.33%) 72.66 (-8.14%) 67.19
length=1728,align1=0,align2=0: 67.97 (0.00%) 72.66 (-6.90%) 67.97
length=1728,align1=54,align2=0: 80.47 (-0.98%) 82.81 (-3.92%) 79.69
length=1728,align1=0,align2=54: 78.91 (-1.00%) 82.03 (-5.00%) 78.12
length=1728,align1=54,align2=54: 68.75 (0.00%) 72.66 (-5.68%) 68.75
length=1760,align1=0,align2=0: 77.34 (-12.50%) 68.75 (0.00%) 68.75
length=1760,align1=55,align2=0: 91.41 (-8.33%) 79.69 (5.56%) 84.38
length=1760,align1=0,align2=55: 88.28 (-10.78%) 80.47 (-0.98%) 79.69
length=1760,align1=55,align2=55: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1792,align1=0,align2=0: 78.12 (-14.94%) 68.75 (-1.15%) 67.97
length=1792,align1=56,align2=0: 88.28 (-4.63%) 79.69 (5.56%) 84.38
length=1792,align1=0,align2=56: 88.28 (-9.71%) 80.47 (0.00%) 80.47
length=1792,align1=56,align2=56: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1824,align1=0,align2=0: 72.66 (7.92%) 70.31 (10.89%) 78.91
length=1824,align1=57,align2=0: 85.94 (5.17%) 82.03 (9.48%) 90.62
length=1824,align1=0,align2=57: 82.03 (3.67%) 82.81 (2.75%) 85.16
length=1824,align1=57,align2=57: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=0,align2=0: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=58,align2=0: 83.59 (-0.94%) 82.03 (0.94%) 82.81
length=1856,align1=0,align2=58: 178.12 (-115.09%) 82.81 (0.00%) 82.81
length=1856,align1=58,align2=58: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1888,align1=0,align2=0: 73.44 (-1.08%) 78.91 (-8.60%) 72.66
length=1888,align1=59,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1888,align1=0,align2=59: 84.38 (0.00%) 89.06 (-5.56%) 84.38
length=1888,align1=59,align2=59: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=0,align2=0: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=60,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1920,align1=0,align2=60: 85.16 (0.00%) 89.06 (-4.59%) 85.16
length=1920,align1=60,align2=60: 72.66 (-1.09%) 78.91 (-9.78%) 71.88
length=1952,align1=0,align2=0: 75.00 (-1.05%) 75.00 (-1.05%) 74.22
length=1952,align1=61,align2=0: 88.28 (0.00%) 87.50 (0.88%) 88.28
length=1952,align1=0,align2=61: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1952,align1=61,align2=61: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=1984,align1=0,align2=0: 75.00 (-1.05%) 73.44 (1.05%) 74.22
length=1984,align1=62,align2=0: 89.06 (-0.89%) 87.50 (0.88%) 88.28
length=1984,align1=0,align2=62: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1984,align1=62,align2=62: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=2016,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2016,align1=63,align2=0: 91.41 (-0.86%) 90.62 (0.00%) 90.62
length=2016,align1=0,align2=63: 89.84 (0.00%) 90.62 (-0.87%) 89.84
length=2016,align1=63,align2=63: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=4096,align1=0,align2=0: 141.41 (-0.56%) 146.88 (-4.44%) 140.62
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: large
================================================================================
length=65543,align1=0,align2=0: 4018.75 (3.09%) 2634.38 (36.47%) 4146.88
length=65551,align1=0,align2=3: 4425.00 (-6.47%) 3134.38 (24.59%) 4156.25
length=65567,align1=3,align2=0: 2909.38 (29.95%) 3134.38 (24.53%) 4153.12
length=65599,align1=3,align2=5: 4415.62 (-6.16%) 3134.38 (24.64%) 4159.38
length=131079,align1=0,align2=0: 5765.62 (30.38%) 5240.62 (36.72%) 8281.25
length=131087,align1=0,align2=3: 8831.25 (-6.56%) 6271.88 (24.32%) 8287.50
length=131103,align1=3,align2=0: 5793.75 (29.05%) 6268.75 (23.23%) 8165.62
length=131135,align1=3,align2=5: 5806.25 (29.97%) 6259.38 (24.50%) 8290.62
length=262151,align1=0,align2=0: 11850.00 (28.91%) 10762.50 (35.43%) 16668.80
length=262159,align1=0,align2=3: 12043.80 (27.72%) 12700.00 (23.78%) 16662.50
length=262175,align1=3,align2=0: 12046.90 (27.90%) 12687.50 (24.07%) 16709.40
length=262207,align1=3,align2=5: 11984.40 (28.08%) 12678.10 (23.91%) 16662.50
length=524295,align1=0,align2=0: 24825.00 (25.00%) 24268.80 (27.34%) 33400.00
length=524303,align1=0,align2=3: 35731.20 (-6.53%) 25678.10 (23.44%) 33540.60
length=524319,align1=3,align2=0: 25893.80 (22.71%) 25725.00 (23.22%) 33503.10
length=524351,align1=3,align2=5: 25887.50 (22.86%) 25690.60 (23.45%) 33559.40
length=1048583,align1=0,align2=0: 50621.90 (0.30%) 50600.00 (0.34%) 50771.90
length=1048591,align1=0,align2=3: 53206.20 (0.54%) 51081.20 (4.51%) 53493.80
length=1048607,align1=3,align2=0: 53221.90 (0.32%) 51975.00 (2.66%) 53393.80
length=1048639,align1=3,align2=5: 53240.60 (0.36%) 51953.10 (2.77%) 53431.20
length=2097159,align1=0,align2=0: 103744.00 (-2.00%) 102447.00 (-1.00%) 102425.00
length=2097167,align1=0,align2=3: 108588.00 (-1.00%) 105159.00 (2.00%) 107606.00
length=2097183,align1=3,align2=0: 107678.00 (0.00%) 105250.00 (2.00%) 108125.00
length=2097215,align1=3,align2=5: 107906.00 (1.00%) 105841.00 (3.00%) 109475.00
length=4194311,align1=0,align2=0: 202994.00 (0.00%) 202500.00 (1.00%) 204809.00
length=4194319,align1=0,align2=3: 213350.00 (0.00%) 205997.00 (3.00%) 213384.00
length=4194335,align1=3,align2=0: 212653.00 (0.00%) 206444.00 (3.00%) 212900.00
length=4194367,align1=3,align2=5: 213044.00 (0.00%) 206084.00 (3.00%) 213847.00
length=8388615,align1=0,align2=0: 401294.00 (0.00%) 401231.00 (0.00%) 401944.00
length=8388623,align1=0,align2=3: 480872.00 (-14.00%) 406444.00 (3.00%) 422900.00
length=8388639,align1=3,align2=0: 422147.00 (0.00%) 407750.00 (3.00%) 422803.00
length=8388671,align1=3,align2=5: 442003.00 (-5.00%) 407125.00 (3.00%) 423509.00
length=16777223,align1=0,align2=0: 799809.00 (0.00%) 800000.00 (0.00%) 801756.00
length=16777231,align1=0,align2=3: 841184.00 (0.00%) 808525.00 (4.00%) 843775.00
length=16777247,align1=3,align2=0: 841166.00 (0.00%) 810147.00 (3.00%) 843147.00
length=16777279,align1=3,align2=5: 972569.00 (-16.00%) 808588.00 (4.00%) 843731.00
length=33554439,align1=0,align2=0: 1842240.00 (-0.01%) 1863590.00 (-1.17%) 1841990.00
length=33554447,align1=0,align2=3: 2103470.00 (-2.74%) 1919460.00 (6.25%) 2047440.00
length=33554463,align1=3,align2=0: 2075690.00 (-1.07%) 1930040.00 (6.02%) 2053720.00
length=33554495,align1=3,align2=5: 2110590.00 (-2.82%) 1924440.00 (6.25%) 2052650.00
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: random
================================================================================
max-size=4096: 44061.90 (5.85%) 38568.20 (17.59%) 46799.90
max-size=8192: 42790.90 (5.27%) 38158.90 (15.52%) 45171.50
max-size=16384: 44912.10 (2.25%) 38710.40 (15.75%) 45945.00
max-size=32768: 43577.90 (1.23%) 37975.10 (13.93%) 44120.00
max-size=65536: 44375.50 (1.04%) 38474.20 (14.20%) 44840.60
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
memcpy_falkor.
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
Bump.
(__libc_ifunc_impl_list): Add __memcpy_falkor.
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add falkor.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
New macro.
2017-08-09 03:02:17 +02:00
|
|
|
|
2017-08-09 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
2017-08-09 09:27:17 +02:00
|
|
|
|
* sysdeps/aarch64/multiarch/memcpy_falkor.S: Fix code style in
|
|
|
|
|
comments.
|
|
|
|
|
|
aarch64: Optimized memcpy for Qualcomm Falkor processor
This is an optimized implementation of the memcpy routine that gives a
significant gain in performance for all sizes of copies on the
Qualcomm Falkor processor. A detailed rationale of the implementation
is written in a comment in the patch.
This implementation improves time for copies up to 128 bytes by up to
15% and for larger copies by up to 35% in the glibc
microbenchmark. The memcpy-random benchmark sees improvements in all
sizes in the range of 13%-18%.
Here are the full numbers extracted from the glibc microbenchmark
using the commands:
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-large.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-random.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic max-size
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: default
================================================================================
length=1,align1=0,align2=0: 33.59 (-115.00%) 15.62 (0.00%) 15.62
length=1,align1=0,align2=0: 16.41 (-10.53%) 14.06 (5.26%) 14.84
length=1,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=1: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=4,align1=0,align2=2: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=2: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=8,align1=0,align2=0: 14.84 (-5.56%) 13.28 (5.56%) 14.06
length=8,align1=3,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=3: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=3,align2=3: 13.28 (-6.25%) 13.28 (-6.25%) 12.50
length=16,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=16,align1=0,align2=4: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=4: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=32,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=32,align1=5,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=32,align1=0,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=32,align1=5,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=64,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=64,align1=6,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=64,align1=0,align2=6: 14.06 (5.26%) 14.06 (5.26%) 14.84
length=64,align1=6,align2=6: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=128,align1=0,align2=0: 17.19 (-4.76%) 14.84 (9.52%) 16.41
length=128,align1=7,align2=0: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=128,align1=0,align2=7: 16.41 (0.00%) 14.06 (14.29%) 16.41
length=128,align1=7,align2=7: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=256,align1=0,align2=0: 21.88 (-3.70%) 21.09 (0.00%) 21.09
length=256,align1=8,align2=0: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=256,align1=0,align2=8: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=256,align1=8,align2=8: 21.88 (-7.69%) 20.31 (0.00%) 20.31
length=512,align1=0,align2=0: 28.91 (-2.78%) 28.91 (-2.78%) 28.12
length=512,align1=9,align2=0: 30.47 (-2.63%) 30.47 (-2.63%) 29.69
length=512,align1=0,align2=9: 29.69 (0.00%) 29.69 (0.00%) 29.69
length=512,align1=9,align2=9: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=10,align2=0: 50.00 (0.00%) 50.00 (0.00%) 50.00
length=1024,align1=0,align2=10: 49.22 (1.56%) 50.78 (-1.56%) 50.00
length=1024,align1=10,align2=10: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=2048,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2048,align1=11,align2=0: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=0,align2=11: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=11,align2=11: 75.78 (0.00%) 75.78 (0.00%) 75.78
length=4096,align1=0,align2=0: 141.41 (-0.56%) 140.62 (0.00%) 140.62
length=4096,align1=12,align2=0: 171.09 (-0.46%) 170.31 (0.00%) 170.31
length=4096,align1=0,align2=12: 170.31 (0.00%) 170.31 (0.00%) 170.31
length=4096,align1=12,align2=12: 140.62 (0.00%) 140.62 (0.00%) 140.62
length=8192,align1=0,align2=0: 278.91 (-0.28%) 275.78 (0.84%) 278.12
length=8192,align1=13,align2=0: 338.28 (0.23%) 335.94 (0.92%) 339.06
length=8192,align1=0,align2=13: 338.28 (0.00%) 455.47 (-34.64%) 338.28
length=8192,align1=13,align2=13: 278.12 (-0.28%) 275.78 (0.56%) 277.34
length=16384,align1=0,align2=0: 535.94 (-0.15%) 531.25 (0.73%) 535.16
length=16384,align1=14,align2=0: 659.38 (0.12%) 659.38 (0.12%) 660.16
length=16384,align1=0,align2=14: 659.38 (0.00%) 657.03 (0.36%) 659.38
length=16384,align1=14,align2=14: 535.16 (0.44%) 532.81 (0.87%) 537.50
length=32768,align1=0,align2=0: 1260.94 (10.68%) 1121.88 (20.53%) 1411.72
length=32768,align1=15,align2=0: 1368.75 (10.02%) 1376.56 (9.50%) 1521.09
length=32768,align1=0,align2=15: 1333.59 (10.91%) 1373.44 (8.25%) 1496.88
length=32768,align1=15,align2=15: 1256.25 (13.96%) 1125.78 (22.90%) 1460.16
length=65536,align1=0,align2=0: 2853.91 (30.11%) 2589.06 (36.60%) 4083.59
length=65536,align1=16,align2=0: 2850.00 (30.14%) 2589.84 (36.52%) 4079.69
length=65536,align1=0,align2=16: 2853.12 (30.60%) 2589.84 (37.00%) 4110.94
length=65536,align1=16,align2=16: 2850.78 (30.07%) 2589.06 (36.49%) 4076.56
length=0,align1=0,align2=0: 15.62 (-5.26%) 16.41 (-10.53%) 14.84
length=0,align1=0,align2=0: 14.84 (-5.56%) 14.84 (-5.56%) 14.06
length=0,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=0,align1=0,align2=0: 16.41 (-16.67%) 14.84 (-5.56%) 14.06
length=1,align1=0,align2=0: 15.62 (4.76%) 15.62 (4.76%) 16.41
length=1,align1=1,align2=0: 15.62 (0.00%) 14.84 (5.00%) 15.62
length=1,align1=0,align2=1: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=1,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=2,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=2: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=2,align1=2,align2=2: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=3,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=3,align1=3,align2=0: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=3,align1=0,align2=3: 15.62 (-11.11%) 14.06 (0.00%) 14.06
length=3,align1=3,align2=3: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=4,align1=0,align2=0: 17.97 (-27.78%) 14.06 (0.00%) 14.06
length=4,align1=4,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=4: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=4,align1=4,align2=4: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=0,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=5,align1=0,align2=5: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=5: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=0,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=6,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=6,align1=0,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=6,align1=6,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=7,align1=0,align2=0: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=7,align1=7,align2=0: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=7,align1=0,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=7,align1=7,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=8,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=8: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=8: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=9,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=9: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=9,align1=9,align2=9: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=0,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=10,align1=10,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=10,align1=0,align2=10: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=10,align2=10: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=11,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=0,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=12: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=12: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=13,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=0,align2=13: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=13: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=14,align1=0,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=15,align1=0,align2=15: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=15: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=16,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=16,align1=0,align2=16: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=16: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=17,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=17,align1=17,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=17,align1=0,align2=17: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=17,align1=17,align2=17: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=18,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=18,align1=18,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=18,align1=0,align2=18: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=18,align1=18,align2=18: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=19,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=19,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=0,align2=19: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=19,align1=19,align2=19: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=0,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=20,align1=0,align2=20: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=20: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=21,align1=0,align2=0: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=21,align1=21,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=21,align1=0,align2=21: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=21,align1=21,align2=21: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=22,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=22,align1=22,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=22,align1=0,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=22,align1=22,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=23,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=23,align1=0,align2=23: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=23: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=24,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=24,align1=0,align2=24: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=24: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=25,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=25,align1=0,align2=25: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=25: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=26,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=26,align1=0,align2=26: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=26: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=27,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=0,align2=27: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=27: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=28,align1=28,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=28: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=28,align2=28: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=29,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=29,align1=29,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=29,align1=0,align2=29: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=29,align1=29,align2=29: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=30: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=30: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=0,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=31,align1=0,align2=31: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=31: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=48,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=3,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=0,align2=3: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=48,align1=3,align2=3: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=80,align1=0,align2=0: 15.62 (-11.11%) 14.84 (-5.56%) 14.06
length=80,align1=5,align2=0: 15.62 (-11.11%) 16.41 (-16.67%) 14.06
length=80,align1=0,align2=5: 14.06 (0.00%) 15.62 (-11.11%) 14.06
length=80,align1=5,align2=5: 15.62 (-5.26%) 17.19 (-15.79%) 14.84
length=96,align1=0,align2=0: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=0: 14.84 (-5.56%) 16.41 (-16.67%) 14.06
length=96,align1=0,align2=6: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=6: 14.84 (-5.56%) 17.19 (-22.22%) 14.06
length=112,align1=0,align2=0: 17.19 (-4.76%) 14.06 (14.29%) 16.41
length=112,align1=7,align2=0: 17.19 (0.00%) 16.41 (4.55%) 17.19
length=112,align1=0,align2=7: 16.41 (0.00%) 14.84 (9.52%) 16.41
length=112,align1=7,align2=7: 17.19 (0.00%) 17.19 (0.00%) 17.19
length=144,align1=0,align2=0: 17.19 (-10.00%) 17.97 (-15.00%) 15.62
length=144,align1=9,align2=0: 17.19 (-4.76%) 18.75 (-14.29%) 16.41
length=144,align1=0,align2=9: 20.31 (-8.33%) 18.75 (0.00%) 18.75
length=144,align1=9,align2=9: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=160,align1=0,align2=0: 18.75 (-4.35%) 17.97 (0.00%) 17.97
length=160,align1=10,align2=0: 18.75 (4.00%) 18.75 (4.00%) 19.53
length=160,align1=0,align2=10: 19.53 (-4.17%) 17.97 (4.17%) 18.75
length=160,align1=10,align2=10: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=176,align1=0,align2=0: 18.75 (-4.35%) 17.19 (4.35%) 17.97
length=176,align1=11,align2=0: 19.53 (0.00%) 19.53 (0.00%) 19.53
length=176,align1=0,align2=11: 19.53 (-4.17%) 18.75 (0.00%) 18.75
length=176,align1=11,align2=11: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=0,align2=0: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=12,align2=0: 21.09 (-8.00%) 18.75 (4.00%) 19.53
length=192,align1=0,align2=12: 18.75 (0.00%) 18.75 (0.00%) 18.75
length=192,align1=12,align2=12: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=208,align1=0,align2=0: 17.97 (0.00%) 20.31 (-13.04%) 17.97
length=208,align1=13,align2=0: 19.53 (7.41%) 21.09 (0.00%) 21.09
length=208,align1=0,align2=13: 23.44 (-11.11%) 21.09 (0.00%) 21.09
length=208,align1=13,align2=13: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=224,align1=0,align2=0: 21.09 (-8.00%) 20.31 (-4.00%) 19.53
length=224,align1=14,align2=0: 23.44 (-11.11%) 20.31 (3.70%) 21.09
length=224,align1=0,align2=14: 21.09 (3.57%) 20.31 (7.14%) 21.88
length=224,align1=14,align2=14: 20.31 (0.00%) 19.53 (3.85%) 20.31
length=240,align1=0,align2=0: 20.31 (-4.00%) 19.53 (0.00%) 19.53
length=240,align1=15,align2=0: 22.66 (0.00%) 20.31 (10.34%) 22.66
length=240,align1=0,align2=15: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=240,align1=15,align2=15: 21.88 (0.00%) 21.09 (3.57%) 21.88
length=272,align1=0,align2=0: 20.31 (0.00%) 28.12 (-38.46%) 20.31
length=272,align1=17,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=272,align1=0,align2=17: 25.78 (-10.00%) 28.12 (-20.00%) 23.44
length=272,align1=17,align2=17: 22.66 (-3.57%) 27.34 (-25.00%) 21.88
length=288,align1=0,align2=0: 23.44 (-7.14%) 27.34 (-25.00%) 21.88
length=288,align1=18,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=288,align1=0,align2=18: 23.44 (-3.45%) 25.00 (-10.35%) 22.66
length=288,align1=18,align2=18: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=304,align1=0,align2=0: 21.88 (0.00%) 21.88 (0.00%) 21.88
length=304,align1=19,align2=0: 23.44 (-3.45%) 22.66 (0.00%) 22.66
length=304,align1=0,align2=19: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=304,align1=19,align2=19: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=0,align2=0: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=20,align2=0: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=0,align2=20: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=20,align2=20: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=336,align1=0,align2=0: 21.88 (0.00%) 24.22 (-10.71%) 21.88
length=336,align1=21,align2=0: 22.66 (0.00%) 25.00 (-10.35%) 22.66
length=336,align1=0,align2=21: 25.78 (0.00%) 25.00 (3.03%) 25.78
length=336,align1=21,align2=21: 25.00 (0.00%) 23.44 (6.25%) 25.00
length=352,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=352,align1=22,align2=0: 25.00 (0.00%) 25.00 (0.00%) 25.00
length=352,align1=0,align2=22: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=352,align1=22,align2=22: 25.00 (-3.23%) 24.22 (0.00%) 24.22
length=368,align1=0,align2=0: 25.00 (-3.23%) 23.44 (3.23%) 24.22
length=368,align1=23,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=368,align1=0,align2=23: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=368,align1=23,align2=23: 25.00 (-6.67%) 23.44 (0.00%) 23.44
length=384,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=384,align1=24,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=384,align1=0,align2=24: 25.00 (0.00%) 25.78 (-3.12%) 25.00
length=384,align1=24,align2=24: 24.22 (-3.33%) 23.44 (0.00%) 23.44
length=400,align1=0,align2=0: 25.00 (-3.23%) 26.56 (-9.68%) 24.22
length=400,align1=25,align2=0: 25.78 (-3.12%) 27.34 (-9.38%) 25.00
length=400,align1=0,align2=25: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=400,align1=25,align2=25: 26.56 (0.00%) 25.78 (2.94%) 26.56
length=416,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=416,align1=26,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=416,align1=0,align2=26: 27.34 (-2.94%) 28.12 (-5.88%) 26.56
length=416,align1=26,align2=26: 25.78 (0.00%) 26.56 (-3.03%) 25.78
length=432,align1=0,align2=0: 27.34 (-2.94%) 25.78 (2.94%) 26.56
length=432,align1=27,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=432,align1=0,align2=27: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=432,align1=27,align2=27: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=448,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=448,align1=28,align2=0: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=448,align1=0,align2=28: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=448,align1=28,align2=28: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=464,align1=0,align2=0: 25.78 (0.00%) 28.12 (-9.09%) 25.78
length=464,align1=29,align2=0: 28.12 (-2.86%) 29.69 (-8.57%) 27.34
length=464,align1=0,align2=29: 30.47 (0.00%) 30.47 (0.00%) 30.47
length=464,align1=29,align2=29: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=480,align1=0,align2=0: 29.69 (-5.56%) 28.12 (0.00%) 28.12
length=480,align1=30,align2=0: 31.25 (-2.56%) 29.69 (2.56%) 30.47
length=480,align1=0,align2=30: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=480,align1=30,align2=30: 28.12 (0.00%) 28.12 (0.00%) 28.12
length=496,align1=0,align2=0: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=496,align1=31,align2=0: 30.47 (-2.63%) 29.69 (0.00%) 29.69
length=496,align1=0,align2=31: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=496,align1=31,align2=31: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=32,align2=0: 44.53 (-1.79%) 44.53 (-1.79%) 43.75
length=1024,align1=0,align2=32: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=1024,align1=32,align2=32: 43.75 (1.75%) 43.75 (1.75%) 44.53
length=1056,align1=0,align2=0: 46.88 (-1.69%) 46.88 (-1.69%) 46.09
length=1056,align1=33,align2=0: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1056,align1=0,align2=33: 52.34 (0.00%) 53.12 (-1.49%) 52.34
length=1056,align1=33,align2=33: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1088,align1=0,align2=0: 46.88 (-1.69%) 46.09 (0.00%) 46.09
length=1088,align1=34,align2=0: 52.34 (0.00%) 52.34 (0.00%) 52.34
length=1088,align1=0,align2=34: 53.12 (-3.03%) 53.12 (-3.03%) 51.56
length=1088,align1=34,align2=34: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1120,align1=0,align2=0: 49.22 (-1.61%) 48.44 (0.00%) 48.44
length=1120,align1=35,align2=0: 54.69 (1.41%) 55.47 (0.00%) 55.47
length=1120,align1=0,align2=35: 57.03 (0.00%) 55.47 (2.74%) 57.03
length=1120,align1=35,align2=35: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1152,align1=0,align2=0: 47.66 (1.61%) 48.44 (0.00%) 48.44
length=1152,align1=36,align2=0: 55.47 (-1.43%) 55.47 (-1.43%) 54.69
length=1152,align1=0,align2=36: 58.59 (-1.35%) 55.47 (4.05%) 57.81
length=1152,align1=36,align2=36: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1184,align1=0,align2=0: 53.12 (-3.03%) 50.78 (1.52%) 51.56
length=1184,align1=37,align2=0: 61.72 (-2.60%) 57.03 (5.19%) 60.16
length=1184,align1=0,align2=37: 62.50 (-1.27%) 57.03 (7.60%) 61.72
length=1184,align1=37,align2=37: 53.12 (-1.49%) 50.78 (2.99%) 52.34
length=1216,align1=0,align2=0: 53.91 (-4.55%) 50.78 (1.52%) 51.56
length=1216,align1=38,align2=0: 60.94 (0.00%) 57.03 (6.41%) 60.94
length=1216,align1=0,align2=38: 60.16 (0.00%) 57.81 (3.90%) 60.16
length=1216,align1=38,align2=38: 52.34 (-1.52%) 50.00 (3.03%) 51.56
length=1248,align1=0,align2=0: 54.69 (-2.94%) 53.12 (0.00%) 53.12
length=1248,align1=39,align2=0: 64.06 (-1.23%) 60.16 (4.94%) 63.28
length=1248,align1=0,align2=39: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1248,align1=39,align2=39: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1280,align1=0,align2=0: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1280,align1=40,align2=0: 61.72 (3.66%) 59.38 (7.32%) 64.06
length=1280,align1=0,align2=40: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1280,align1=40,align2=40: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1312,align1=0,align2=0: 54.69 (-1.45%) 55.47 (-2.90%) 53.91
length=1312,align1=41,align2=0: 63.28 (0.00%) 62.50 (1.23%) 63.28
length=1312,align1=0,align2=41: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1312,align1=41,align2=41: 53.91 (0.00%) 54.69 (-1.45%) 53.91
length=1344,align1=0,align2=0: 54.69 (0.00%) 54.69 (0.00%) 54.69
length=1344,align1=42,align2=0: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1344,align1=0,align2=42: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1344,align1=42,align2=42: 53.91 (0.00%) 53.91 (0.00%) 53.91
length=1376,align1=0,align2=0: 65.62 (-16.67%) 68.75 (-22.22%) 56.25
length=1376,align1=43,align2=0: 71.88 (-9.52%) 73.44 (-11.90%) 65.62
length=1376,align1=0,align2=43: 72.66 (-12.05%) 74.22 (-14.46%) 64.84
length=1376,align1=43,align2=43: 64.06 (-13.89%) 67.97 (-20.83%) 56.25
length=1408,align1=0,align2=0: 57.03 (-1.39%) 68.75 (-22.22%) 56.25
length=1408,align1=44,align2=0: 65.62 (-1.20%) 73.44 (-13.25%) 64.84
length=1408,align1=0,align2=44: 64.84 (0.00%) 74.22 (-14.46%) 64.84
length=1408,align1=44,align2=44: 56.25 (-1.41%) 68.75 (-23.94%) 55.47
length=1440,align1=0,align2=0: 67.97 (-14.47%) 64.84 (-9.21%) 59.38
length=1440,align1=45,align2=0: 74.22 (-10.47%) 68.75 (-2.33%) 67.19
length=1440,align1=0,align2=45: 72.66 (-6.90%) 69.53 (-2.30%) 67.97
length=1440,align1=45,align2=45: 65.62 (-13.51%) 58.59 (-1.35%) 57.81
length=1472,align1=0,align2=0: 66.41 (-14.86%) 58.59 (-1.35%) 57.81
length=1472,align1=46,align2=0: 73.44 (-9.30%) 67.19 (0.00%) 67.19
length=1472,align1=0,align2=46: 70.31 (-4.65%) 67.97 (-1.16%) 67.19
length=1472,align1=46,align2=46: 57.81 (0.00%) 58.59 (-1.35%) 57.81
length=1504,align1=0,align2=0: 60.94 (0.00%) 60.94 (0.00%) 60.94
length=1504,align1=47,align2=0: 71.09 (-1.11%) 70.31 (0.00%) 70.31
length=1504,align1=0,align2=47: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1504,align1=47,align2=47: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=0: 62.50 (-3.90%) 60.16 (0.00%) 60.16
length=1536,align1=48,align2=0: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=48: 61.72 (-3.95%) 60.16 (-1.32%) 59.38
length=1536,align1=48,align2=48: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1568,align1=0,align2=0: 80.47 (-27.16%) 63.28 (0.00%) 63.28
length=1568,align1=49,align2=0: 86.72 (-18.09%) 72.66 (1.06%) 73.44
length=1568,align1=0,align2=49: 74.22 (-3.26%) 74.22 (-3.26%) 71.88
length=1568,align1=49,align2=49: 62.50 (0.00%) 61.72 (1.25%) 62.50
length=1600,align1=0,align2=0: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1600,align1=50,align2=0: 73.44 (0.00%) 71.88 (2.13%) 73.44
length=1600,align1=0,align2=50: 72.66 (0.00%) 73.44 (-1.08%) 72.66
length=1600,align1=50,align2=50: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1632,align1=0,align2=0: 64.84 (0.00%) 64.84 (0.00%) 64.84
length=1632,align1=51,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1632,align1=0,align2=51: 78.91 (0.00%) 75.78 (3.96%) 78.91
length=1632,align1=51,align2=51: 64.84 (-2.47%) 64.84 (-2.47%) 63.28
length=1664,align1=0,align2=0: 64.84 (-1.22%) 64.84 (-1.22%) 64.06
length=1664,align1=52,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1664,align1=0,align2=52: 80.47 (-0.98%) 75.78 (4.90%) 79.69
length=1664,align1=52,align2=52: 64.06 (-1.23%) 65.62 (-3.70%) 63.28
length=1696,align1=0,align2=0: 69.53 (-3.49%) 72.66 (-8.14%) 67.19
length=1696,align1=53,align2=0: 80.47 (-0.98%) 82.03 (-2.94%) 79.69
length=1696,align1=0,align2=53: 80.47 (0.96%) 82.03 (-0.96%) 81.25
length=1696,align1=53,align2=53: 68.75 (-2.33%) 72.66 (-8.14%) 67.19
length=1728,align1=0,align2=0: 67.97 (0.00%) 72.66 (-6.90%) 67.97
length=1728,align1=54,align2=0: 80.47 (-0.98%) 82.81 (-3.92%) 79.69
length=1728,align1=0,align2=54: 78.91 (-1.00%) 82.03 (-5.00%) 78.12
length=1728,align1=54,align2=54: 68.75 (0.00%) 72.66 (-5.68%) 68.75
length=1760,align1=0,align2=0: 77.34 (-12.50%) 68.75 (0.00%) 68.75
length=1760,align1=55,align2=0: 91.41 (-8.33%) 79.69 (5.56%) 84.38
length=1760,align1=0,align2=55: 88.28 (-10.78%) 80.47 (-0.98%) 79.69
length=1760,align1=55,align2=55: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1792,align1=0,align2=0: 78.12 (-14.94%) 68.75 (-1.15%) 67.97
length=1792,align1=56,align2=0: 88.28 (-4.63%) 79.69 (5.56%) 84.38
length=1792,align1=0,align2=56: 88.28 (-9.71%) 80.47 (0.00%) 80.47
length=1792,align1=56,align2=56: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1824,align1=0,align2=0: 72.66 (7.92%) 70.31 (10.89%) 78.91
length=1824,align1=57,align2=0: 85.94 (5.17%) 82.03 (9.48%) 90.62
length=1824,align1=0,align2=57: 82.03 (3.67%) 82.81 (2.75%) 85.16
length=1824,align1=57,align2=57: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=0,align2=0: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=58,align2=0: 83.59 (-0.94%) 82.03 (0.94%) 82.81
length=1856,align1=0,align2=58: 178.12 (-115.09%) 82.81 (0.00%) 82.81
length=1856,align1=58,align2=58: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1888,align1=0,align2=0: 73.44 (-1.08%) 78.91 (-8.60%) 72.66
length=1888,align1=59,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1888,align1=0,align2=59: 84.38 (0.00%) 89.06 (-5.56%) 84.38
length=1888,align1=59,align2=59: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=0,align2=0: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=60,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1920,align1=0,align2=60: 85.16 (0.00%) 89.06 (-4.59%) 85.16
length=1920,align1=60,align2=60: 72.66 (-1.09%) 78.91 (-9.78%) 71.88
length=1952,align1=0,align2=0: 75.00 (-1.05%) 75.00 (-1.05%) 74.22
length=1952,align1=61,align2=0: 88.28 (0.00%) 87.50 (0.88%) 88.28
length=1952,align1=0,align2=61: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1952,align1=61,align2=61: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=1984,align1=0,align2=0: 75.00 (-1.05%) 73.44 (1.05%) 74.22
length=1984,align1=62,align2=0: 89.06 (-0.89%) 87.50 (0.88%) 88.28
length=1984,align1=0,align2=62: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1984,align1=62,align2=62: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=2016,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2016,align1=63,align2=0: 91.41 (-0.86%) 90.62 (0.00%) 90.62
length=2016,align1=0,align2=63: 89.84 (0.00%) 90.62 (-0.87%) 89.84
length=2016,align1=63,align2=63: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=4096,align1=0,align2=0: 141.41 (-0.56%) 146.88 (-4.44%) 140.62
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: large
================================================================================
length=65543,align1=0,align2=0: 4018.75 (3.09%) 2634.38 (36.47%) 4146.88
length=65551,align1=0,align2=3: 4425.00 (-6.47%) 3134.38 (24.59%) 4156.25
length=65567,align1=3,align2=0: 2909.38 (29.95%) 3134.38 (24.53%) 4153.12
length=65599,align1=3,align2=5: 4415.62 (-6.16%) 3134.38 (24.64%) 4159.38
length=131079,align1=0,align2=0: 5765.62 (30.38%) 5240.62 (36.72%) 8281.25
length=131087,align1=0,align2=3: 8831.25 (-6.56%) 6271.88 (24.32%) 8287.50
length=131103,align1=3,align2=0: 5793.75 (29.05%) 6268.75 (23.23%) 8165.62
length=131135,align1=3,align2=5: 5806.25 (29.97%) 6259.38 (24.50%) 8290.62
length=262151,align1=0,align2=0: 11850.00 (28.91%) 10762.50 (35.43%) 16668.80
length=262159,align1=0,align2=3: 12043.80 (27.72%) 12700.00 (23.78%) 16662.50
length=262175,align1=3,align2=0: 12046.90 (27.90%) 12687.50 (24.07%) 16709.40
length=262207,align1=3,align2=5: 11984.40 (28.08%) 12678.10 (23.91%) 16662.50
length=524295,align1=0,align2=0: 24825.00 (25.00%) 24268.80 (27.34%) 33400.00
length=524303,align1=0,align2=3: 35731.20 (-6.53%) 25678.10 (23.44%) 33540.60
length=524319,align1=3,align2=0: 25893.80 (22.71%) 25725.00 (23.22%) 33503.10
length=524351,align1=3,align2=5: 25887.50 (22.86%) 25690.60 (23.45%) 33559.40
length=1048583,align1=0,align2=0: 50621.90 (0.30%) 50600.00 (0.34%) 50771.90
length=1048591,align1=0,align2=3: 53206.20 (0.54%) 51081.20 (4.51%) 53493.80
length=1048607,align1=3,align2=0: 53221.90 (0.32%) 51975.00 (2.66%) 53393.80
length=1048639,align1=3,align2=5: 53240.60 (0.36%) 51953.10 (2.77%) 53431.20
length=2097159,align1=0,align2=0: 103744.00 (-2.00%) 102447.00 (-1.00%) 102425.00
length=2097167,align1=0,align2=3: 108588.00 (-1.00%) 105159.00 (2.00%) 107606.00
length=2097183,align1=3,align2=0: 107678.00 (0.00%) 105250.00 (2.00%) 108125.00
length=2097215,align1=3,align2=5: 107906.00 (1.00%) 105841.00 (3.00%) 109475.00
length=4194311,align1=0,align2=0: 202994.00 (0.00%) 202500.00 (1.00%) 204809.00
length=4194319,align1=0,align2=3: 213350.00 (0.00%) 205997.00 (3.00%) 213384.00
length=4194335,align1=3,align2=0: 212653.00 (0.00%) 206444.00 (3.00%) 212900.00
length=4194367,align1=3,align2=5: 213044.00 (0.00%) 206084.00 (3.00%) 213847.00
length=8388615,align1=0,align2=0: 401294.00 (0.00%) 401231.00 (0.00%) 401944.00
length=8388623,align1=0,align2=3: 480872.00 (-14.00%) 406444.00 (3.00%) 422900.00
length=8388639,align1=3,align2=0: 422147.00 (0.00%) 407750.00 (3.00%) 422803.00
length=8388671,align1=3,align2=5: 442003.00 (-5.00%) 407125.00 (3.00%) 423509.00
length=16777223,align1=0,align2=0: 799809.00 (0.00%) 800000.00 (0.00%) 801756.00
length=16777231,align1=0,align2=3: 841184.00 (0.00%) 808525.00 (4.00%) 843775.00
length=16777247,align1=3,align2=0: 841166.00 (0.00%) 810147.00 (3.00%) 843147.00
length=16777279,align1=3,align2=5: 972569.00 (-16.00%) 808588.00 (4.00%) 843731.00
length=33554439,align1=0,align2=0: 1842240.00 (-0.01%) 1863590.00 (-1.17%) 1841990.00
length=33554447,align1=0,align2=3: 2103470.00 (-2.74%) 1919460.00 (6.25%) 2047440.00
length=33554463,align1=3,align2=0: 2075690.00 (-1.07%) 1930040.00 (6.02%) 2053720.00
length=33554495,align1=3,align2=5: 2110590.00 (-2.82%) 1924440.00 (6.25%) 2052650.00
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: random
================================================================================
max-size=4096: 44061.90 (5.85%) 38568.20 (17.59%) 46799.90
max-size=8192: 42790.90 (5.27%) 38158.90 (15.52%) 45171.50
max-size=16384: 44912.10 (2.25%) 38710.40 (15.75%) 45945.00
max-size=32768: 43577.90 (1.23%) 37975.10 (13.93%) 44120.00
max-size=65536: 44375.50 (1.04%) 38474.20 (14.20%) 44840.60
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
memcpy_falkor.
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
Bump.
(__libc_ifunc_impl_list): Add __memcpy_falkor.
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add falkor.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
New macro.
2017-08-09 03:02:17 +02:00
|
|
|
|
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
|
|
|
|
|
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
|
|
|
|
|
memcpy_falkor.
|
|
|
|
|
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
|
|
|
|
|
Bump.
|
|
|
|
|
(__libc_ifunc_impl_list): Add __memcpy_falkor.
|
|
|
|
|
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
|
|
|
|
|
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
|
|
|
|
|
Add falkor.
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
|
|
|
|
|
New macro.
|
|
|
|
|
|
manual: Document getcontext uc_stack value on Linux [BZ #759]
As decribed in BZ#759, Linux getcontext implementation on Linux does
differs from other SysV system about the returned uc_stack. This is
true not only for i386, but for all the architecture I could actually
check (aarch64, arm, alpha, hppa, m68k, mips, mips64, mips64n32,
powerpc, powerpc64, powerpc64le, s390x, sh, sparc, sparc64, and x86).
And I think we should not change current behavior for some reasons:
1. POSIX 2008 removed this SySV interface for a good reason and changing
this behavior adds nothing for current portable code. POSIX 2001
specification does states that stack should be saved [1] and current
GLIBC code does in a arch-specific manner (inside the mcontext_t)
which allows the setcontext to work correctly.
2. Changing this behavior would potentially require compat symbols and
I see no gain in adding compat symbols for deprecated interfaces.
3. Also, for comment #2 in BZ#759, it is up to kernel do setup the contents
for ucontext_t and currently it does not provide the stack information
as well. Trying to change it is also another fix that does not worth
the possible gains.
Instead my proposal is to make it clear the current interface may differ
depending of the underlying operational system.
glibc documentation and close this bug as invalid.
[BZ #759]
* manual/setjmp.texi (getcontex): Document uc_stack value on Linux.
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/getcontext.html
2017-05-16 21:05:35 +02:00
|
|
|
|
2017-08-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
[BZ #759]
|
|
|
|
|
* manual/setjmp.texi (getcontex): Document uc_stack value
|
|
|
|
|
compatibility differences.
|
|
|
|
|
|
2017-08-08 19:14:49 +02:00
|
|
|
|
2017-08-08 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t.
|
|
|
|
|
(old_malloc_hook): Likewise.
|
|
|
|
|
(old_memalign_hook): Likewise.
|
|
|
|
|
(old_realloc_hook): Likewise.
|
|
|
|
|
(struct hdr): Likewise.
|
|
|
|
|
(flood): Likewise.
|
|
|
|
|
(freehook): Likewise.
|
|
|
|
|
(mallochook): Likewise.
|
|
|
|
|
(memalignhook): Likewise.
|
|
|
|
|
(reallochook): Likewise.
|
|
|
|
|
(mprobe): Likewise.
|
|
|
|
|
* malloc/mtrace.c (mallwatch): Likewise.
|
|
|
|
|
(tr_old_free_hook): Likewise.
|
|
|
|
|
(tr_old_malloc_hook): Likewise.
|
|
|
|
|
(tr_old_realloc_hook): Likewise.
|
|
|
|
|
(tr_old_memalign_hook): Likewise.
|
|
|
|
|
(tr_where): Likewise.
|
|
|
|
|
(lock_and_info): Likewise.
|
|
|
|
|
(tr_freehook): Likewise.
|
|
|
|
|
(tr_mallochook): Likewise.
|
|
|
|
|
(tr_reallochook): Likewise.
|
|
|
|
|
(tr_memalignhook): Likewise.
|
|
|
|
|
* misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise.
|
|
|
|
|
* misc/mmap.c (__mmap): Likewise.
|
|
|
|
|
* misc/mmap64.c (__mmap64): Likewise.
|
|
|
|
|
* misc/mprotect.c (__mprotect): Likewise.
|
|
|
|
|
* misc/msync.c (msync): Likewise.
|
|
|
|
|
* misc/munmap.c (__munmap): Likewise.
|
|
|
|
|
* posix/posix_madvise.c (posix_madvise): Likewise.
|
|
|
|
|
* socket/send.c (__send): Likewise.
|
|
|
|
|
* socket/sendto.c (__sendto): Likewise.
|
|
|
|
|
* socket/setsockopt.c (__setsockopt): Likewise.
|
|
|
|
|
* string/memcmp.c (__ptr_t): Remove macro.
|
|
|
|
|
(MEMCMP): Use void * instead of ptr_t.
|
|
|
|
|
* string/memrchr.c (__ptr_t): Remove macro.
|
|
|
|
|
(__memrchr): Use void * instead of ptr_t.
|
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
|
|
|
|
|
* sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
|
|
|
|
|
* sysdeps/mach/mprotect.c (__mprotect): Likewise.
|
|
|
|
|
* sysdeps/mach/msync.c (msync): Likewise.
|
|
|
|
|
* sysdeps/mach/munmap.c (__munmap): Likewise.
|
|
|
|
|
* sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise.
|
|
|
|
|
* sysdeps/tile/memcmp.c (__ptr_t): Remove macro.
|
|
|
|
|
(MEMCMP): Use void * instead of ptr_t.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
|
|
|
|
|
|
2017-08-08 18:48:05 +02:00
|
|
|
|
2017-08-08 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Remove unreachable
|
|
|
|
|
return statement.
|
|
|
|
|
|
i386: Add <startup.h> [BZ #21913]
On Linux/i386, there are 3 ways to make a system call:
1. call *%gs:SYSINFO_OFFSET. This requires TLS initialization.
2. call *_dl_sysinfo. This requires relocation of _dl_sysinfo.
3. int $0x80. This is slower than #2 and #3, but works everywhere.
When an object file is compiled with PIC, #1 is prefered since it is
faster than #3 and doesn't require relocation of _dl_sysinfo. For
dynamic executables, ld.so initializes TLS. However, for static
executables, before TLS is initialized by __libc_setup_tls, #3 should
be used for system calls.
This patch adds <startup.h> which defines _startup_fatal and defaults
it to __libc_fatal. It replaces __libc_fatal with _startup_fatal in
static executables where it is called before __libc_setup_tls is called.
This header file is included in all files containing functions which are
called before __libc_setup_tls is called. On Linux/i386, when PIE is
enabled by default, _startup_fatal is turned into ABORT_INSTRUCTION and
I386_USE_SYSENTER is defined to 0 so that "int $0x80" is used for system
calls before __libc_setup_tls is called.
Tested on i686 and x86-64. Without this patch, all statically-linked
tests will fail on i686 when the compiler defaults to -fPIE.
[BZ #21913]
* csu/libc-tls.c: Include <startup.h> first.
(__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
* elf/dl-tunables.c: Include <startup.h> first.
* include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
* sysdeps/generic/startup.h: New file.
* sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
* sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
(I386_USE_SYSENTER): New. Defined to 0.
2017-08-08 17:41:08 +02:00
|
|
|
|
2017-08-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21913]
|
|
|
|
|
* csu/libc-tls.c: Include <startup.h> first.
|
|
|
|
|
(__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
|
|
|
|
|
* elf/dl-tunables.c: Include <startup.h> first.
|
|
|
|
|
* include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
|
|
|
|
|
* sysdeps/generic/startup.h: New file.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
|
|
|
|
|
(I386_USE_SYSENTER): New. Defined to 0.
|
|
|
|
|
|
2017-08-08 16:21:58 +02:00
|
|
|
|
2017-08-08 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
[BZ #21041]
|
|
|
|
|
* nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver.
|
|
|
|
|
* nptl/pt-system.c (system): Likewise.
|
|
|
|
|
|
2017-07-17 15:59:59 +02:00
|
|
|
|
2017-08-07 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
|
|
[BZ #21780]
|
|
|
|
|
* sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of
|
|
|
|
|
EOPNOTSUPP.
|
|
|
|
|
* sysdeps/posix/preadv64v2.c (preadv64v2): Likewise.
|
|
|
|
|
* sysdeps/posix/pwritev2.c (pwritev2): Likewise.
|
|
|
|
|
* sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise.
|
|
|
|
|
|
2017-08-07 21:53:17 +02:00
|
|
|
|
2017-08-07 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
Fix XPG4.2 bits/sigaction.h namespace (bug 21899).
For XPG4.2, sa_sigaction, SA_ONSTACK, SA_RESETHAND, SA_RESTART and
SA_NODEFER should be defined in signal.h, but they are only defined
for other standards at present.
This patch fixes the various bits/sigaction.h headers accordingly.
All the fixes are essentially the same, except those for SPARC and
Tile.
For SPARC, the header (a) spuriously defined various nonstandard
macros for __USE_UNIX98 || defined __USE_XOPEN2K8 and (b) defined some
standard macros as aliases of nonstandard ones instead of the other
way round. This patch fixes the SPARC header to handle these macros
the same way and with the same conditions as those for other
architectures, so the standard macros are the primary ones and the
other ones are defined only for __USE_MISC and are aliases of the
standard ones where applicable.
For Tile, the header spuriously defined the nonstandard macro
SA_NOPTRACE for __USE_UNIX98 || defined __USE_XOPEN2K8; this is moved
to __USE_MISC.
(Those nonstandard macros are in a reserved namespace, but it seems
desirable to be consistent between architectures as far as possible,
and so not define them in standard modes anywhere.)
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21899]
* bits/sigaction.h (struct sigaction): Define sa_handler and
sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise. Define directly rather than as alias.
(SA_RESETHAND): Likewise.
(SA_INTERRUPT): Define only for [__USE_MISC].
(SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
(SA_ONESHOT): Define as alias of SA_RESETHAND, only for
[__USE_MISC].
(SA_STACK): Define only for [__USE_MISC].
* sysdeps/unix/sysv/linux/tile/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
(SA_NOPTRACE): Define only for [__USE_MISC].
2017-08-08 01:41:32 +02:00
|
|
|
|
[BZ #21899]
|
|
|
|
|
* bits/sigaction.h (struct sigaction): Define sa_handler and
|
|
|
|
|
sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise. Define directly rather than as alias.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
(SA_INTERRUPT): Define only for [__USE_MISC].
|
|
|
|
|
(SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
|
|
|
|
|
(SA_ONESHOT): Define as alias of SA_RESETHAND, only for
|
|
|
|
|
[__USE_MISC].
|
|
|
|
|
(SA_STACK): Define only for [__USE_MISC].
|
|
|
|
|
* sysdeps/unix/sysv/linux/tile/bits/sigaction.h
|
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
|
(SA_NOPTRACE): Define only for [__USE_MISC].
|
|
|
|
|
|
2017-08-07 21:55:34 +02:00
|
|
|
|
* catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t.
|
|
|
|
|
* catgets/catgetsinfo.h (struct catalog_obj): Likewise.
|
|
|
|
|
(struct catalog_info): Likewise.
|
|
|
|
|
* inet/htontest.c (lo): Likewise.
|
|
|
|
|
(foo): Likewise.
|
|
|
|
|
* inet/inet_lnaof.c (inet_lnaof): Likewise.
|
|
|
|
|
* inet/inet_net.c (inet_network): Likewise.
|
|
|
|
|
* inet/inet_netof.c (inet_netof): Likewise.
|
|
|
|
|
* inet/rcmd.c (__ivaliduser): Likewise.
|
|
|
|
|
(iruserok): Likewise.
|
|
|
|
|
* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
|
|
|
|
|
* locale/programs/locale-spec.c (locale_special): Likewise.
|
|
|
|
|
* nis/nis_findserv.c (struct findserv_req): Likewise.
|
|
|
|
|
(__nis_findfastest_with_timeout): Likewise.
|
|
|
|
|
* nss/test-netdb.c (test_network): Likewise.
|
|
|
|
|
* resolv/inet_neta.c (inet_neta): Likewise.
|
|
|
|
|
* resolv/ns_date.c (ns_datetosecs): Likewise.
|
|
|
|
|
(SECS_PER_DAY): Likewise.
|
|
|
|
|
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* resolv/res_comp.c (__putlong): Likewise.
|
|
|
|
|
(__putshort): Likewise.
|
|
|
|
|
(_getlong): Likewise.
|
|
|
|
|
(_getshort): Likewise.
|
|
|
|
|
* resolv/res_debug.c (p_time): Likewise.
|
|
|
|
|
(precsize_ntoa): Likewise.
|
|
|
|
|
(precsize_aton): Likewise.
|
|
|
|
|
(latlon2ul): Likewise.
|
|
|
|
|
(loc_aton): Likewise.
|
|
|
|
|
(loc_ntoa): Likewise.
|
|
|
|
|
* resolv/res_hconf.c (struct netaddr): Likewise.
|
|
|
|
|
(_res_hconf_reorder_addrs): Likewise.
|
|
|
|
|
* sunrpc/clnt_tcp.c (clnttcp_call): Likewise.
|
|
|
|
|
(clnttcp_control): Likewise.
|
|
|
|
|
* sunrpc/clnt_udp.c (clntudp_call): Likewise.
|
|
|
|
|
(clntudp_control): Likewise.
|
|
|
|
|
* sunrpc/clnt_unix.c (clntunix_call): Likewise.
|
|
|
|
|
(clntunix_control): Likewise.
|
|
|
|
|
* sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
|
|
|
|
|
* sunrpc/rpc/auth.h (union des_block): Likewise.
|
|
|
|
|
* sunrpc/tst-udp-nonblocking.c (do_test): Likewise.
|
|
|
|
|
* sunrpc/xdr_rec.c (struct rec_strm): Likewise.
|
|
|
|
|
(xdrrec_create): Likewise.
|
|
|
|
|
(xdrrec_endofrecord): Likewise.
|
|
|
|
|
(flush_out): Likewise.
|
|
|
|
|
* sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise.
|
|
|
|
|
(xdrstdio_putlong): Likewise.
|
|
|
|
|
* sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-07 21:53:17 +02:00
|
|
|
|
* misc/sys/cdefs.h (__long_double_t): Remove.
|
|
|
|
|
* stdio-common/printf_fp.c (__printf_fp_l): Use long double
|
|
|
|
|
instead of __long_double_t,
|
|
|
|
|
* stdlib/strfmon_l.c (__vstrfmon_l): Likewise.
|
|
|
|
|
|
2017-08-07 21:14:00 +02:00
|
|
|
|
2017-08-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
|
2017-08-07 21:26:10 +02:00
|
|
|
|
* benchtests/scripts/compare_strings.py: Avoid display error when
|
|
|
|
|
running on a text terminal.
|
|
|
|
|
|
2017-08-07 21:25:12 +02:00
|
|
|
|
* benchtests/scripts/compare_strings.py (main): Add an
|
|
|
|
|
optional -base option.
|
|
|
|
|
(process_results): New argument base_func.
|
|
|
|
|
|
2017-08-07 21:14:00 +02:00
|
|
|
|
* benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of
|
|
|
|
|
hardcoding memcpy.
|
|
|
|
|
* benchtests/bench-memcpy-large.c (test_name): Likewise.
|
|
|
|
|
* benchtests/bench-memcpy-random.c (test_name): Likewise.
|
|
|
|
|
|
2017-08-07 17:11:10 +02:00
|
|
|
|
2017-08-07 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
* elf/Makefile ($(objpfx)tst-pathopt.out): Redirect output to target.
|
|
|
|
|
* grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise.
|
|
|
|
|
* intl/Makefile ($(objpfx)tst-gettext.out)
|
|
|
|
|
($(objpfx)tst-translit.out, $(objpfx)tst-gettext2.out)
|
|
|
|
|
($(objpfx)tst-gettext4.out, $(objpfx)tst-gettext6.out): Likewise.
|
|
|
|
|
* libio/Makefile ($(objpfx)test-freopen.out): Likewise.
|
|
|
|
|
* malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise.
|
|
|
|
|
* nptl/Makefile ($(objpfx)tst-tls6.out): Likewise.
|
|
|
|
|
* posix/Makefile ($(objpfx)globtest.out)
|
|
|
|
|
($(objpfx)wordexp-tst.out, $(objpfx)tst-getconf.out): Likewise.
|
|
|
|
|
* stdio-common/Makefile ($(objpfx)tst-unbputc.out)
|
|
|
|
|
($(objpfx)tst-printf.out): Likewise.
|
|
|
|
|
* stdlib/Makefile ($(objpfx)tst-fmtmsg.out)
|
|
|
|
|
($(objpfx)tst-setcontext3.out): Likewise.
|
|
|
|
|
|
x86-64: Add FMA multiarch functions to libm
This patch adds multiarch functions optimized with -mfma -mavx2 to libm.
e_pow-fma.c is compiled with $(config-cflags-nofma) due to PR 19003.
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
and mptan-fma.
(CFLAGS-doasin-fma.c): New.
(CFLAGS-dosincos-fma.c): Likewise.
(CFLAGS-e_asin-fma.c): Likewise.
(CFLAGS-e_atan2-fma.c): Likewise.
(CFLAGS-e_exp-fma.c): Likewise.
(CFLAGS-e_log-fma.c): Likewise.
(CFLAGS-e_pow-fma.c): Likewise.
(CFLAGS-halfulp-fma.c): Likewise.
(CFLAGS-mpa-fma.c): Likewise.
(CFLAGS-mpatan-fma.c): Likewise.
(CFLAGS-mpatan2-fma.c): Likewise.
(CFLAGS-mpexp-fma.c): Likewise.
(CFLAGS-mplog-fma.c): Likewise.
(CFLAGS-mpsqrt-fma.c): Likewise.
(CFLAGS-mptan-fma.c): Likewise.
(CFLAGS-s_atan-fma.c): Likewise.
(CFLAGS-sincos32-fma.c): Likewise.
(CFLAGS-slowexp-fma.c): Likewise.
(CFLAGS-slowpow-fma.c): Likewise.
(CFLAGS-s_sin-fma.c): Likewise.
(CFLAGS-s_tan-fma.c): Likewise.
* sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
* sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
* sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
2017-08-07 17:19:59 +02:00
|
|
|
|
2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
|
Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
|
|
|
|
|
e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
|
|
|
|
|
slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
|
|
|
|
|
halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
|
|
|
|
|
and mptan-fma.
|
|
|
|
|
(CFLAGS-doasin-fma.c): New.
|
|
|
|
|
(CFLAGS-dosincos-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-e_asin-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-e_atan2-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-e_exp-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-e_log-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-e_pow-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-halfulp-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mpa-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mpatan-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mpatan2-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mpexp-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mplog-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mpsqrt-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-mptan-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-s_atan-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-sincos32-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-slowexp-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-slowpow-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-s_sin-fma.c): Likewise.
|
|
|
|
|
(CFLAGS-s_tan-fma.c): Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
|
|
|
|
|
|
2017-08-04 23:32:57 +02:00
|
|
|
|
2017-08-04 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro.
|
|
|
|
|
(min_of_type_f): New macro.
|
|
|
|
|
(min_of_type_): Likewise.
|
|
|
|
|
(min_of_type_l): Likewise.
|
|
|
|
|
(min_of_type_f128): Likewise.
|
|
|
|
|
(min_of_type): Define using __MATH_TG and taking an expression
|
|
|
|
|
argument.
|
|
|
|
|
(math_check_force_underflow): Pass expression instead of type to
|
|
|
|
|
min_of_type.
|
|
|
|
|
(math_check_force_underflow_nonneg): Likewise.
|
|
|
|
|
|
2017-08-04 22:38:05 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h [__ASSEMBLER__]
|
|
|
|
|
(LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX,
|
|
|
|
|
HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed.
|
|
|
|
|
|
i686: Implement IFUNC selectors in C
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
memcpy_chk-nonshared, mempcpy_chk-nonshared,
memmove_chk-nonshared and memset_chk-nonshared
* sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
* sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
* sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/bzero.c: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
* sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memchr.c: Likewise.
* sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove.c: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memset.c: Likewise.
* sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
* sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcat.c: Likewise.
* sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strchr.c: Likewise.
* sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
* sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strlen.c: Likewise.
* sysdeps/i386/i686/multiarch/strncase.c: Likewise.
* sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
* sysdeps/i386/i686/multiarch/strncat.c: Likewise.
* sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
* sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strspn.c: Likewise.
* sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
* sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
* sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
* sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
* sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/bcopy.S: Removed.
* sysdeps/i386/i686/multiarch/bzero.S: Likewise.
* sysdeps/i386/i686/multiarch/memchr.S: Likewise.
* sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/memset.S: Likewise.
* sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
* sysdeps/i386/i686/multiarch/strcat.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
* sysdeps/i386/i686/multiarch/strncase.S: Likewise.
* sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
* sysdeps/i386/i686/multiarch/strncat.S: Likewise.
* sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
* sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
* sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
* sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
* sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
* sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
* sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
2017-07-19 15:54:03 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
|
|
|
|
|
bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
|
|
|
|
|
memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
|
|
|
|
|
memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
|
|
|
|
|
strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
|
|
|
|
|
strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
|
|
|
|
|
memcpy_chk-nonshared, mempcpy_chk-nonshared,
|
|
|
|
|
memmove_chk-nonshared and memset_chk-nonshared
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncat.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy.S: Removed.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncat.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
|
|
|
|
|
|
x86-64: Implement libmathvec IFUNC selectors in C
* sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
svml_d_log2_core-sse2, svml_d_log4_core-sse,
svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
svml_d_pow4_core-sse, svml_d_pow8_core-avx2
svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN8v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_sinf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_sinf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_sinf): Removed.
2017-08-04 22:03:44 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
|
|
|
|
|
Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
|
|
|
|
|
svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
|
|
|
|
|
svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
|
|
|
|
|
svml_d_log2_core-sse2, svml_d_log4_core-sse,
|
|
|
|
|
svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
|
|
|
|
|
svml_d_pow4_core-sse, svml_d_pow8_core-avx2
|
|
|
|
|
svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
|
|
|
|
|
svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
|
|
|
|
|
svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
|
|
|
|
|
svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
|
|
|
|
|
svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
|
|
|
|
|
svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
|
|
|
|
|
svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
|
|
|
|
|
svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
|
|
|
|
|
svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
|
|
|
|
|
svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
|
|
|
|
|
svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
|
|
|
|
|
svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2v_cos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN4v_cos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN8v_cos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2v_exp): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN4v_exp): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN8v_exp): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2v_log): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN4v_log): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN8v_log): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2vv_pow): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN4vv_pow): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN8vv_pow): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2v_sin): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4v_sin): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN8v_sin): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN2vvv_sincos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN4vvv_sincos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN8vvv_sincos): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16v_cosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4v_cosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8v_cosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16v_expf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4v_expf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8v_expf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16v_logf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4v_logf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8v_logf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16vv_powf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4vv_powf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8vv_powf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16vvv_sincosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4vvv_sincosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8vvv_sincosf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVeN16v_sinf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVbN4v_sinf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to
|
|
|
|
|
...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
|
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
|
(_ZGVdN8v_sinf): Removed.
|
|
|
|
|
|
2017-08-04 22:01:59 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
|
Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1,
|
|
|
|
|
s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1,
|
|
|
|
|
s_rint-sse4_1 and s_rintf-sse4_1.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__ceil): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__ceilf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__floor): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__floorf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__nearbyint): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__nearbyintf): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__rint): Removed.
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ...
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't
|
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
|
(__rintf): Removed.
|
|
|
|
|
|
2017-08-04 21:59:35 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/start.S (_start): Check Check PIC instead of
|
|
|
|
|
SHARED. Avoid dynamic relocation against main in static PIE.
|
|
|
|
|
|
2017-08-04 21:58:01 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21815]
|
|
|
|
|
* elf/Makefile (CFLAGS-tst-prelink.c): New.
|
|
|
|
|
(LDFLAGS-tst-prelink): Likewise.
|
|
|
|
|
|
2017-08-04 21:30:22 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
|
|
|
|
|
Define to I386_USE_SYSENTER to 0 or 1 if not defined.
|
|
|
|
|
(ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC.
|
|
|
|
|
(INTERNAL_SYSCALL_MAIN_INLINE): Likewise.
|
|
|
|
|
(INTERNAL_SYSCALL_NCS): Likewise.
|
|
|
|
|
(LOADARGS_1): Likewise.
|
|
|
|
|
(LOADARGS_5): Likewise.
|
|
|
|
|
(RESTOREARGS_1): Likewise.
|
|
|
|
|
(RESTOREARGS_5): Likewise.
|
|
|
|
|
|
2017-08-04 21:27:00 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED.
|
|
|
|
|
(MEMPCPY_SYMBOL): Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/ifunc-impl-list.c
|
|
|
|
|
(__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include
|
|
|
|
|
in libc.a.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a.
|
|
|
|
|
(__hidden_ver1): Don't use in libc.a.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S
|
|
|
|
|
(__mempcpy): Don't create a weak alias in libc.a.
|
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support
|
|
|
|
|
libc.a.
|
|
|
|
|
* sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a.
|
|
|
|
|
(__hidden_ver1): Don't use in libc.a.
|
|
|
|
|
|
2017-08-04 21:17:15 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* config.make.in (have-insert): New.
|
|
|
|
|
* configure.ac (libc_cv_insert): New. Set to yes if linker
|
|
|
|
|
supports INSERT in linker script.
|
|
|
|
|
(AC_SUBST(libc_cv_insert): New.
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
* sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
|
|
|
|
|
if $(have-insert) == yes.
|
|
|
|
|
|
2017-08-04 20:47:08 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* elf/Makefile (tests): Add vismain only if
|
|
|
|
|
$(have-protected-data) == yes.
|
|
|
|
|
(tests-pie): Likewise.
|
|
|
|
|
|
x86-64: Use _dl_runtime_resolve_opt only with AVX512F [BZ #21871]
On AVX machines with XGETBV (ECX == 1) like Skylake processors,
(gdb) disass _dl_runtime_resolve_avx_opt
Dump of assembler code for function _dl_runtime_resolve_avx_opt:
0x0000000000015890 <+0>: push %rax
0x0000000000015891 <+1>: push %rcx
0x0000000000015892 <+2>: push %rdx
0x0000000000015893 <+3>: mov $0x1,%ecx
0x0000000000015898 <+8>: xgetbv
0x000000000001589b <+11>: mov %eax,%r11d
0x000000000001589e <+14>: pop %rdx
0x000000000001589f <+15>: pop %rcx
0x00000000000158a0 <+16>: pop %rax
0x00000000000158a1 <+17>: and $0x4,%r11d
0x00000000000158a5 <+21>: bnd je 0x16200 <_dl_runtime_resolve_sse_vex>
End of assembler dump.
is slower than:
(gdb) disass _dl_runtime_resolve_avx_slow
Dump of assembler code for function _dl_runtime_resolve_avx_slow:
0x0000000000015850 <+0>: vorpd %ymm0,%ymm1,%ymm8
0x0000000000015854 <+4>: vorpd %ymm2,%ymm3,%ymm9
0x0000000000015858 <+8>: vorpd %ymm4,%ymm5,%ymm10
0x000000000001585c <+12>: vorpd %ymm6,%ymm7,%ymm11
0x0000000000015860 <+16>: vorpd %ymm8,%ymm9,%ymm9
0x0000000000015865 <+21>: vorpd %ymm10,%ymm11,%ymm10
0x000000000001586a <+26>: vpcmpeqd %xmm8,%xmm8,%xmm8
0x000000000001586f <+31>: vorpd %ymm9,%ymm10,%ymm10
0x0000000000015874 <+36>: vptest %ymm10,%ymm8
0x0000000000015879 <+41>: bnd jae 0x158b0 <_dl_runtime_resolve_avx>
0x000000000001587c <+44>: vzeroupper
0x000000000001587f <+47>: bnd jmpq 0x16200 <_dl_runtime_resolve_sse_vex>
End of assembler dump.
(gdb)
since xgetbv takes much more cycles than single cycle operations like
vpord/vvpcmpeq/ptest. _dl_runtime_resolve_opt should be used only with
AVX512 where AVX512 instructions lead to lower CPU frequency on Skylake
server.
[BZ #21871]
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.
2017-08-04 20:14:19 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21871]
|
|
|
|
|
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
|
|
|
|
|
bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.
|
|
|
|
|
|
2017-08-04 19:56:40 +02:00
|
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21790]
|
|
|
|
|
* sysdeps/i386/i586/memset.S
|
|
|
|
|
(__memset_zero_constant_len_parameter): Removed.
|
|
|
|
|
* sysdeps/i386/i686/memset.S
|
|
|
|
|
(__memset_zero_constant_len_parameter): Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk.S
|
|
|
|
|
(__memset_zero_constant_len_parameter): Likewise.
|
|
|
|
|
* sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-08-04 00:35:48 +02:00
|
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
|
|
* stdlib/getentropy.c (getentropy): Change return type to int.
|
|
|
|
|
|
2017-08-04 00:33:19 +02:00
|
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.
|
|
|
|
|
|
2017-08-03 21:55:04 +02:00
|
|
|
|
2017-08-03 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* math/s_nextafter.c (__nextafter): Use uintN_t instead of
|
|
|
|
|
u_intN_t.
|
|
|
|
|
* math/s_nexttowardf.c (__nexttowardf): Likewise.
|
|
|
|
|
* sysdeps/generic/math_private.h (ieee_double_shape_type):
|
|
|
|
|
Likewise.
|
|
|
|
|
(ieee_float_shape_type): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise.
|
|
|
|
|
* sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
|
|
|
|
|
(__ieee754_yn): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise.
|
|
|
|
|
(__erfc): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise.
|
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c
|
|
|
|
|
(__issignaling): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise.
|
|
|
|
|
(__erfcf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise.
|
|
|
|
|
* sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
|
|
|
|
|
(__ieee754_ynl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_remainderl.c
|
|
|
|
|
(__ieee754_remainderl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
|
|
|
|
|
(__ieee754_y0l): Likewise.
|
|
|
|
|
(pzero): Likewise.
|
|
|
|
|
(qzero): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
|
|
|
|
|
(__ieee754_y1l): Likewise.
|
|
|
|
|
(pone): Likewise.
|
|
|
|
|
(qone): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
|
|
|
|
|
(__ieee754_ynl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise.
|
|
|
|
|
(__ieee754_lgammal_r): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise.
|
|
|
|
|
(__erfcl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise.
|
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise.
|
|
|
|
|
* sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise.
|
|
|
|
|
|
2017-08-03 12:33:00 +02:00
|
|
|
|
2017-08-03 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21885]
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context
|
|
|
|
|
on memory allocation failure.
|
|
|
|
|
|
2017-08-03 08:09:21 +02:00
|
|
|
|
2017-08-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from
|
|
|
|
|
tst-tlsopt-powerpc.c with function name change and no test harness.
|
|
|
|
|
* sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test.
|
|
|
|
|
Call tls_get_addr_opt_test.
|
|
|
|
|
* sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define.
|
|
|
|
|
(modules-names): Add mod-tlsopt-powerpc.
|
|
|
|
|
(mod-tlsopt-powerpc.so-no-z-defs): Define.
|
|
|
|
|
(tst-tlsopt-powerpc): Depend on .so.
|
|
|
|
|
* sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't
|
|
|
|
|
define. Expand use in TLS_GD and TLS_LD.
|
|
|
|
|
|
2017-08-02 23:29:57 +02:00
|
|
|
|
2017-08-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define
|
|
|
|
|
function.
|
2017-08-02 23:07:58 +02:00
|
|
|
|
* sysdeps/posix/shm_open.c: Include <pthread.h>.
|
2017-08-02 23:29:57 +02:00
|
|
|
|
|
2017-08-02 22:16:05 +02:00
|
|
|
|
2017-08-02 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21686]
|
|
|
|
|
* math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before
|
|
|
|
|
comparing size with that of double.
|
|
|
|
|
(__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_TERNARY_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
|
* math/gen-tgmath-tests.py (Type.init_types): Create __int128 and
|
|
|
|
|
unsigned __int128 types.
|
|
|
|
|
|
Remove CFLAG settings that turn off warning (no longer needed).
2017-08-02 Steve Ellcey <sellcey@cavium.com>
* localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.
2017-08-02 21:57:58 +02:00
|
|
|
|
2017-08-02 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
|
|
* localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
|
|
|
|
|
CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
|
|
|
|
|
CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
|
|
|
|
|
CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
|
|
|
|
|
CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.
|
|
|
|
|
|
2017-08-02 19:27:14 +02:00
|
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED.
|
|
|
|
|
|
2017-08-02 19:25:11 +02:00
|
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead
|
|
|
|
|
of SHARED.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.
|
|
|
|
|
|
2017-08-02 18:09:01 +02:00
|
|
|
|
2017-08-02 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21685]
|
|
|
|
|
* math/tgmath.h (__tgmath_real_type): Use unary + on potentially
|
|
|
|
|
bit-field expressions passed to sizeof or typeof.
|
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
|
(__TGMATH_F128): Likewise.
|
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
|
(__TGMATH_CF128): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_TERNARY_REAL_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_IMAG): Likewise.
|
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
|
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
|
* math/gen-tgmath-tests.py (Type.init_types): Create bit_field
|
|
|
|
|
type.
|
|
|
|
|
(define_vars_for_type): Handle bit_field type specially.
|
|
|
|
|
(Tests.__init__): Declare structure with bit-field element.
|
|
|
|
|
|
2017-08-02 17:32:00 +02:00
|
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
[BZ #21791]
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
|
|
|
|
|
(MEMCPY_CHK): Define only if SHARED is defined.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK):
|
|
|
|
|
Likewise.
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK):
|
|
|
|
|
Likewise.
|
2017-08-02 17:27:34 +02:00
|
|
|
|
|
|
|
|
|
See ChangeLog.18 for earlier changes.
|