]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - ChangeLog
malloc/tst-mallocfork2: Use process-shared barriers
[thirdparty/glibc.git] / ChangeLog
index 100e8407fca13d98bc1d64ac49626db3ab3a540c..8514b39661f6c6617226dd351078263fa1a05d03 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,292 @@
+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
+       Keep these functions compatible with Gnulib while adding
+       __time64_t support.  The basic idea is to move private API
+       declarations from include/time.h to time/mktime-internal.h, since
+       the former file cannot easily be shared with Gnulib whereas the
+       latter can.
+       Also, do some other minor cleanup while in the neighborhood.
+       * include/time.h: Include stdbool.h, time/mktime-internal.h.
+       (__mktime_internal): Move this prototype to time/mktime-internal.h,
+       since Gnulib needs it.
+       (__localtime64_r, __gmtime64_r) [__TIMESIZE == 64]:
+       Move these macros to time/mktime-internal.h, since Gnulib needs them.
+       (__mktime64, __timegm64) [__TIMESIZE != 64]: New prototypes.
+       (in_time_t_range): New static function.
+       * posix/bits/types.h (__time64_t): Move to time/mktime-internal.h,
+       so that glibc users are not tempted to use __time64_t.
+       * time/mktime-internal.h: Rewrite so that it does both glibc
+       and Gnulib work.  Include time.h if not _LIBC.
+       (mktime_offset_t) [!_LIBC]: Define for gnulib.
+       (__time64_t): New type or macro, moved here from
+       posix/bits/types.h.
+       (__gmtime64_r, __localtime64_r, __mktime64, __timegm64)
+       [!_LIBC || __TIMESIZE == 64): New macros, mostly moved here
+       from include/time.h.
+       (__gmtime_r, __localtime_r, __mktime_internal) [!_LIBC]:
+       New macros, taken from GNulib.
+       (__mktime_internal): New prototype, moved here from include/time.h.
+       * time/mktime.c (mktime_min, mktime_max, convert_time)
+       (ranged_convert, __mktime_internal, __mktime64):
+       * time/timegm.c (__timegm64):
+       Use __time64_t, not time_t.
+       * time/mktime.c: Stop worrying about whether time_t is floating-point.
+       (__mktime64) [! (_LIBC && __TIMESIZE != 64)]:
+       Rename from mktime.
+       (mktime) [_LIBC && __TIMESIZE != 64]: New function.
+       * time/timegm.c [!_LIBC]: Include libc-config.h, not config.h,
+       for libc_hidden_def.
+       Include errno.h.
+       (__timegm64) [! (_LIBC && __TIMESIZE != 64)]:
+       Rename from timegm.
+       (timegm) [_LIBC && __TIMESIZE != 64]: New function.
+
+2019-04-30  Maciej W. Rozycki  <macro@wdc.com>
+
+       [BZ #19444]
+       * sysdeps/ieee754/soft-fp/s_ddivl.c (__ddivl): Ignore errors
+       from `-Wmaybe-uninitialized'.
+       * sysdeps/ieee754/soft-fp/s_fdivl.c (__fdivl): Likewise.
+
+2019-04-29  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround_inline_nocheck): New
+       function.
+       * sysdeps/powerpc/fpu/round_to_integer.h: New file.
+       * sysdeps/powerpc/fpu/s_ceil.c: Likewise.
+       * sysdeps/powerpc/fpu/s_ceilf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (CFLAGS-s_ceil-power5+.c, CFLAGS-s_ceilf-power5+.c): New rule.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-power5+.c:
+       New file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-power5+.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Remove file.
+       * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile: New file.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-power5+.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil.c: ... here.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-power5+.c: New
+       file.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceilf.c: ...
+       * here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Remove s_ceil-power5+, s_ceil-ppc64,
+       s_ceilf-power5+, and s_ceilf-ppc64.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Remove
+       file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Likewise.
+
+       * sysdeps/powerpc/power4/fpu/Makefile: Remove file.
+       * sysdeps/powerpc/power4/fpu/mpa-arch.h: Likewise.
+       * sysdeps/powerpc/power4/fpu/mpa.c: Likewise.
+
+2019-04-29  Yann Droneaud  <ydroneaud@opteya.com>
+
+       * sysdeps/pthread/semaphore.h (sem_init): Add __nonnull attribute.
+       (sem_destroy, sem_open, sem_close, sem_unlink): Likewise.
+       (sem_wait, sem_timedwait, sem_trywait, sem_post): Likewise.
+       (sem_getvalue): Likewise.
+
+2019-04-26  Florian Weimer  <fweimer@redhat.com>
+
+       elf: Link sotruss-lib.so with BIND_NOW for --enable-bind-now.
+       * elf/Makefile (LDFLAGS-sotruss-lib.so): Set.
+
+2019-04-26  Florian Weimer  <fweimer@redhat.com>
+
+       Makeconfig: Move -Wl,-rpath-link options before library references.
+       * Makeconfig (+link-pie, +link): Add $(link-libc-rpath-link).
+       (link-libc): Remove $(link-libc-rpath-link).
+
+2019-04-25  Florian Weimer  <fweimer@redhat.com>
+
+       * Makeconfig (+link-pie-before-libc): Remove $(CC).
+       (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC).
+       (+link-static-before-libc): Remove $(CC).
+       (+link-static, +link-static-tests): Add $(CC).
+       (+link-before-libc): Remove $(CC).
+       (+link, +link-pie, +link-pie-printers): Add $(CC).
+
+2019-04-26  Florian Weimer  <fweimer@redhat.com>
+
+       * Makeconfig (+link-pie-before-libc): Remove $(CC).
+       (+link-pie, +link-pie-tests, +link-pie-printers-tests): Add $(CC).
+       (+link-static-before-libc): Remove $(CC).
+       (+link-static, +link-static-tests): Add $(CC).
+       (+link-before-libc): Remove $(CC).
+       (+link, +link-pie, +link-pie-printers): Add $(CC).
+
 2019-04-25  David Abdurachmanov  <david.abdurachmanov@gmail.com>
 
        [BZ#24484]