+2019-05-10 Wilco Dijkstra <wdijkstr@arm.com>
+
+ [BZ #24531]
+ * malloc/malloc.c (MAX_TCACHE_COUNT): New define.
+ (do_set_tcache_count): Only update if count is small enough.
+ * manual/tunables.texi (glibc.malloc.tcache_count): Document max value.
+
+2019-05-10 Florian Weimer <fweimer@redhat.com>
+
+ * nptl/sem_close.c (struct walk_closure): Define.
+ (walker): Adjust for __twalk_r.
+ (sem_close): Call __twalk_r.
+
+2019-05-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * support/timespec.c (test_timespec_before_impl,
+ test_timespec_equal_or_after_impl): print timespec member as intmax_t
+ insted of long int.
+
+2019-05-09 Mike Crowe <mac@mcrowe.com>
+
+ * nptl/tst-abstime.c: Use libsupport.
+
+ * nptl/tst-rwlock6.c: Use libsupport. This also happens to fix a
+ small bug where only tv.tv_usec was checked which could cause an
+ erroneous pass if pthread_rwlock_timedrdlock incorrectly took more
+ than a second.
+
+ * nptl/tst-rwlock7.c, nptl/tst-rwlock9.c, nptl/tst-rwlock14.c: Use
+ libsupport.
+
+ * nptl/tst-sem5.c (do_test): Use xclock_gettime, timespec_add and
+ TEST_TIMESPEC_NOW_OR_AFTER from libsupport.
+
+ * nptl/tst-cond11.c: Use libsupport.
+
+ * support/timespec.h: New file. Provide timespec helper functions
+ along with macros in the style of those in check.h.
+ * support/timespec.c: New file. Implement check functions declared
+ in support/timespec.h.
+ * support/timespec-add.c: New file from gnulib containing
+ timespec_add implementation that handles overflow.
+ * support/timespec-sub.c: New file from gnulib containing
+ timespec_sub implementation that handles overflow.
+ * support/README: Mention timespec.h.
+
+2019-05-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ [BZ #24537]
+ * nptl/Makefile: Move tst-eintr1 to xtests.
+
+2019-05-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * sysdeps/powerpc/fpu/trunc_to_integer.h (set_fenv_mode): Add
+ TRUNC handling.
+ (round_mode): Add definition for TRUNC.
+ * sysdeps/powerpc/fpu/s_trunc.c: New file.
+ * sysdeps/powerpc/fpu/s_truncf.c: New file.
+ * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Remove file.
+ * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-power5+.c: New
+ file.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_trunc-ppc32.c:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-power5+.c:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_truncf-ppc32.c:
+ Likewise.
+ * sysdep/powerpc/powerpc32/power5+/fpu/s_trunc.S: Remove file.
+ * sysdep/powerpc/powerpc32/power5+/fpu/s_truncf.S: Likewise.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Add s_trunc-power5+, s_trunc-ppc64,
+ s_truncf-power5+, and s_truncf-ppc64.
+ (CFLAGS-s_trunc-power5+.c, CFLAGS-s_truncf-power5+.c): New rule.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-power5+.c: New
+ file.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_trunc-ppc64.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_trunc.c: ... here.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-power5+.c: New
+ file.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_truncf-ppc64.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_truncf.c: ... here.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Remove s_trunc-power5+, s_trunc-ppc64,
+ s_truncf-power5+, and s_truncf-ppc64.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Remove
+ file.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
+ * sysdep/powerpc/powerpc64/power5+/fpu/s_trunc.S: Likewise.
+ * sysdep/powerpc/powerpc64/power5+/fpu/s_truncf.S: Likewise.
+
+ * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode): Add
+ ROUND handling.
+ (round_mode): Add definition for ROUND.
+ (round_to_integer_float): Likewise.
+ * sysdeps/powerpc/fpu/s_round.c: New file.
+ * sysdeps/powerpc/fpu/s_roundf.c: New file.
+ * sysdeps/powerpc/powerpc32/fpu/s_round.S: Remove file.
+ * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.S:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-power5+.c: New
+ file.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_round-ppc32.c:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-power5+.c:
+ Likewise.
+ * sysdep/powerpc/powepc32/power4/fpu/multiarch/s_roundf-ppc32.c:
+ Likewise.
+ * sysdep/powerpc/powerpc32/power5+/fpu/s_round.S: Remove file.
+ * sysdep/powerpc/powerpc32/power5+/fpu/s_roundf.S: Likewise.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Add s_round-power5+, s_round-ppc64,
+ s_roundf-power5+, and s_roundf-ppc64.
+ (CFLAGS-s_round-power5+.c, CFLAGS-s_roundf-power5+.c): New rule.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-power5+.c: New
+ file.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_round-ppc64.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_round.c: ... here.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-power5+.c: New
+ file.
+ * sysdep/powerpc/powercp64/be/fpu/multiarch/s_roundf-ppc64.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_roundf.c: ... here.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Remove s_round-power5+, s_round-ppc64,
+ s_roundf-power5+, and s_roundf-ppc64.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Remove
+ file.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S:
+ Likewise.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
+ * sysdep/powerpc/powerpc64/power5+/fpu/s_round.S: Likewise.
+ * sysdep/powerpc/powerpc64/power5+/fpu/s_roundf.S: Likewise.
+
+ * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode):
+ Add FLOOR option.
+ (round_mode): Add definition for FLOOR.
+ * sysdeps/powerpc/fpu/s_floor.c: New file.
+ * sysdeps/powerpc/fpu/s_floorf.c: Likewise.
+ * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Remove file.
+ * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.S:
+ Remove file.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.S:
+ Likewise
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.S:
+ Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.S:
+ Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-power5+.c:
+ New file.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor-ppc32.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-power5+.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf-ppc32.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Remove file.
+ * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Remove file.
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Add s_floor-power5+, s_floor-ppc64,
+ s_floorf-power5+, and s_floorf-ppc64.
+ (CFLAGS-s_floor-power5+.c, CFLAGS-s_floorf-power5+.c): New rule.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-power5+.c: New
+ file.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floor-ppc64.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floor.c: ... here.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-power5+.c: New
+ file.
+ * sysdep/powerpc/powerpc64/be/fpu/multiarch/s_floorf-ppc64.c:
+ Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Move to ...
+ * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_floorf.c: ... here.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+ (libm-sysdep_routines): Remove s_floor-power5+, s_floor-ppc64,
+ s_floorf-power5+, and s_floorf-ppc64.
+ * sysdep/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Remove
+ file.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Remove
+ file.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S:
+ Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S:
+ Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Likewise.
+
+2019-05-08 Mike Crowe <mac@mcrowe.com>
+
+ * support/xclock_gettime.c (xclock_gettime): New file. Provide
+ clock_gettime wrapper for use in tests that fails the test rather
+ than returning failure.
+
+ * support/xtime.h: New file to declare xclock_gettime.
+
+ * support/Makefile: Add xclock_gettime.c.
+
+ * support/README: Mention xtime.h.
+
+2019-05-08 Florian Weimer <fweimer@redhat.com>
+
+ malloc/tst-mallocfork2: Use process-shared barriers.
+ * malloc/tst-mallocfork2.c: Switch to <support/test-driver.c>.
+ (signal_count, sigusr1_sender_pid): Remove.
+ (iterations): Define constant.
+ (shared): New variable.
+ (sigusr1_received): Update comment.
+ (sigusr1_handler): Do not send SIGSTOP to the sender process.
+ (signal_sender): Optional use barriers to avoid sending signals
+ during irrelevant times.
+ (do_it): Initialize variable shared. Use xfork for error
+ checking. Launch multiple SIGUSR1-sending subprocesses. Limit
+ the iteration count, independent of signal delivery. Check for
+ deadlocks in fork. Introduce barriers for reducing signal
+ traffic. Do not send SIGCONT to the SIGUSR1-sending processes;
+ replaced by the barriers. Count signals during fork/free/malloc
+ and report them.
+ * malloc/Makefile (tst-mallocfork): Link with libpthread.
+
+2019-05-07 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
+ version to 5.1.
+ (clock_adjtime64) New syscall.
+ (clock_getres_time64) Likewise.
+ (clock_gettime64) Likewise.
+ (clock_nanosleep_time64) Likewise.
+ (clock_settime64) Likewise.
+ (futex_time64) Likewise.
+ (io_pgetevents_time64) Likewise.
+ (io_uring_enter) Likewise.
+ (io_uring_register) Likewise.
+ (io_uring_setup) Likewise.
+ (mq_timedreceive_time64) Likewise.
+ (mq_timedsend_time64) Likewise.
+ (pidfd_send_signal) Likewise.
+ (ppoll_time64) Likewise.
+ (pselect6_time64) Likewise.
+ (recvmmsg_time64) Likewise.
+ (rt_sigtimedwait_time64) Likewise.
+ (sched_rr_get_interval_time64) Likewise.
+ (semtimedop_time64) Likewise.
+ (timer_gettime64) Likewise.
+ (timer_settime64) Likewise.
+ (timerfd_gettime64) Likewise.
+ (timerfd_settime64) Likewise.
+ (utimensat_time64) Likewise.
+
+ * scripts/build-many-glibcs.py (Context.checkout): Default GCC
+ version to 9 branch.
+
+2019-05-03 Anton Youdkevitch <anton.youdkevitch@bell-sw.com>
+
+ * sysdeps/aarch64/multiarch/ifunc-impl-list.c: Added
+ __memmove_thunderx2 to the list of implementations
+ * sysdeps/aarch64/multiarch/memmove.c: Likewise
+ * sysdeps/aarch64/multiarch/memcpy_thunderx2.S:
+ (__memmove_thunderx2): Rewritten using SIMD ld/st
+ (__memcpy_thunderx2): Fixed handling overlapping cases.
+ Used ldp/stp instead of ldr/str if possible. Made loops
+ tails branchless.
+
+2019-05-03 Florian Weimer <fweimer@redhat.com>
+
+ * misc/tst-tsearch.c (walk_tree): Add more error checking.
+
+2019-05-02 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ [BZ #24506]
+ * elf/tst-pldd.c (in_str_list): New function.
+ (do_test): Add default names for ld and libc as one option.
+
+2019-05-02 Florian Weimer <fweimer@redhat.com>
+
+ misc: Add twalk_r function.
+ * include/search.h (__twalk_r): Declare.
+ * manual/examples/twalk.c: New file.
+ * manual/search.texi (Tree Search Function): Document twalk_r.
+ * misc/Versions (2.30): Export twalk_r.
+ (GLIBC_PRIVATE): Export __twalk_r.
+ * misc/search.h [__USE_GNU] (twalk_r): Declare.
+ * misc/tsearch.c (trecurse_r, __twalk_r): New functions.
+ (twalk_r): Add weak alias.
+ * misc/tst-tsearch.c (struct walk_trace_element): Define.
+ (walk_trace): New variable.
+ (struct twalk_with_twalk_r_closure): Define.
+ (twalk_with_twalk_r_action): New function.
+ (twalk_with_twalk_r): Likewise.
+ (walk_action): Call walk_trace_add.
+ (walk_tree_with): Rename from walk_tree. Add walk argument.
+ (walk_tree): New function.
+ * sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.30): Add twalk_r.
+ * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/arm/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/csky/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/hppa/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/i386/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/ia64/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/nios2/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+ (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sh/libc.abilist (GLIBC_2.30): Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist (GLIBC_2.30):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist (GLIBC_2.30):
+ Likewise.
+
2019-04-30 Paul Eggert <eggert@cs.ucla.edu>
Make mktime etc. compatible with __time64_t