2017-08-25 17:21:35 +00: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 11:33:04 +00:00
|
|
|
2017-08-25 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-25 17:02:33 +00: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 16:11:13 +00: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 11:33:04 +00: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 13:16:54 +00: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 16:01:36 +00: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 14:56:11 +00:00
|
|
|
2017-08-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/Makefile: Don't override CFLAGS.
|
|
|
|
|
2017-08-23 16:11:41 +00:00
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.
|
|
|
|
|
2017-08-23 15:22:52 +00: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 13:40:14 +00: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 13:16:12 +00: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-22 23:22:05 +00: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 17:01:07 +00: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 09:50:05 +00:00
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2016-07-19 13:23:49 +00:00
|
|
|
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove.
|
|
|
|
(preadv64): Likewise.
|
|
|
|
(pwrite64(: Likewise.
|
|
|
|
(pwritev64): Likewise.
|
|
|
|
|
2016-07-13 09:50:05 +00: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 14:14:15 +00: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 21:52:03 +00: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 17:55:42 +00: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 20:23:56 +00:00
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-08-22 13:09:52 +00: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 18:54:02 +00: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 20:23:56 +00: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 15:35:23 +00: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 14:47:34 +00: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 16:46:15 +00: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 11:49:14 +00: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 10:45:16 +00: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 00:30:51 +00:00
|
|
|
2017-08-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-22 00:59:43 +00: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 00:30:51 +00:00
|
|
|
* assert/Makefile [$(have-cxx-thread_local)]: Move conditional
|
|
|
|
variable definitions above inclusion of ../Rules.
|
|
|
|
|
2017-08-21 21:43:32 +00: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 18:33:23 +00:00
|
|
|
2017-08-21 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 18:43:51 +00: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 18:37:16 +00: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 18:33:23 +00: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 17:45:10 +00:00
|
|
|
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-21 17:52:05 +00: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 17:46:34 +00: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 17:45:10 +00: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 17:28:54 +00: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 11:03:29 +00: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 12:58:39 +00: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 12:50:38 +00: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 12:47:10 +00: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 12:40:33 +00: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 12:32:21 +00: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 12:31:02 +00: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 17:46:47 +00: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 17:45:58 +00: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 13:39:10 +00: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 13:45:25 +00:00
|
|
|
* gmon/bb_exit_func.c: Likewise.
|
|
|
|
* gmon/bb_init_func.c: Likewise.
|
2017-08-20 13:39:10 +00:00
|
|
|
* include/sys/gmon.h (__bb): Likewise.
|
|
|
|
(__bb_init_func): Likewise.
|
|
|
|
(__bb_exit_func): Likewise.
|
2017-08-20 13:50:59 +00:00
|
|
|
* sysdeps/alpha/bb_init_func.S: Likewise.
|
2017-08-20 13:39:10 +00:00
|
|
|
|
2017-08-20 13:30:29 +00: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-19 23:46:33 +00: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 18:00:26 +00:00
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 18:22:58 +00: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 18:00:26 +00: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 16:31:19 +00: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 15:49:07 +00: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 20:51:51 +00: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 17:29:06 +00: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 17:20:46 +00:00
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 17:39:52 +00: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 17:20:46 +00: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 13:18:55 +00: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 21:58:25 +00: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 14:11:24 +00: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 15:27:20 +00: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 11:55:44 +00: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 08:18:04 +00: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 20:33:59 +00: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 18:05:55 +00:00
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* NEWS: Remove "[Add new features here]" for 2.27.
|
|
|
|
|
2017-08-16 17:01:27 +00:00
|
|
|
2017-08-16 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in
|
|
|
|
libc.so.
|
|
|
|
|
2017-08-16 16:17:34 +00:00
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* NEWS: Mention x86-64 FMA optimization.
|
|
|
|
|
2017-08-16 15:43:35 +00: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 13:59:55 +00:00
|
|
|
2017-08-16 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
2017-08-16 14:47:20 +00:00
|
|
|
[BZ #16750]
|
|
|
|
CVE-2009-5064
|
2017-08-16 13:59:55 +00: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 21:04:59 +00: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 16:35:42 +00: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 15:28:37 +00: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 13:49:40 +00: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 13:17:30 +00: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 12:46:19 +00: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 12:00:07 +00: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 17:05:55 +00: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 15:12:05 +00: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-08-06 14:14:32 +00:00
|
|
|
2017-08-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
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 11:03:34 +00: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 10:57:50 +00: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 10:29:21 +00: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 09:44:24 +00: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 12:54:25 +00: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 07:25:56 +00:00
|
|
|
2017-08-14 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
[BZ #19982]
|
|
|
|
* po/fr.po: Fix spelling mistake.
|
|
|
|
|
2017-08-13 19:11:54 +00: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 19:11:47 +00: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 19:11:38 +00: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 19:11:28 +00: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 19:11:06 +00: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 19:10:56 +00: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 19:10:44 +00: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 15:15:25 +00: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 13:36:08 +00: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 06:47:24 +00:00
|
|
|
2017-08-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-11 06:47:46 +00:00
|
|
|
* benchtests/bench-memmove-large.c: Print output in JSON
|
|
|
|
format.
|
|
|
|
* benchtests/bench-memmove.c: Likewise.
|
|
|
|
|
2017-08-11 06:47:24 +00: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 12:04:48 +00: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 10:46:24 +00: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 12:14:14 +00: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 16:00:38 +00:00
|
|
|
2017-08-10 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/aarch64/memcmp.S (memcmp):
|
|
|
|
Rewrite of optimized memcmp.
|
|
|
|
|
2017-08-10 11:40:22 +00: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 14:06:52 +00: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 13:58:28 +00: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 10:16:29 +00: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 09:23:38 +00:00
|
|
|
2017-08-09 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
|
2017-08-10 01:28:58 +00:00
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request):
|
|
|
|
Fix typo in comment.
|
|
|
|
|
2017-07-18 09:23:38 +00: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 17:51:26 +00:00
|
|
|
2017-08-09 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-09 18:10:52 +00: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 17:51:26 +00: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 15:46:04 +00: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 08:36:08 +00:00
|
|
|
2017-08-09 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
2017-08-09 08:58:58 +00:00
|
|
|
[BZ #21041]
|
2017-08-09 08:36:08 +00:00
|
|
|
* sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to
|
|
|
|
renamed alias.
|
|
|
|
|
2017-08-09 08:58:58 +00:00
|
|
|
[BZ #21041]
|
2017-08-08 15:44:32 +00: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 01:02:17 +00:00
|
|
|
2017-08-09 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-09 07:27:17 +00: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 01:02:17 +00: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 19:05:35 +00: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 17:14:49 +00: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 16:48:05 +00: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 15:41:08 +00: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 14:21:58 +00: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 13:59:59 +00: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 19:53:17 +00: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-07 23:41:32 +00: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 19:55:34 +00: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 19:53:17 +00: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 19:14:00 +00:00
|
|
|
2017-08-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-07 19:26:10 +00:00
|
|
|
* benchtests/scripts/compare_strings.py: Avoid display error when
|
|
|
|
running on a text terminal.
|
|
|
|
|
2017-08-07 19:25:12 +00:00
|
|
|
* benchtests/scripts/compare_strings.py (main): Add an
|
|
|
|
optional -base option.
|
|
|
|
(process_results): New argument base_func.
|
|
|
|
|
2017-08-07 19:14:00 +00: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 15:11:10 +00: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 15:19:59 +00: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 21:32:57 +00: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 20:38:05 +00: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 13:54:03 +00: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 20:03:44 +00: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 20:01:59 +00: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 19:59:35 +00: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 19:58:01 +00: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 19:30:22 +00: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 19:27:00 +00: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 19:17:15 +00: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 18:47:08 +00: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 18:14:19 +00: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 17:56:40 +00: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-03 22:35:48 +00:00
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
* stdlib/getentropy.c (getentropy): Change return type to int.
|
|
|
|
|
2017-08-03 22:33:19 +00:00
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.
|
|
|
|
|
2017-08-03 19:55:04 +00: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 10:33:00 +00: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 06:09:21 +00: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 21:29:57 +00: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 21:07:58 +00:00
|
|
|
* sysdeps/posix/shm_open.c: Include <pthread.h>.
|
2017-08-02 21:29:57 +00:00
|
|
|
|
2017-08-02 20:16:05 +00: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 19:57:58 +00: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 17:27:14 +00: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 17:25:11 +00: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 16:09:01 +00: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 15:32:00 +00: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 15:27:34 +00:00
|
|
|
|
|
|
|
See ChangeLog.18 for earlier changes.
|