]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - ChangeLog
Bug 20116: Fix use after free in pthread_create()
[thirdparty/glibc.git] / ChangeLog
index 801bb3aa48be262562d230429a53ba77123ffec0..4e0d78851cb976de887d76452b5cb53ba99353ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,498 @@
+2016-01-28  Carlos O'Donell  <carlos@redhat.com>
+           Alexey Makhalov <amakhalov@vmware.com>
+           Florian Weimer <fweimer@redhat.com>
+
+       [BZ #20116]
+       * nptl/pthread_create.c: Document concurrency notes.
+       Enhance thread creation notes.
+       (create_thread): Use bool *stopped_start.
+       (START_THREAD_DEFN): Comment ownership of PD.
+       (__pthread_create_2_1): Add local bool stopped_start and use
+       that instead of pd->stopped_start where appropriate.
+       * nptl/createthread.c (create_thread): Use bool *stopped_start.
+       * sysdeps/nacl/createthread.c (create_thread): Use bool *stopped_start.
+       * sysdeps/unix/sysv/linux/createthread.c (create_thread): Likewise.
+       * nptl/tst-create-detached.c: New file.
+       * nptl/Makefile (tests): Add tst-create-detached.
+       * nptl/pthread_getschedparam.c (__pthread_getschedparam):
+       Reference the enhanced thread creation notes.
+       * nptl/pthread_setschedparam.c (__pthread_setschedparam): Likewise.
+       * nptl/pthread_setschedprio.c (pthread_setschedprio): Likewise.
+       * nptl/tpp.c (__pthread_tpp_change_priority): Likewise.
+       (__pthread_current_priority): Likewise.
+       * support/Makefile (libsupport-routines): Add xpthread_attr_destroy
+       xpthread_attr_init, xpthread_attr_setdetachstate, and
+       xpthread_attr_setstacksize.
+       * support/xpthread_attr_destroy.c: New file.
+       * support/xpthread_attr_init.c: New file.
+       * support/xpthread_attr_setdetachstate.c: New file.
+       * support/xpthread_attr_setstacksize.c: New file.
+       * support/xthread.h: Define prototypes for xpthread_attr_destroy
+       xpthread_attr_init, xpthread_attr_setdetachstate, and
+       xpthread_attr_setstacksize.
+
+2017-01-27  Florian Weimer  <fweimer@redhat.com>
+
+       * nptl/Makefile (tests): Add tst-robust-fork.
+       * nptl/tst-robust-fork.c: New file.
+       * support/Makefile (libsupport-routines): Add xmmap, xmunmap,
+       xpthread_mutex_consistent, xpthread_mutex_destroy,
+       xpthread_mutex_init, xpthread_mutexattr_destroy,
+       xpthread_mutexattr_init, xpthread_mutexattr_setprotocol,
+       xpthread_mutexattr_setpshared, xpthread_mutexattr_setrobust,
+       xpthread_mutexattr_settype.
+       * support/xmmap.c: New file.
+       * support/xmunmap.c: Likewise.
+       * support/xpthread_mutex_consistent.c: Likewise.
+       * support/xpthread_mutex_destroy.c: Likewise.
+       * support/xpthread_mutex_init.c: Likewise.
+       * support/xpthread_mutexattr_destroy.c: Likewise.
+       * support/xpthread_mutexattr_init.c: Likewise.
+       * support/xpthread_mutexattr_setprotocol.c: Likewise.
+       * support/xpthread_mutexattr_setpshared.c: Likewise.
+       * support/xpthread_mutexattr_setrobust.c: Likewise.
+       * support/xpthread_mutexattr_settype.c: Likewise.
+       * support/xthread.h (xpthread_mutexattr_destroy)
+       (xpthread_mutexattr_init, xpthread_mutexattr_setprotocol)
+       (xpthread_mutexattr_setpshared, xpthread_mutexattr_setrobust)
+       (xpthread_mutexattr_settype, xpthread_mutex_init)
+       (xpthread_mutex_destroy, xpthread_mutex_consistent): Declare.
+       * support/xunistd.h (xmmap, xmunmap): Likewise.
+
+2017-01-25  Florian Weimer  <fweimer@redhat.com>
+
+       * string/Makefile (xtests): Add comment.
+       (LOCALES): Add en_GB.UTF-8.
+       (tst-strcoll-overflow.out): Depend on generated locales.
+       * string/tst-strcoll-overflow.c: Convert to support/test-driver.c.
+       (SIZE, TIMEOUT): Update comments.
+       (do_test): Define as static.  Fail test if setlocale fails.
+       Return EXIT_UNSUPPORTED if insufficient memory.  Enhance output
+       messages.
+       (EXPECTED_SIGNAL, EXPECTED_STATUS, TEST_FUNCTION): Remove.
+       TIMEOUT at 300 seconds should be enough to run this test
+       successfully.
+
+2017-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * soft-fp/op-common.h (_FP_MUL, _FP_FMA, _FP_DIV): Add
+       /* FALLTHRU */ comments.
+
+2017-01-24  James Clarke  <jrtc27@jrtc27.com>
+
+       [BZ #21053]
+       * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym: Use new REG_R*
+       constants instead of the old R* ones.
+       * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym: Likewise.
+       * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGPREG): Rename...
+       (NGREG): ... to this, to fit in with other architectures.
+       (gpregset_t): Use new NGREG macro.
+       [__USE_GNU]: Remove condition; all architectures other than tile
+       are unconditional.
+       (R*): Rename to REG_R*.
+
+2017-01-20  DJ Delorie  <dj@redhat.com>
+
+       * elf/dl-tunables.c (tunable_set_val_if_valid_range): Split into ...
+       (tunable_set_val_if_valid_range_signed) ... this, and ...
+       (tunable_set_val_if_valid_range_unsigned) ... this.
+       (tunable_initialize): Call the correct one of the above based on type.
+
+2017-01-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/hppa/fpu/libm-test-ulps: Remove *_tonearest entries.
+       * sysdeps/ia64/fpu/libm-test-ulps: Likewise.
+       * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise.
+       * sysdeps/microblaze/libm-test-ulps: Likewise.
+       * sysdeps/sh/libm-test-ulps: Likewise.
+
+       * math/README.libm-test: Update list of characters for input and
+       output types.
+
+2017-01-20  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
+       (__lll_unlock_elision): Fix adapt_count decrement.
+
+2017-01-14  Martin Galvan  <martingalvan@sourceware.org>
+
+       * README.pretty-printers (Known issues): Warn about printers not
+       always covering everything.
+       * nptl/nptl-printers.py (MutexPrinter): Change output.
+       * nptl/test-mutex-printers.py: Fix test and adapt to changed output.
+
+2017-01-20  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+       * sysdeps/unix/sysv/linux/s390/htm.h: Adjust comments.
+       * sysdeps/unix/sysv/linux/s390/elision-unlock.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/elision-lock.c: Adjust comments.
+       (__lll_lock_elision): Do not test futex before starting a
+       transaction.  Use __glibc_likely instead of __builtin_expect.
+       * sysdeps/unix/sysv/linux/s390/elision-trylock.c: Adjust comments.
+       (__lll_trylock_elision): Do not test futex before starting a
+       transaction.  Use __glibc_likely instead of __builtin_expect.
+
+2017-01-20  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * po/Makefile (update-translations): New target.
+
+2017-01-19  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #21061]
+       * sysdeps/unix/sysv/linux/microblaze/clock-compat.c: New file.
+
+2017-01-19  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * elf/dl-tunables (get_next_env): Always advance envp.
+       * stdlib/tst-empty-env.c: New test case.
+       * stdlib/Makefile (tests): Use it.
+
+2017-01-19  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #21047]
+       * sysdeps/arm/fpu_control.h [!__SOFTFP__] (_FPU_GETCW): Use VFP
+       name for instruction.
+       [!__SOFTFP__] (_FPU_SETCW): Likewise.
+
+2017-01-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * scripts/build-many-glibcs.py (Config.build_cross_tool): Use -j1
+       for make install.
+
+2017-01-18  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * po/bg.po: Merge from Translation Project.
+       * po/fr.po: Likewise.
+       * po/ko.po: Likewise.
+       * po/nl.po: Likewise.
+       * po/sv.po: Likewise.
+
+2017-01-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * manual/install.texi (Tools for Compilation): Update GCC version
+       known to work to build glibc.
+       * INSTALL: Regenerated.
+
+2017-01-17  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+       [BZ #21006]
+       * string/Makefile (LDFLAGS-tst-xbzero-opt): New variable.
+
+2017-01-16  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #21045]
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
+       (__CONTEXT_FUNC_NAME): Pass address of signal mask to be restored
+       to __sigprocmask.
+
+2017-01-16  Chris Metcalf  <cmetcalf@mellanox.com>
+
+       * sysdeps/tile/tilegx/memchr.c (__memchr): Handle pointer
+       wrap-around.
+       * sysdeps/tile/tilepro/memchr.c (__memchr): Likewise.
+
+       * sysdeps/unix/sysv/linux/tile/ipc_priv.h: New file.
+
+2016-01-14  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * NEWS: Fix typo.
+
+2016-01-13  Torvald Riegel  <triegel@redhat.com>
+
+       * nptl/descr.h (ENQUEUE_MUTEX_BOTH, DEQUEUE_MUTEX): Add compiler
+       barriers and comments.
+       * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Likewise.
+       * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
+       * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise.
+
+2016-01-13  Torvald Riegel  <triegel@redhat.com>
+
+       [BZ #19402]
+       * sysdeps/nptl/fork.c (__libc_fork): Clear list of acquired robust
+       mutexes.
+
+2016-01-13  Torvald Riegel  <triegel@redhat.com>
+
+       [BZ #20985]
+       * nptl/Makefile: Adapt.
+       * nptl/pthread_mutex_cond_lock.c (LLL_ROBUST_MUTEX_LOCK): Remove.
+       (LLL_ROBUST_MUTEX_LOCK_MODIFIER): New.
+       * nptl/pthread_mutex_lock.c (LLL_ROBUST_MUTEX_LOCK): Remove.
+       (LLL_ROBUST_MUTEX_LOCK_MODIFIER): New.
+       (__pthread_mutex_lock_full): Inline lll_robust* functions and adapt.
+       * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Inline
+       lll_robust* functions and adapt.
+       * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise.
+       * sysdeps/nptl/lowlevellock.h (__lll_robust_lock_wait,
+       __lll_robust_lock, lll_robust_cond_lock, __lll_robust_timedlock_wait,
+       __lll_robust_timedlock, __lll_robust_unlock): Remove.
+       * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_robust_lock,
+       lll_robust_cond_lock, lll_robust_timedlock, lll_robust_unlock): Remove.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_robust_lock,
+       lll_robust_cond_lock, lll_robust_timedlock, lll_robust_unlock): Remove.
+       * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (__lll_robust_lock_wait,
+       __lll_robust_lock, lll_robust_cond_lock, __lll_robust_timedlock_wait,
+       __lll_robust_timedlock, __lll_robust_unlock): Remove.
+       * nptl/lowlevelrobustlock.c: Remove file.
+       * nptl/lowlevelrobustlock.sym: Likewise.
+       * sysdeps/unix/sysv/linux/i386/lowlevelrobustlock.S: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Likewise.
+
+2017-01-13  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
+
+2017-01-12  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * po/cs.po: Merge translations from the Translation Project.
+       * po/de.po: Likewise.
+       * po/pl.po: Likewise.
+       * po/ru.po: Likewise.
+       * po/tr.po: Likewise.
+       * po/uk.po: Likewise.
+       * po/vi.po: Likewise.
+       * po/zh_CN.po: Likewise.
+
+2017-01-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: New file.
+
+       * math/fgetexcptflg.c (__fegetexceptflag): Store 0 in fexcept_t
+       object.
+
+2017-01-11  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #16458]
+       * bits/uintn-identity.h: New file.
+       * inet/netinet/in.h: Include <bits/uintn-identity.h>.
+       [__BYTE_ORDER == __BIG_ENDIAN] (ntohl): Use __uint32_identity.
+       [__BYTE_ORDER == __BIG_ENDIAN] (ntohs): Use __uint16_identity.
+       [__BYTE_ORDER == __BIG_ENDIAN] (htonl): Use __uint32_identity.
+       [__BYTE_ORDER == __BIG_ENDIAN] (htohs): Use __uint16_identity.
+       * string/endian.h: Include <bits/uintn-identity.h>.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (htole16): Use
+       __uint16_identity.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (le16toh): Likewise.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (htole32): Use
+       __uint32_identity.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (le32toh): Likewise.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (htole64): Use
+       __uint64_identity.
+       [__BYTE_ORDER == __LITTLE_ENDIAN] (le64toh): Likewise.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (htobe16): Use
+       __uint16_identity.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (be16toh): Likewise.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (htobe32): Use
+       __uint32_identity.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (be32toh): Likewise.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (htobe64): Use
+       __uint64_identity.
+       [__BYTE_ORDER != __LITTLE_ENDIAN] (be64toh): Likewise.
+       * string/Makefile (headers): Add bits/uintn-identity.h.
+       (tests): Add test-endian-types.
+       * string/test-endian-types.c: New file.
+       * inet/Makefile (tests): Add test-hnto-types.
+       * inet/test-hnto-types.c: New file.
+
+2016-01-11  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * po/be.po: Update from Translation Project.
+       * po/bg.po: Likewise.
+       * po/ca.po: Likewise.
+       * po/cs.po: Likewise.
+       * po/da.po: Likewise.
+       * po/de.po: Likewise.
+       * po/el.po: Likewise.
+       * po/eo.po: Likewise.
+       * po/es.po: Likewise.
+       * po/fi.po: Likewise.
+       * po/fr.po: Likewise.
+       * po/gl.po: Likewise.
+       * po/hr.po: Likewise.
+       * po/hu.po: Likewise.
+       * po/ia.po: Likewise.
+       * po/id.po: Likewise.
+       * po/it.po: Likewise.
+       * po/ja.po: Likewise.
+       * po/ko.po: Likewise.
+       * po/lt.po: Likewise.
+       * po/nb.po: Likewise.
+       * po/nl.po: Likewise.
+       * po/pl.po: Likewise.
+       * po/pt_BR.po: Likewise.
+       * po/ru.po: Likewise.
+       * po/rw.po: Likewise.
+       * po/sk.po: Likewise.
+       * po/sl.po: Likewise.
+       * po/sv.po: Likewise.
+       * po/tr.po: Likewise.
+       * po/uk.po: Likewise.
+       * po/vi.po: Likewise.
+       * po/zh_CN.po: Likewise.
+       * po/zh_TW.po: Likewise.
+
+2017-01-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * stdio-common/tst-printf.c [__GNUC_PREREQ (7, 0)]: Ignore
+       -Wformat-truncation instead of -Wformat-length.
+       * time/tst-strptime2.c (mkbuf) [__GNUC_PREREQ (7, 0)]: Likewise.
+       * stdio-common/tstdiomisc.c (F): Ignore -Wformat-truncation for
+       GCC 7.
+       * wcsmbs/tst-wcstof.c: Include <libc-internal.h>.
+       (do_test): Ignore -Wformat-truncation for GCC 7.
+
+       * locale/programs/ld-address.c (INT_STR_ELEM): Increase size of
+       buffer used to print long int value.
+
+       * elf/sotruss-lib.c (init): Increase space allocated for pid by
+       one byte.  Print it with %ld, cast to long int.
+
+2017-01-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * scripts/build-many-glibcs.py (os.cpu_count): Add compatibility definition.
+       (re.fullmatch, subprocess.run): Likewise.
+
+2016-01-11  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * po/libc.pot: Regenerate.
+
+2016-01-10  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * elf/dl-tunables.c (tunables_unsetenv): Remove function.
+       (min_strlen): Likewise.
+       (disable_tunable): Likewise.
+       (maybe_disable_malloc_check): Rename to
+       maybe_enable_malloc_check.
+       (maybe_enable_malloc_check): Enable glibc.malloc.check tunable
+       if /etc/suid-debug file exists.
+       (__tunables_init): Update caller.
+       * elf/dl-tunables.list (glibc.malloc.check): Don't mark as
+       secure.
+
+2016-01-10  Torvald Riegel  <triegel@redhat.com>
+
+       * nptl/DESIGN-rwlock.txt: Remove.
+       * nptl/lowlevelrwlock.sym: Remove.
+       * nptl/Makefile: Add new tests.
+       * nptl/pthread_rwlock_common.c: New file.  Contains the new rwlock.
+       * nptl/pthreadP.h (PTHREAD_RWLOCK_PREFER_READER_P): Remove.
+       (PTHREAD_RWLOCK_WRPHASE, PTHREAD_RWLOCK_WRLOCKED,
+       PTHREAD_RWLOCK_RWAITING, PTHREAD_RWLOCK_READER_SHIFT,
+       PTHREAD_RWLOCK_READER_OVERFLOW, PTHREAD_RWLOCK_WRHANDOVER,
+       PTHREAD_RWLOCK_FUTEX_USED): New.
+       * nptl/pthread_rwlock_init.c (__pthread_rwlock_init): Adapt to new
+       implementation.
+       * nptl/pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock_slow): Remove.
+       (__pthread_rwlock_rdlock): Adapt.
+       * nptl/pthread_rwlock_timedrdlock.c
+       (pthread_rwlock_timedrdlock): Adapt.
+       * nptl/pthread_rwlock_timedwrlock.c
+       (pthread_rwlock_timedwrlock): Adapt.
+       * nptl/pthread_rwlock_trywrlock.c (pthread_rwlock_trywrlock): Adapt.
+       * nptl/pthread_rwlock_tryrdlock.c (pthread_rwlock_tryrdlock): Adapt.
+       * nptl/pthread_rwlock_unlock.c (pthread_rwlock_unlock): Adapt.
+       * nptl/pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock_slow): Remove.
+       (__pthread_rwlock_wrlock): Adapt.
+       * nptl/tst-rwlock10.c: Adapt.
+       * nptl/tst-rwlock11.c: Adapt.
+       * nptl/tst-rwlock17.c: New file.
+       * nptl/tst-rwlock18.c: New file.
+       * nptl/tst-rwlock19.c: New file.
+       * nptl/tst-rwlock2b.c: New file.
+       * nptl/tst-rwlock8.c: Adapt.
+       * nptl/tst-rwlock9.c: Adapt.
+       * sysdeps/aarch64/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/arm/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/hppa/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/ia64/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/m68k/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/microblaze/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/mips/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/nios2/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/s390/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/sh/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/sparc/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/tile/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
+       (pthread_rwlock_t): Adapt.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+       (pthread_rwlock_t): Adapt.
+       * sysdeps/x86/bits/pthreadtypes.h (pthread_rwlock_t): Adapt.
+       * nptl/nptl-printers.py (): Adapt.
+       * nptl/nptl_lock_constants.pysym: Adapt.
+       * nptl/test-rwlock-printers.py: Adapt.
+       * nptl/test-rwlockattr-printers.c: Adapt.
+       * nptl/test-rwlockattr-printers.py: Adapt.
+
+2017-01-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * math/libm-test.inc (XFAIL_IBM128_LIBGCC): New macro.
+       (fdim_test_data): Use XFAIL_ROUNDING_IBM128_LIBGCC for some tests.
+       (fma_test_data): Likewise.
+       (hypot_test_data): Likewise.
+       (log1p_test_data): Likewise.
+       (modf_test_data): Likewise.
+       (pow_test_data): Likewise.
+       (remainder_test_data): Likewise.
+       (remquo_test_data): Likewise.
+       (scalb_test_data): Likewise.
+       (scalbn_test_data): Likewise.
+       (scalbln_test_data): Likewise.
+       * math/gen-libm-test.pl (parse_args): Transform
+       XFAIL_ROUNDING_IBM128_LIBGCC to XFAIL_IBM128_LIBGCC or 0 depending
+       on the rounding mode.
+
+2017-01-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * math/gen-auto-libm-tests.c (output_for_one_input_case): Apply
+       xfail-rounding:ibm128-libgcc automatically to tests overflowing
+       and those that can underflow to zero.
+       * math/auto-libm-test-in: Remove most XFAILs for ibm128-libgcc and
+       add others.
+       * math/auto-libm-test-out: Regenerated.
+
+       * math/test-fenv.c (fe_tests): Skip most tests when exceptions not
+       supported.
+       (feholdexcept_tests): Skip tests requiring exceptions or rounding
+       modes support if not supported.
+
+       * sysdeps/unix/sysv/linux/microblaze/localplt.data (__pread64):
+       Add libc.so PLT entry.
+       (__tls_get_addr): Make ld.so PLT entry optional.
+
+2017-01-09  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * string/bits/strings_fortified.h (explicit_bzero): Move back to ..
+       * string/bits/string3.h: ... here.
+
 2017-01-05  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #21028]
+       * math/fsetexcptflg.c (__fesetexceptflag): Always return 0.
+       * math/test-fexcept.c (test_set): Allow failure of feraiseexcept
+       if EXCEPTION_TESTS returns false.
+
+2017-01-05  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       [BZ #20558]
+       * string/bits/string3.h [__USE_MISC] (bcopy): Move to
+       strings_fortified.h.
+       [__USE_MISC] (bzero): Likewise.
+       [__USE_MISC] (explicit_bzero): Likewise.
+       * string/strings.h: Include strings_fortified.h.
+       * string/Makefile (headers): Add strings_fortified.h.
+       * string/bits/strings_fortified.h: New file.
+       * include/bits/strings_fortified.h: Likewise.
+
+2017-01-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * elf/tst-tls13.c (TIMEOUT): Remove.
+       * iconvdata/tst-loading.c (TIMEOUT): Likewise.
+       * malloc/tst-malloc-thread-fail.c (TIMEOUT): Increase to 100.
+       * malloc/tst-mallocfork2.c (TIMEOUT): Define to 100.
+       * nss/tst-cancel-getpwuid_r.c (TIMEOUT): Define to 900.
+       * nss/tst-nss-getpwent.c (TIMEOUT): Define to 300.
+
        [BZ #21026]
        * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
        (readahead): New syscall entry.