Bug 17195 - excessive heap trimming in threaded programs even when disabled with mallopt
Summary: excessive heap trimming in threaded programs even when disabled with mallopt
Alias: None
Product: glibc
Classification: Unclassified
Component: malloc (show other bugs)
Version: 2.19
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2014-07-24 11:04 UTC by Julian Taylor
Modified: 2016-02-18 18:08 UTC (History)
3 users (show)

See Also:
Last reconfirmed:
fweimer: security-


Note You need to log in before you can comment on or make changes to this bug.
Description Julian Taylor 2014-07-24 11:04:52 UTC
using glibc 2.19 from ubuntu 14.04 amd64 the following simple program causes a huge amount of page faults due to the heap being trimmed on every second free() even though heap trimming was disabled and the mmap threshold is set to the maximum:

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <malloc.h>

int main(int argc, const char *argv[])
    mallopt (M_TRIM_THRESHOLD, -1);
    mallopt (M_MMAP_THRESHOLD, 1024*1024*32);
#pragma omp parallel for num_threads(2)
    for (size_t i = 0; i < 1000; i++) {
        size_t n = 1024*1024*16;
        double * m = malloc(n);
        memset(m, 1, n);
    return 0;

gcc test.c -std=c99 -g -O2 -fopenmp
perf stat -e page-faults ./a.out 
         2,036,312 page-faults         

strace -f -e madvise ./a.out 2>&1 | grep MADV_DONTNEED | wc -l

when setting the number of threads to 1 it reuses the memory as expected:
perf stat -e page-faults ./a.out 
             4,271 page-faults
Comment 1 Ondrej Bilka 2014-08-30 12:34:00 UTC
Yes that is known issue

*** This bug has been marked as a duplicate of bug 1128 ***
Comment 2 Julian Taylor 2014-08-30 12:40:22 UTC
my issue is not with sbrk but with madvise in threaded applications which cannot be worked around by using mallopt like in the other bug.
the trimming can be disabled in single threaded applications but not multithreaded ones.
Comment 3 Julian Taylor 2015-02-12 17:46:09 UTC
a patch has been posted on the list (not by me):

I still think the duplicate is wrong, this is about madvise in threads, not sbrk.
Comment 4 Siddhesh Poyarekar 2015-02-18 05:48:53 UTC
Right, it's not a duplicate.  I'll have the patch pushed soon.
Comment 5 Sourceware Commits 2015-04-02 06:46:27 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c26efef9798914e208329c0e8c3c73bb1135d9e3 (commit)
      from  a3d9ab5070b56b49aa91be2887fa5b118012b2cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit c26efef9798914e208329c0e8c3c73bb1135d9e3
Author: Mel Gorman <mgorman@suse.de>
Date:   Thu Apr 2 12:14:14 2015 +0530

    malloc: Consistently apply trim_threshold to all heaps [BZ #17195]
    Trimming heaps is a balance between saving memory and the system overhead
    required to update page tables and discard allocated pages. The malloc
    option M_TRIM_THRESHOLD is a tunable that users are meant to use to decide
    where this balance point is but it is only applied to the main arena.
    For scalability reasons, glibc malloc has per-thread heaps but these are
    shrunk with madvise() if there is one page free at the top of the heap.
    In some circumstances this can lead to high system overhead if a thread
    has a control flow like
        while (data_to_process) {
            buf = malloc(large_size);
    For a large size, the free() will call madvise (pagetable teardown, page
    free and TLB flush) every time followed immediately by a malloc (fault,
    kernel page alloc, zeroing and charge accounting). The kernel overhead
    can dominate such a workload.
    This patch allows the user to tune when madvise gets called by applying
    the trim threshold to the per-thread heaps and using similar logic to the
    main arena when deciding whether to shrink. Alternatively if the dynamic
    brk/mmap threshold gets adjusted then the new values will be obeyed by
    the per-thread heaps.
    Bug 17195 was a test case motivated by a problem encountered in scientific
    applications written in python that performance badly due to high page fault
    overhead. The basic operation of such a program was posted by Julian Taylor
    With this patch applied, the overhead is eliminated. All numbers in this
    report are in seconds and were recorded by running Julian's program 30
                                     glibc               madvise
                                      2.21                    v2
    System  min             1.81 (  0.00%)        0.00 (100.00%)
    System  mean            1.93 (  0.00%)        0.02 ( 99.20%)
    System  stddev          0.06 (  0.00%)        0.01 ( 88.99%)
    System  max             2.06 (  0.00%)        0.03 ( 98.54%)
    Elapsed min             3.26 (  0.00%)        2.37 ( 27.30%)
    Elapsed mean            3.39 (  0.00%)        2.41 ( 28.84%)
    Elapsed stddev          0.14 (  0.00%)        0.02 ( 82.73%)
    Elapsed max             4.05 (  0.00%)        2.47 ( 39.01%)
                   glibc     madvise
                    2.21          v2
    User          141.86      142.28
    System         57.94        0.60
    Elapsed       102.02       72.66
    Note that almost a minutes worth of system time is eliminted and the
    program completes 28% faster on average.
    To illustrate the problem without python this is a basic test-case for
    the worst case scenario where every free is a madvise followed by a an alloc
    /* gcc bench-free.c -lpthread -o bench-free */
    static int num = 1024;
    void __attribute__((noinline,noclone)) dostuff (void *p)
    void *worker (void *data)
      int i;
      for (i = num; i--;)
          void *m = malloc (48*4096);
          dostuff (m);
          free (m);
      return NULL;
    int main()
      int i;
      pthread_t t;
      void *ret;
      if (pthread_create (&t, NULL, worker, NULL))
        exit (2);
      if (pthread_join (t, &ret))
        exit (3);
      return 0;
    Before the patch, this resulted in 1024 calls to madvise. With the patch applied,
    madvise is called twice because the default trim threshold is high enough to avoid
    This a more complex case where there is a mix of frees. It's simply a different worker
    function for the test case above
    void *worker (void *data)
      int i;
      int j = 0;
      void *free_index[num];
      for (i = num; i--;)
          void *m = malloc ((i % 58) *4096);
          dostuff (m);
          if (i % 2 == 0) {
            free (m);
          } else {
            free_index[j++] = m;
      for (; j >= 0; j--)
      return NULL;
    glibc 2.21 calls malloc 90305 times but with the patch applied, it's
    called 13438. Increasing the trim threshold will decrease the number of
    times it's called with the option of eliminating the overhead.
    ebizzy is meant to generate a workload resembling common web application
    server workloads. It is threaded with a large working set that at its core
    has an allocation, do_stuff, free loop that also hits this case. The primary
    metric of the benchmark is records processed per second. This is running on
    my desktop which is a single socket machine with an I7-4770 and 8 cores.
    Each thread count was run for 30 seconds. It was only run once as the
    performance difference is so high that the variation is insignificant.
                    glibc 2.21              patch
    threads 1            10230              44114
    threads 2            19153              84925
    threads 4            34295             134569
    threads 8            51007             183387
    Note that the saving happens to be a concidence as the size allocated
    by ebizzy was less than the default threshold. If a different number of
    chunks were specified then it may also be necessary to tune the threshold
    to compensate
    This is roughly quadrupling the performance of this benchmark. The difference in
    system CPU usage illustrates why.
    ebizzy running 1 thread with glibc 2.21
    10230 records/s 306904
    real 30.00 s
    user  7.47 s
    sys  22.49 s
    22.49 seconds was spent in the kernel for a workload runinng 30 seconds. With the
    patch applied
    ebizzy running 1 thread with patch applied
    44126 records/s 1323792
    real 30.00 s
    user 29.97 s
    sys   0.00 s
    system CPU usage was zero with the patch applied. strace shows that glibc
    running this workload calls madvise approximately 9000 times a second. With
    the patch applied madvise was called twice during the workload (or 0.06
    times per second).
    2015-02-10  Mel Gorman  <mgorman@suse.de>
      [BZ #17195]
      * malloc/arena.c (free): Apply trim threshold to per-thread heaps
        as well as the main arena.


Summary of changes:
 ChangeLog      |    6 ++++++
 NEWS           |   12 ++++++------
 malloc/arena.c |   13 ++++++++++---
 3 files changed, 22 insertions(+), 9 deletions(-)
Comment 6 Siddhesh Poyarekar 2015-04-02 06:48:01 UTC
Fixed in master.
Comment 7 Sourceware Commits 2015-08-05 06:54:44 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The annotated tag, glibc-2.22 has been created
        at  be75ddf5e4dfab2aa4ceb2428cc146e7ea26a346 (tag)
   tagging  78bd7499af46d739ce94410eaeea006e874ca9e5 (commit)
  replaces  glibc-2.21
 tagged by  Carlos O'Donell
        on  Wed Aug 5 02:45:12 2015 -0400

- Log -----------------------------------------------------------------
The GNU C Library

The GNU C Library version 2.22 is now available.

The GNU C Library is used as *the* C library in the GNU system and
in GNU/Linux systems, as well as many other systems that use Linux
as the kernel.

The GNU C Library is primarily designed to be a portable
and high performance C library.  It follows all relevant
standards including ISO C11 and POSIX.1-2008.  It is also
internationalized and has one of the most complete
internationalization interfaces known.

The GNU C Library webpage is at http://www.gnu.org/software/libc/

Packages for the 2.22 release may be downloaded from:

The mirror list is at http://www.gnu.org/order/ftp.html

NEWS for version 2.22

* The following bugs are resolved with this release:

  438, 4719, 6544, 6792, 11216, 12836, 13028, 13064, 13151, 13152, 14094,
  14292, 14841, 14906, 14958, 15319, 15467, 15790, 15969, 16159, 16339,
  16350, 16351, 16352, 16353, 16361, 16512, 16526, 16538, 16559, 16560,
  16704, 16783, 16850, 17053, 17090, 17195, 17269, 17293, 17322, 17403,
  17475, 17523, 17542, 17569, 17581, 17588, 17596, 17620, 17621, 17628,
  17631, 17692, 17711, 17715, 17776, 17779, 17792, 17833, 17836, 17841,
  17912, 17916, 17930, 17932, 17944, 17949, 17964, 17965, 17967, 17969,
  17977, 17978, 17987, 17991, 17996, 17998, 17999, 18007, 18019, 18020,
  18029, 18030, 18032, 18034, 18036, 18038, 18039, 18042, 18043, 18046,
  18047, 18049, 18068, 18080, 18093, 18100, 18104, 18110, 18111, 18116,
  18125, 18128, 18134, 18138, 18185, 18196, 18197, 18206, 18210, 18211,
  18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287, 18319,
  18324, 18333, 18346, 18371, 18383, 18397, 18400, 18409, 18410, 18412,
  18418, 18422, 18434, 18444, 18457, 18468, 18469, 18470, 18479, 18483,
  18495, 18496, 18497, 18498, 18502, 18507, 18508, 18512, 18513, 18519,
  18520, 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534, 18536,
  18539, 18540, 18542, 18544, 18545, 18546, 18547, 18549, 18553, 18557,
  18558, 18569, 18583, 18585, 18586, 18592, 18593, 18594, 18602, 18612,
  18613, 18619, 18633, 18641, 18643, 18648, 18657, 18676, 18694, 18696.

* Cache information can be queried via sysconf() function on s390 e.g. with
  _SC_LEVEL1_ICACHE_SIZE as argument.

* A buffer overflow in gethostbyname_r and related functions performing DNS
  requests has been fixed.  If the NSS functions were called with a
  misaligned buffer, the buffer length change due to pointer alignment was
  not taken into account.  This could result in application crashes or,
  potentially arbitrary code execution, using crafted, but syntactically
  valid DNS responses.  (CVE-2015-1781)

* The time zone file parser has been made more robust against crafted time
  zone files, avoiding heap buffer overflows related to the processing of
  the tzh_ttisstdcnt and tzh_ttisgmtcnt fields, and a stack overflow due to
  large time zone data files.  Overly long time zone specifiers in the TZ
  variable no longer result in stack overflows and crashes.

* A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors
  for LD and GD on x86 and x86-64, has been implemented.  You will need
  binutils-2.24 or later to enable this optimization.

* Character encoding and ctype tables were updated to Unicode 7.0.0, using
  new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red
  Hat).  These updates cause user visible changes, such as the fix for bug

* CVE-2014-8121 The NSS backends shared internal state between the getXXent
  and getXXbyYY NSS calls for the same database, causing a denial-of-service
  condition in some applications.

* Added vector math library named libmvec with the following vectorized x86_64
  implementations: cos, cosf, sin, sinf, sincos, sincosf, log, logf, exp, expf,
  pow, powf.
  The library can be disabled with --disable-mathvec. Use of the functions is
  enabled with -fopenmp -ffast-math starting from -O1 for GCC version >= 4.9.0.
  Shared library libmvec.so is linked in as needed when using -lm (no need to
  specify -lmvec explicitly for not static builds).
  Visit <https://sourceware.org/glibc/wiki/libmvec> for detailed information.

* A new fmemopen implementation has been added with the goal of POSIX
  compliance. The new implementation fixes the following long-standing
  issues: BZ#6544, BZ#11216, BZ#12836, BZ#13151, BZ#13152, and BZ#14292. The
  old implementation is still present for use be by existing binaries.

* The 32-bit sparc sigaction ABI was inadvertently broken in the 2.20 and 2.21
  releases.  It has been fixed to match 2.19 and older, but binaries built
  against 2.20 and 2.21 might need to be recompiled.  See BZ#18694.

* Port to Native Client running on ARMv7-A (--host=arm-nacl).
  Contributed by Roland McGrath (Google).


This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports.  These include:

Adhemerval Zanella
Alan Modra
Alexandre Oliva
Andreas Schwab
Andrew Senkevich
Andriy Rysin
Arjun Shankar
Aurelien Jarno
Benno Schulenberg
Brad Hubbard
Carlos O'Donell
Chris Metcalf
Christian Schmidt
Chung-Lin Tang
Cong Wang
Cyril Hrubis
Daniel Marjamäki
David S. Miller
Dmitry V. Levin
Eric Rannaud
Evangelos Foutras
Feng Gao
Florian Weimer
Gleb Fotengauer-Malinovskiy
H.J. Lu
Igor Zamyatin
J William Piggott
James Cowgill
James Lemke
John David Anglin
Joseph Myers
Kevin Easton
Khem Raj
Leonhard Holz
Mark Wielaard
Marko Myllynen
Martin Galvan
Martin Sebor
Matthew Fortune
Mel Gorman
Mike Frysinger
Miroslav Lichvar
Nathan Lynch
Ondřej Bílka
Paul Eggert
Paul Pluzhnikov
Pavel Kopyl
Pravin Satpute
Rajalakshmi Srinivasaraghavan
Rical Jasan
Richard Henderson
Roland McGrath
Rüdiger Sonderfeld
Samuel Thibault
Siddhesh Poyarekar
Stefan Liebler
Steve Ellcey
Szabolcs Nagy
Torvald Riegel
Tulio Magno Quites Machado Filho
Vincent Bernat
Wilco Dijkstra
Yaakov Selkowitz
Zack Weinberg
Version: GnuPG v1


Adhemerval Zanella (36):
      powerpc: multiarch Makefile cleanup for powerpc64
      powerpc: Simplify bcopy default implementation
      powerpc: Remove POWER7 wordcopy ifunc
      powerpc: wordcopy/memmove cleanup for ppc64
      powerpc: multiarch Makefile cleanup for powerpc32
      powerpc: wordcopy/memmove cleanup for ppc32
      powerpc: sysdeps/powerpc configure cleanup
      powerpc: drop R_PPC_REL16 check
      powerpc: Fix TABORT encoding for little endian
      powerpc: Fix memmove static build
      powerpc: Fix inline feraiseexcept, feclearexcept macros
      Update powerpc-fpu ULPs.
      powerpc: Fix incorrect results for pow when using FMA
      powerpc: Remove HAVE_ASM_GLOBAL_DOT_NAME define
      powerpc: Fix __wcschr static build
      libc-vdso.h place consolidation
      Fix non-portable echo usage in sysdeps/unix/make-syscalls.sh
      Add BZ #16704 as fixed
      Fix stdlib/tst-setcontext3 with dash [BZ#18418]
      i386: Remove six-argument specialized implementations
      Remove socket.S implementation
      Consolidate vDSO macros and usage
      Consolidate gettimeofday across aarch64/s390/tile
      Update powerpc-fpu libm-test-ulps.
      Fix ChangeLog entry
      x86: clock_gettime and timespec_get vDSO cleanup
      Use inline syscalls for non-cancellable versions
      nptl: Rewrite cancellation macros
      Consolidate sched_getcpu
      x86: Remove vsyscall usage
      libio: fmemopen rewrite to POSIX compliance
      libio: Update tst-fmemopen2.c
      libio: Update powerpc64le libc.abilist
      Avoid C++ tests when the C++ cannot be linked
      libio: Fix fmemopen 'w' mode with provided buffer
      Update powerpc-fpu libm-test-ulps.

Alan Modra (5):
      Fix localplt test breakage with new readelf
      Remove HAVE_ASM_PPC_REL16 references
      powerpc64 configure message
      powerpc __tls_get_addr call optimization
      Harden powerpc64 elf_machine_fixup_plt

Alexandre Oliva (6):
      Unicode 7.0.0 update; added generator scripts.
      Amendments to Unicode 7 update.
      BZ #15969: search locale archive again after alias expansion
      Fix constness error just introduced in findlocale.
      Avoid unsafe loc_name type casts with additional variable
      Fix DTV race, assert, DTV_SURPLUS Static TLS limit, and nptl_db garbage

Andreas Schwab (16):
      Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (bug 17912)
      Filter out PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype (BZ #15790)
      Fix failure of elf/tst-audit2 when compiled with GCC-5
      Fix read past end of pattern in fnmatch (bug 18032)
      Fix parallel build error
      Don't define __CORRECT_ISO_CPP_STRING_H_PROTO for non-GCC compilers (bug 17631)
      m68k: fix 64-bit arithmetic in atomic operations (bug 18128)
      aarch64: Increase MINSIGSTKSZ and SIGSTKSZ (bug 16850)
      Separate internal state between getXXent and getXXbyYY NSS calls (bug 18007)
      Simplify handling of nameserver configuration in resolver
      Record TTL also for DNS PTR queries (bug 18513)
      Fix buffer overflow for writes to memory buffer stream (bug 18549)
      Update NEWS
      m68k: update libm test ULPs
      Fix spurious conform test failures
      Properly terminate FDE in makecontext for ix86 (bug 18635)

Andrew Senkevich (29):
      This is the beginning of series of patches with addition
      Refactoring of START for conditions in individual tests
      Last part of changes regarding to libm-test.inc: addition
      This patch adds infrastructure for addition of SIMD
      This is update for configure, build and install of vector math library.
      Localplt testing for vector math library and libmvec_hidden_* macro series.
      This patch adds detection of availability for AVX512F and AVX512DQ ISAs.
      Start of series of patches with x86_64 vector math functions.
      Addition of testing infrastructure for vector math functions.
      Vector cosf for x86_64.
      This patch adds vector cosf tests.
      More strict check of AVX512 support in assembler.
      Vector sin for x86_64 and tests.
      Vector sinf for x86_64 and tests.
      Vector log for x86_64 and tests.
      Vector logf for x86_64 and tests.
      Vector exp for x86_64 and tests.
      Vector expf for x86_64 and tests.
      Vector pow for x86_64 and tests.
      Vector powf for x86_64 and tests.
      Vector sincos for x86_64 and tests.
      Vector sincosf for x86_64 and tests.
      Fixed powerpc64 build.
      Combination of data tables for x86_64 vector functions sin, cos and sincos.
      Combination of data tables for x86_64 vector functions sinf, cosf and sincosf.
      More correct description of linking with vector math library.
      Fixed several libmvec bugs found during testing on KNL hardware.
      Added runtime check for AVX vector math tests.
      Prevent runtime fail of SSE vector math tests on non SSE4.1 machine.

Andriy Rysin (1):
      Fix sorting order for Ukrainian locale (BZ 17293)

Arjun Shankar (4):
      CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow [BZ#18287]
      Ensure `wint_t' is defined before use in include/stdio.h
      Modify elf/tst-audit9.c to use test-skeleton.c
      Modify several tests to use test-skeleton.c

Aurelien Jarno (1):
      Fix ldconfig segmentation fault with corrupted cache (Bug 18093).

Benno Schulenberg (1):
      sprof: Make an error message identical to two others, and more accurate.

Brad Hubbard (1):
      Use calloc to allocate xports (BZ #17542)

Carlos O'Donell (15):
      Open development for 2.22.
      Fix missing ChangeLog attribution.
      NEWS: Fix spelling.
      Use alignment macros, pagesize and powerof2.
      hppa: Update libm-test-ulps.
      hppa: Fix feupdateenv and fesetexceptflag (Bug 18111).
      Enhance nscd's inotify support (Bug 14906).
      Bug 18125: Call exit after last linked context.
      Fail locale installation if localedef fails.
      Add sprintf benchmark.
      Fix ruserok scalability with large ~/.rhosts file.
      Add missing Advanced API (RFC3542) (1) defines.
      Regenerate libc.pot for 2.22 release.
      Updated translations for 2.22.
      Update version.h and include/features.h for 2.22 release

Chris Metcalf (8):
      linux-generic: add a README
      tile: Enable PI_STATIC_AND_HIDDEN
      tile: use better variable naming in INLINE_SYSCALL
      math/test-fenvinline: avoid compiler warning
      tile: Regenerate ULPs.
      tst-leaks: raise timeout to 5 seconds
      tile: Fix BZ #18508 (makecontext yield infinite backtrace)
      tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.h

Christian Schmidt (1):
      Update currency_symbol in da_DK

Chung-Lin Tang (5):
      Adjust timeouts for some tests, to accommodate slow processors,
      Fix order of arguments to rt_sigprocmask syscall when setting the signal mask
      Update Nios II ulps file.
      Add #include <string.h> to nptl/tst-join7mod.c to silence GCC warnings.
      Fixes extern protected data handling testcases elf/tst-protected1a

Cong Wang (1):
      in.h: Coordinate in6_pktinfo and ip6_mtuinfo for kernel and glibc [BZ #15850]

Cyril Hrubis (1):
      Set errno to ENOMEM on overflow in sbrk (bug 18592)

Daniel Marjamäki (1):
      Add __nonnull attribute to wcscpy and wcsncpy [BZ#18265]

David S. Miller (7):
      Update SPARC ulps.
      Rebuilt fresh sparc ULPS to get rid of removed tests.
      Convert sparc over to lowlevellock-futex.h
      Sparc memchr/memcmp/strncmp fixes from Il'ya Malakhov.
      Update sparc localplt.data
      Fix sparc build.
      Regenerate SPARC ULPs.

Dmitry V. Levin (3):
      Prepare for restoration of .interp section in libpthread.so
      _res_hconf_reorder_addrs: fix typo in comment
      Fix potential hanging of gethostbyaddr_r/gethostbyname_r

Eric Rannaud (1):
      linux: open and openat ignore 'mode' with O_TMPFILE in flags

Evangelos Foutras (1):
      Fix __memcpy_chk on non-SSE2 CPUs

Feng Gao (1):
      Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flags

Florian Weimer (32):
      NEWS: Also mention CVE-2015-1473
      _nss_nis_initgroups_dyn: Return status instead of NSS_STATUS_SUCCESS
      vfprintf: Introduce THOUSANDS_SEP_T
      vfprintf: Introduce JUMP_TABLE_BASE_LABEL
      vfprintf: Define WORK_BUFFER_SIZE
      Avoid SIGFPE in wordexp [BZ #18100]
      pthread_setaffinity (Linux variant): Rewrite to use VLA instead of alloca
      Define libc_max_align_t for internal use
      Add struct scratch_buffer and its internal helper functions
      scratch_buffer_grow_preserve: Add missing #include <string.h>
      pldd: Use struct scratch_buffer instead of extend_alloca
      grp: Rewrite to use struct scratch_buffer instead of extend_alloca
      _nss_compat_initgroups_dyn: Use struct scratch_buffer instead of extend_alloca
      getnameinfo: Use struct scratch_buffer instead of extend_alloca
      nscd_getgr_r: Use struct scratch_buffer instead of extend_alloca
      scratch_buffer: Suppress truncation warning on 32-bit
      Do not build with -Winline
      Make time zone file parser more robust [BZ #17715]
      posix_fallocate, posix_fallocate64 stub: Do not set errno
      test-skeleton: Support temporary files without memory leaks [BZ#18333]
      CVE-2014-8121: Do not close NSS files database during iteration [BZ #18007]
      NEWS: BZ#18319 was fixed in commit ed159672eb3cd650a32b7e5cb4d5ec1fe0e63802
      i386: Remove fallocate, fallocate64, posix_fallocate, posix_fallocate64
      __ASSUME_FALLOCATE is always true on 32-bit architectures
      vfprintf: Move jump table definition and the macros out of function
      vfprintf: Introduce printf_positional function
      vfprintf: Remove label name switching for the jump table
      Avoid some aliasing violations in libio
      Fix indentation to match nesting in previous commit
      posix_fallocate: Emulation fixes and documentation [BZ #15661]
      Commit 7fe9e2e089f4990b7d18d0798f591ab276b15f2b fixes [BZ# 17322]
      pthread_key_create: Fix typo in comment

Gleb Fotengauer-Malinovskiy (1):
      nptl: restore .interp section in libpthread.so

H.J. Lu (23):
      Compile gcrt1.o with -fPIC
      Compile vismain with -fPIE and link with -pie
      Replace __attribute__((visibility("protected")))
      Preserve bound registers in _dl_runtime_resolve
      Add a testcase for copy reloc against protected data
      Limit threads sharing L2 cache to 2 for SLM/KNL
      Check tzspec_len == 0 in __tzfile_read
      Remove a trailing `\' in make-syscalls.sh
      Don't issue an error if DT_PLTRELSZ is missing
      Make sure that calloc is called at least once
      Don't issue errors on GDB Python files
      Align TCB offset to the maximum alignment
      Support compilers defaulting to PIE
      Add a testcase for i386 LD_AUDIT
      Add and use sysdeps/i386/link-defines.sym
      Add la_symbind32 to x86-64 audit tests
      Improve bndmov encoding with zero displacement
      Replace %ld with %jd and cast to intmax_t
      Sort NEWS
      Add si_addr_bnd to _sigfault in x86 struct siginfo
      Extend local PLT reference check

Igor Zamyatin (1):
      Preserve bound registers for pointer pass/return

J William Piggott (1):
      [BZ #17969]

James Cowgill (1):
      [BZ #17930] MIPS: Define SHM_NORESERVE.

James Lemke (1):
      Fix for test "malloc_usable_size: expected 7 but got 11"

John David Anglin (2):
      hppa: fix __O_SYNC to match the kernel
      hppa: Fix feholdexcpt and fesetenv (Bug 18110).

Joseph Myers (162):
      soft-fp: Support floating-point extensions without quieting sNaNs.
      soft-fp: Refine FP_EX_DENORM handling for comparisons.
      soft-fp: Fix _FP_FMA when product is zero and third argument is finite (bug 17932).
      Remove sysdeps/mips soft-fp subdirectories.
      Fix sincos errno setting (bug 15467).
      Fix exp2 spurious underflows (bug 16560).
      Fix powerpc software sqrt (bug 17964).
      Fix powerpc software sqrtf (bug 17967).
      Fix dbl-64/wordsize-64 remquo (bug 17569).
      Fix MIPS __mips_isa_rev -Werror=undef build.
      Fix MIPS _COMPILING_NEWLIB -Werror=undef build.
      Fix MIPS _ABIO64 -Werror=undef build.
      Fix remquo spurious overflows (bug 17978).
      Fix sign of remquo zero remainder in round-downward mode (bug 17987).
      Refine documentation of libm exceptions goals.
      Fix posix_spawn getrlimit64 namespace (bug 17991).
      Fix search.h namespace (bug 17996).
      Fix atan / atan2 missing underflows (bug 15319).
      Fix scandir scandirat namespace (bug 17999).
      soft-fp: Adjust call to abort for kernel use.
      Fix x86/x86_64 scalb (qNaN, -Inf) (bug 16783).
      Fix ldbl-128ibm acoshl inaccuracy (bug 18019).
      Fix ldbl-128ibm asinhl inaccuracy (bug 18020).
      Fix ldbl-128ibm ilogbl near powers of 2 (bug 18029).
      Fix ldbl-128ibm logbl near powers of 2 (bug 18030).
      Fix asin missing underflows (bug 16351).
      Fix ldbl-128/ldbl-128ibm acosl inaccuracy (bug 18038, bug 18039).
      Avoid uninitialized warnings in Bessel functions.
      Avoid -Wno-write-strings for k_standard.c.
      Add comment to CSTR macro in k_standard.c.
      Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047).
      Correct __ASSUME_PRLIMIT64 for hppa/microblaze/sh (bug 17779).
      soft-fp: Condition sfp-machine.h include path on __KERNEL__.
      Fix /* in comment in previous commit.
      soft-fp: Support conditional zero-initialization in declarations.
      soft-fp: Use multiple-include guards.
      Add test for bug 18104.
      soft-fp: Add _FP_UNREACHABLE.
      soft-fp: Define and use _FP_STATIC_ASSERT.
      Make sem_timedwait use FUTEX_CLOCK_REALTIME (bug 18138).
      Note old commit as having resolved bug 11505.
      Add more tests of log2.
      Regenerate x86_64, x86 ulps from scratch.
      Add more tests of cosh, sinh.
      Add more tests of expm1.
      Add more tests of acos.
      Support six-argument syscalls from C for 32-bit x86, use generic lowlevellock-futex.h (bug 18138).
      Add more tests of asin.
      Remove unused macros from i386 lowlevellock.h.
      Add another test of asin.
      Add more tests of acosh, asinh and atanh.
      Fix dbl-64 atan in non-default rounding modes (bug 18197).
      Fix dbl-64 atan2 in non-default rounding modes (bug 18210, bug 18211).
      Add more tests of cabs.
      Add more tests of cbrt.
      Add more tests of atan.
      Add more tests of atanh.
      Add more tests of clog and clog10.
      Fix strtof decimal rounding close to half least subnormal (bug 18247).
      Fix ldbl-128 roundl for exponents in [31, 47] (bug 18346).
      Remove MIPS version of waitid.c.
      Add further tests of cosh and sinh.
      Add more tests of csqrt.
      Add more tests of erf, erfc.
      Add more tests of exp, exp10, exp2, expm1.
      Add more tests of log, log10, log1p, log2.
      Add more tests of lgamma.
      Add another test of pow.
      Add more tests of cos, sin, sincos.
      Add more tests of tan.
      Add more tests of tanh.
      Add more tests of tgamma.
      Add more tests of libm functions.
      Add further tests of libm functions.
      Add more tests of acosh, atanh, cos, csqrt, erfc, sin, sincos.
      Add more tests of csqrt, lgamma, log10, sinh.
      Fix mips16 __fpu_control static linking (bug 18397).
      Fix linknamespace test handling of architecture-specific st_other.
      Fix log1p missing underflows (bug 16339).
      Fix atanf spurious underflows (bug 18196).
      Fix erfcf spurious underflows (bug 18217).
      Fix lgammaf spurious underflows (bug 18220).
      Fix tanf spurious underflows (bug 18221).
      Fix atanhl missing underflows (bug 16352).
      Fix i386 atanhl spurious underflows (bug 18049).
      Fix ldbl-96 remquol (finite, Inf) (bug 18244).
      conformtest: clean up POSIX expectations for unistd.h.
      conformtest: correct POSIX expectations for locale.h.
      conformtest: use proper _POSIX_C_SOURCE value for POSIX.
      linknamespace: whitelist re_syntax_options.
      Fix sysdeps/ieee754/dbl-64/mpa.c for -Wuninitialized.
      Fix lgamma implementations for -Wuninitialized.
      Fix pathconf basename namespace (bug 18444).
      Restore _POSIX2_C_VERSION definition (bug 438).
      Fix ldbl-128 / ldbl-128ibm asinl for -Wuninitialized.
      Fix ldbl-128 / ldbl-128ibm erfcl for -Wuninitialized
      Fix ldbl-128 / ldbl-128ibm tanl for -Wuninitialized.
      Fix soft-fp fma for -Wuninitialized.
      Fix fnmatch towlower namespace (bug 18469).
      Use libc_hidden_proto / libc_hidden_def with __strnlen.
      Use better variable names in MIPS syscall macros.
      Fix fnmatch wmemchr namespace (bug 18468).
      Fix fnmatch strnlen namespace (bug 18470).
      Fix regex wctype namespace (bug 18495).
      Fix psignal, psiginfo declaration conditions (bug 18483).
      Fix regex wcrtomb namespace (bug 18496).
      Fix open_memstream namespace (bug 18498).
      Say "C++ tests" in comment on __open_memstream declaration.
      Fix pathconf statvfs namespace (bug 18507).
      Fix regcomp wcscoll, wcscmp namespace (bug 18497).
      Fix h_errno namespace (bug 18520).
      Fix ecvt_r, fcvt_r namespace (bug 18522).
      Fix aio_* pread namespace (bug 18519).
      Fix getlogin_r namespace (bug 18527).
      Fix grp.h endgrent, getgrent namespace (bug 18528).
      Fix netdb.h addrinfo namespace (bug 18529).
      Fix syslog fputs_unlocked namespace (bug 18530).
      Fix linknamespace expectations for in6addr_any, in6addr_loopback.
      Fix gethostbyaddr in6addr_any, in6addr_loopback namespace (bug 18532).
      Fix vsyslog namespace (bug 18533).
      Fix syslog dprintf namespace (bug 18534).
      Fix sem_* tdelete, tfind, tsearch, twalk namespace (bug 18536).
      Fix fmtmsg addseverity namespace (bug 18539).
      Fix getpass fflush_unlocked namespace (bug 18540).
      Fix swscanf vswscanf namespace (bug 18542).
      Fix mq_notify pthread_barrier_* namespace (bug 18544).
      Create hidden aliases for non-libc syscalls automatically.
      Fix mq_receive, mq_send mq_timed* namespace (bug 18545).
      Fix mq_notify socket, recv namespace (bug 18546).
      Fix ttyslot namespace (bug 18547).
      Fix nice getpriority, setpriority namespace (bug 18553).
      Remove ldbl-128ibm variants of complex math functions.
      Fix netinet/in.h MCAST_* namespace (bug 18558).
      Remove stray spurious-underflow markings from cexp test.
      Remove include/bits/ipc.h.
      Fix asinh missing underflows (bug 16350).
      conformtest: Support xfail markers on individual assertions.
      conformtest: Fix pselect expectations.
      Fix x86 / x86_64 expl, exp10l missing underflows (bug 16361).
      Correct ChangeLog syntax for conditional change within function.
      Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569).
      Fix expm1 missing underflows (bug 16353).
      Fix exp2, exp2f spurious underflows (bug 18219).
      Fix csqrt spurious underflows (bug 18371).
      Fix math/Makefile dependency on libm-test.stmp for libmvec tests.
      Fix spurious "inexact" exceptions from __kernel_standard_l (bug 18245, bug 18583).
      Fix sin, sincos missing underflows (bug 16526, bug 16538).
      Fix ldbl-128 expl missing underflows (bug 18586).
      Fix csin, csinh overflow in directed rounding modes (bug 18593).
      Move csin, csinh tests to auto-libm-test-in.
      Fix cexp, ccos, ccosh, csin, csinh spurious underflows (bug 18594).
      Refactor libm tests.
      Use round-to-nearest internally in jn, test with ALL_RM_TEST (bug 18602).
      Update headers for Linux 4.0, 4.1 definitions.
      Fix j1, jn missing underflows (bug 16559).
      Fix ldbl-128 j1l spurious underflows (bug 18612).
      Improve tgamma accuracy (bug 18613).
      Regenerate MIPS libm-test-ulps.
      Regenerate ARM libm-test-ulps.
      Regenerate powerpc-nofpu libm-test-ulps.
      Fix ldbl-128 expm1l (-min_subnorm) result sign (bug 18619).
      Mark bug 2981 (elf/tst-audit* fail on MIPS) as fixed.

Kevin Easton (1):
      Reduce lock contention in __tz_convert() [BZ #16145] (partial fix)

Khem Raj (2):
      Reflect renaming of bh_IN and tu_IN in SUPPORTED file [BZ #17475]
      locale: Do not define lang_ab for tcy_IN and bhb_IN

Leonhard Holz (6):
      Remove unused definitions
      Improve strcoll with strdiff.
      Split locale generation snippet into a separate file
      Add strcoll benchmark
      remove now unused idxnow in strcoll
      remove unnecessary memset in strcoll

Mark Wielaard (2):
      elf.h SHF_EXCLUDE signed int 31 bit shift triggers undefined behaviour.
      elf.h: Add section compression constants and structures.

Marko Myllynen (4):
      Fix bo_CN and bo_IN.
      Fix monetary.h comment
      Remove unused PREDEFINED_CLASSES code
      locale: Remove obsolete repertoire map references

Martin Galvan (2):
      NPTL: swap comments for THREAD_SETMEM and THREAD_SETMEM_NC for i386 and x86_64
      NPTL: Remove duplicate definition of PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP

Martin Sebor (4):
      powerpc: setcontext.S uses power6 mtfsf when not supported [BZ #18116]
      Attempting to install glibc configured with --prefix=/usr into
      The C++ 2011 std::call_once function is specified to allow
      The patch committed to fix bug #18435 caused regressions on aarch64

Matthew Fortune (2):
      ia64: remove fixed page size macros and others [BZ #17792]
      Add support for DT_MIPS_RLD_MAP_REL.

Mel Gorman (2):
      malloc: Consistently apply trim_threshold to all heaps [BZ #17195]
      malloc: Do not corrupt the top of a threaded heap if top chunk is MINSIZE [BZ #18502]

Mike Frysinger (27):
      ia64: drop custom getpagesize
      hppa: fix build failure with RTLD_PRIVATE_ERRNO
      add changelog for previous commit
      alloca: fix buf interaction
      manual: drop strerror C89 compatibility note
      hppa: update __O_SYNC fix with [BZ #18068]
      pwd.h: add __nonnull markings [BZ #18641]
      nscd: drop selinux/flask.h include
      tst-tzset: raise timeout to 5 seconds
      hppa/ia64: _dl_symbol_address: add PLT bypass for rtld
      hppa/ia64: _dl_unmap: make it hidden
      sparc: fix sigaction for 32bit builds [BZ #18694]
      ia64: siginfo.h: delete siginfo name
      ia64: sifaction.h: change sa_flags to an int
      ia64: stat.h: rename pad0 to __glibc_reserved0
      ia64: msg.h: fix msg_qnum/msg_qbytes types
      ia64: sigaction.h: fix sa_flags ordering
      conform/linknamespace: whitelist matherrf/matherrl
      pwd.h: revert __nonnull markings on putpwent [BZ #18641]
      ia64: clean up old kernel headers cruft
      ia64: atomic.h: fix atomic_exchange_and_add 64bit handling
      ia64: drop __tls_get_addr from expected ld.so plt usage
      hppa: rewrite INLINE_SYSCALL
      hppa: fix sysdep.h header setup
      hppa: sigaction.h: change sa_flags to an int
      hppa: fix pthreadtypes.h namespace failures
      hppa: add bz entry for pthreadtypes.h fix

Miroslav Lichvar (1):
      Update timex.h for ADJ_SETOFFSET.

Nathan Lynch (1):
      ARM: VDSO support

Ondřej Bílka (2):
      Handle mblen return code when n is zero.
      Use strspn/strcspn/strpbrk ifunc in internal calls.

Paul Eggert (6):
      Add ersatz _Static_assert on older C hosts
      * manual/time.texi (TZ Variable): glibc no longer comes with tzdata.
      * stdlib/setenv.c (__add_to_environ):
      * stdlib/setenv.c (__add_to_environ): Revert previous change.
      Better fix for setenv (..., NULL, ...)
      Remove obsolete aliases that broke 'locale -a'

Paul Pluzhnikov (13):
      Cleanup: add missing #include's
      Fix BZ #17269 -- _IO_wstr_overflow integer overflow
      Fix BZ #17916 - fopen unbounded stack usage for ccs= modes
      Fix minor formatting violation.
      Fix BZ 18036 buffer overflow (read past end of buffer) in internal_fnmatch
      Fix BZ #18043: buffer-overflow (read past the end) in wordexp/parse_dollars/parse_param
      Cleanup: in preparation for fixing BZ #16734, fix memory leaks exposed by
      Refactor wordexp-test.c such that words always ends at the edge of
      Fix off-by-one which caused BZ #18042 and add a test for it.
      Mention BZ #18042 in NEWS.
      Fix BZ #18043 (c4): buffer-overflow (read past the end) in wordexp/parse_dollars/parse_param
      Minor refactoring:
      Fix BZ #18043 comment # 19: don't call undefined setenv(..., NULL, 1).

Pavel Kopyl (1):
      Add forced deletion support to _dl_close_worker

Pravin Satpute (1):
      Correcting language code for Bhili and Tulu locales (bug 17475)

Rajalakshmi Srinivasaraghavan (2):
      powerpc: POWER7 strncpy optimization for unaligned string
      powerpc: strstr optimization

Rical Jasan (1):
      manual: complete example in error message documentation

Richard Henderson (5):
      alpha: Unconditionally include dl-sysdep.h in sysdep.h
      alpha: Update libm-test-ulps
      math/test-fenvinline: Cast fe_exc to unsigned int before printing
      alpha: Update libm-test-ulps
      soft-fp: Fix alpha kernel build problem

Roland McGrath (97):
      Clean up sysdep-dl-routines variable.
      Exclude rpcent functions and NSS backends for rpc, key when excluding sunrpc.
      x86: Clean up __vdso_clock_gettime variable.
      Clean up NPTL fork to be compat-only.
      Clean up NPTL longjmp to be compat-only.
      Clean up NPTL system to be compat-only.
      Clean up nptl/tst-join5 use of nanosleep.
      Fix nptl/tst-kill5 not to presume SIGRTMAX exists.
      Fix dirent/tst-fdopendir not to presume O_NOATIME exists.
      Fix libio/tst-atime not to presume ST_NOATIME exists.
      Move tst-getlogin to login/ subdirectory.
      Do not use SA_NOCLDWAIT in tst-pselect.
      Conditionalize some tests' use of SA_SIGINFO.
      Use signal rather than sigaction in nptl/tst-cleanup2.
      NPTL: Build tests using clone directly only for Linux.
      Don't set unused field in rt/tst-timer2.
      Conditionalize use of SIGRTMIN in nptl/tst-locale1.c.
      NPTL: Conditionalize some sanity tests for SIGCANCEL/SIGSETXID.
      ARM: Add missing sfi_breg in LDR_GLOBAL macro.
      Clean up math/test-snan.
      Pointless update in README.
      Another pointless update in README.
      Support after-link variable to run a final step on binaries.
      Use -Werror=undef for assembly code.
      NPTL: Initializer for .init_array-only configurations.
      Add placeholder c++-types.data and *.abilist files.
      Don't crash in iconv setup when getcwd fails.
      Convert tst-iconv5 to use test-skeleton.
      Convert tst-iconv3 to use test-skeleton.
      Convert dlfcn/tststatic2 to use test-skeleton.
      Deglobalize internal variables in timer_routines.c.
      Avoid C++ tests when the C++ cannot be linked.
      Avoid more C++ tests.
      Conditionalize some test code for SIGRTMIN, SA_SIGINFO.
      Split rpcent tests out of tst-netdb.
      Define ETH_ALEN in generic <netinet/if_ether.h>.
      Avoid re-exec-self in bug-setlocale1.
      ChangeLog format
      Document test-wrapper-env-only in INSTALL.
      Harmonize posix/regcomp.c with gnulib: comment formatting
      Let tests result in UNSUPPORTED; use that for unbuildable C++ cases
      ARM: Rewrite sysdeps/arm/tls-macros.h
      ARM: Fix memcpy & memmove for [ARM_ALWAYS_BX]
      Minor cleanups in libio/iofdopen.c
      Convert dlfcn/tststatic to use test-skeleton.
      Make test-skeleton.c grok TEST_DIRECT magic environment variable.
      Let non-add-on preconfigure scripts set libc_config_ok.
      Omit libc-modules.h for all .v.i files.
      Add arm-nacl port.
      Fuller check for invalid NSID in _dl_open.
      Avoid confusing compiler with dynamically impossible statically invalid dereference in _dl_close_worker.
      NaCl: Make __suseconds_t be long int rather than int32_t.
      NaCl: Fix symbol names for euidaccess.
      NaCl: Change clock_t to long int.
      NaCl: Fix elf_loader file name in nacl-test-wrapper.sh
      BZ#18383: Add test case for large alignment in TLS blocks.
      NaCl: Implement gethostname.
      NaCl: Provide non-default values for uname.
      Add a test case for scandir.
      Break __scandir_cancel_handler out into its own file.
      Refactor scandir/scandirat to use common tail.
      Nit fixes in last change.
      NaCl: Make fdopendir skip fcntl check.
      Refactor opendir.
      BZ#18434: Fix sem_post EOVERFLOW check for [!__HAVE_64B_ATOMICS].
      BZ#18434: Mark fixed in NEWS.
      Move usleep.c using nanosleep to sysdeps/posix.
      NaCl: Set tid field to a unique value.
      Fix nptl-init.c use of INTERNAL_SYSCALL_DECL.
      Split timed-wait functions out of nptl/lowlevellock.c.
      NaCl: Add NaCl-specific __lll_timedlock_wait.
      NaCl: Fix thinko in last change.
      NaCl: Fix lll_futex_timed_wait timeout calculation.
      NaCl: Make thread exit wake pthread_join.
      Fix setenv.c diagnostic pragma to be compatible with GCC 4.6
      BZ#18383: Another test case, with TLS refs and defs in separate TUs.
      NaCl: Implement nacl_interface_ext_supply entry point.
      Line-wrap some log entries.
      Print more information in tst-getcpu failure case.
      NaCl: Fix glob.c build after getlogin_r -> __getlogin_r.
      Use unsigned types for counters in AIO code.
      Use unsigned types for counters in getaddrinfo_a code.
      NPTL: Use unsigned type for setxid_futex.
      Install a dummy <rpc/netdb.h> when not building sunrpc/.
      Fix some places to use $(LN_S) makefile variable.
      BZ#18383: Conditionalize test-xfail-tst-tlsalign{,-static} on ARM assembler bug.
      PLT avoidance for _exit in rtld.
      Provide __libc_fatal for rtld.
      NaCl: Make pthread_condattr_setclock reject CLOCK_MONOTONIC.
      Factor file identity rules out of generic rtld code.
      Add abilist files and NEWS item for arm-nacl port.
      NaCl: Use only nacl_irt_dev_filename, never nacl_irt_filename.
      NaCl: Fix missing getdtablesize symbol.
      Add SIGWINCH to generic <bits/signum.h>.
      Make sysdeps/posix bring in login subdir.
      NaCl: Remove bogus O_SHLOCK, O_EXLOCK definitions.

Rüdiger Sonderfeld (1):
      Document tv_sec is of type time_t:

Samuel Thibault (28):
      hurd: fix build with pthread aio
      hurd: fix f?chflags prototypes, declare them and their flags
      hurd: allow poll() array bigger than FD_SETSIZE
      hurd: map nice levels 1-to-1 with Mach prio levels
      hurdselect: Let select get interrupted by signals
      hurd: fix sigstate locking
      hurdselect: remove dead code.
      hurd: support mmap with PROT_NONE
      hurd: add basic types for ioctls
      hurd: fix compilation of signal.h in C++
      hurd: fix compilation of signal.h in C++
      hurd: Ignore bytes beyond sockaddr length for AF_UNIX
      hurd: fix tls.h build
      hurd: Fix abi-tag, following ba90e05
      Fix time/getdate.c build.
      add hurd/hurdsocket.h file missing from a5eb23d
      hurd: fix unwind-resume.c build
      hurd: fix unwind-resume.c build
      Add fixed bug numbers to NEWS
      Revert "hurd: Fix abi-tag, following ba90e05"
      Fix aio_error thread-safety.
      hurd: Make libc able to call pthread stubs
      Add missing dependency
      Fix warnings
      Fix visibility of EXTPROC macro
      Add more exception to local headers list
      mach: fix typo
      hurd: permit to use mlock from non-root process

Siddhesh Poyarekar (25):
      Consolidate arena_lookup and arena_lock into a single arena_get
      Skip logging for DNSSEC responses [BZ 14841]
      Fix up NEWS merge goof-up
      Update NEWS
      Minor changelog fixup
      Add *.pyc to .gitignore
      Add envz_remove to the libc manual
      Succeed if make check does not report any errors
      Avoid deadlock in malloc on backtrace (BZ #16159)
      Fix typo in safety annotations in envz_remove
      Fix monetary.h comment
      New module to import and process benchmark output
      benchtest: script to compare two benchmarks
      Avoid boolean coercion in tst-tls-atexit test case
      Remove unnecessary mutex locks from tst-tls-atexit test case
      Whitespace fix in tst-tls-atexit.c
      Fix up ChangeLog
      Fix up typo in tst-tls-atexit
      Set NODELETE flag when opening already open objects with RTLD_NODELETE
      Whitespace fixup in cxa_thread_atexit_impl.c
      Add comment to clarify how the test can fail
      Remove Linuxism from tst-tls-atexit
      Also use l_tls_dtor_count to decide on object unload (BZ #18657)
      Mention dl_load_lock by name in the comments
      Use IE model for static variables in libc.so, libpthread.so and rtld

Stefan Liebler (18):
      S390: Build failure due to nptl/pt-longjmp.c changes.
      s390: Use generic lowlevellock-futex.h
      S/390: Regenerate ULPs
      S/390: Fix setcontext/swapcontext which are not restoring sigmask.
      Update tst_mbrlen/tst_mbrtowc for mblen change
      Set errno for log1p on pole/domain error.
      Use correct signedness in wcsncmp
      S/390: Get cache information via sysconf
      S/390: Regenerate ULPs
      Adjust tst-strfmon1 after da_DK locale change.
      S/390: Regenerate ULPs
      Fix timezone tests run in parallel.
      Fix benchtests build failure after 'add benchmark for strcoll'
      S390: Fix sem.h conformance test failures.
      S390: Regenerate ULPs.
      S390: Fix "backtrace() returns infinitely deep stack frames with makecontext()" [BZ #18508].
      S390: Regenerate ULPs
      i686: Mark stdlib/tst-makecontext as XFAIL.

Steve Ellcey (6):
      2015-02-13  Steve Ellcey  <sellcey@imgtec.com>
      2015-02-17  Steve Ellcey  <sellcey@imgtec.com>
      2015-02-17  Steve Ellcey  <sellcey@imgtec.com>
      2015-02-18  Steve Ellcey  <sellcey@imgtec.com>
      * inet/rcmd.c (rresvport_af): Change ss to anonymous union
      * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use a union to

Szabolcs Nagy (11):
      [AArch64] Fix the big endian loader name.
      [AArch64] Fix inline asm clobber list in tls-macros.h
      struct stat is not posix conform
      [BZ 18034][AArch64] Lazy TLSDESC relocation data race fix
      [AArch64] Fix cfi_adjust_cfa_offset usage in dl-tlsdesc.S
      Regenerate aarch64 libm-test-ulps
      [AArch64] make setcontext etc functions consistent with the kernel
      [AArch64][BZ 18400] fix elf_prpsinfo in procfs.h
      [AArch64][BZ 18648] change greg_t definition in ucontext.h
      [AArch64][BZ #17711] Fix extern protected data handling
      [ARM][BZ #17711] Fix extern protected data handling

Torvald Riegel (11):
      Make error checking effective in nptl/tst-cond25.c.
      ia64: Remove custom lowlevellock.h
      Fix lost wake-up when pthread_rwlock_timedrwlock times out.
      Fix missing wake-ups in pthread_rwlock_rdlock.
      Fix atomic_full_barrier on x86 and x86_64.
      Clean up BUSY_WAIT_NOP and atomic_delay.
      Remove documentation of lowlevellock systemtap probes.
      Do not create invalid pointers in C code of string functions.
      Add and use new glibc-internal futex API.
      Clean up semaphore EINTR handling after Linux futex docs clarification.
      hppa: Remove custom lowlevellock.h.

Tulio Magno Quites Machado Filho (2):
      BZ #18116: Mark fixed in NEWS.
      Avoid outputting to TTY after an expected memory corruption in testcase

Vincent Bernat (1):
      time: ensure failing strptime() tests are reported correctly

Wilco Dijkstra (14):
      Rather than using a C implementation of memset, directly call memset, which
      Rather than using a C implementation of memmove, directly call memmove, which
      Use __copysign rather than copysign.
      2015-05-06  Szabolcs Nagy  <szabolcs.nagy@arm.com>
      Remove various ABS macros and replace uses with fabs (or in one case abs)
      Add missing math_private includes.
      2015-05-28  Wilco Dijkstra  <wdijkstr@arm.com>
      2015-06-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>
      This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code.
      Replace finite with isfinite.
      Remove unused file sysdeps/ieee754/support.c
      Inline __ieee754_sqrt and __ieee754_sqrtf. Also add external definitions.
      Optimize the strlen implementation by using a page cross check and a fast check
      Add AArch64 versions of math_opt_barrier and math_force_eval that avoid going via memory.

Yaakov Selkowitz (1):
      manual: fix XPG basename prototype

Zack Weinberg (1):
      Deprecate the use of regexp.h

Comment 8 Sourceware Commits 2015-10-08 02:23:37 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  e4bc326dbbf7328775fe7dd39de1178821363e0a (commit)
      from  58a3a98d8f3488b659318b1a1c6efc169a6f06bf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit e4bc326dbbf7328775fe7dd39de1178821363e0a
Author: Carlos O'Donell <carlos@systemhalted.org>
Date:   Wed Oct 7 22:21:36 2015 -0400

    malloc: Consistently apply trim_threshold to all heaps (Bug 17195)
    In the per-thread arenas we apply trim_threshold-based checks
    to the extra space between the pad and the top_area. This isn't
    quite accurate and instead we should be harmonizing with the way
    in which trim_treshold is applied everywhere else like sysrtim
    and _int_free. The trimming check should be based on the size of
    the top chunk and only the size of the top chunk. The following
    patch harmonizes the trimming and make it consistent for the main
    arena and thread arenas.
    In the old code a large padding request might have meant that
    trimming was not triggered. Now trimming is considered first based
    on the chunk, then the pad is subtracted, and the remainder trimmed.
    This is how all the other trimmings operate. I didn't measure the
    performance difference of this change because it corrects what I
    consider to be a behavioural anomaly. We'll need some profile driven
    optimization to make this code better, and even there Ondrej and
    others have better ideas on how to speedup malloc.
    Tested on x86_64 with no regressions. Already reviewed by Siddhesh
    Poyarekar and Mel Gorman here and discussed here:


Summary of changes:
 ChangeLog      |    6 ++++++
 malloc/arena.c |   10 ++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)
Comment 9 Florian Weimer 2015-11-18 19:00:44 UTC
Commit c26efef9798914e208329c0e8c3c73bb1135d9e3 introduced a regression, see bug 18502.
Comment 10 Sourceware Commits 2016-02-18 18:08:18 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The annotated tag, glibc-2.23 has been created
        at  10ed3a0ffbb43ce0b0739da4addc747733be5e63 (tag)
   tagging  ab30899d880f9741a409cbc0d7a28399bdac21bf (commit)
  replaces  glibc-2.22
 tagged by  Adhemerval Zanella
        on  Thu Feb 18 16:04:58 2016 -0200

- Log -----------------------------------------------------------------
The GNU C Library

The GNU C Library version 2.23 is now available.

The GNU C Library is used as *the* C library in the GNU system and
in GNU/Linux systems, as well as many other systems that use Linux
as the kernel.

The GNU C Library is primarily designed to be a portable
and high performance C library.  It follows all relevant
standards including ISO C11 and POSIX.1-2008.  It is also
internationalized and has one of the most complete
internationalization interfaces known.

The GNU C Library webpage is at http://www.gnu.org/software/libc/

Packages for the 2.23 release may be downloaded from:

The mirror list is at http://www.gnu.org/order/ftp.html

NEWS for version 2.23

* Unicode 8.0.0 Support: Character encoding, character type info, and
  transliteration tables are all updated to Unicode 8.0.0, using new
  and/or improved generator scripts contributed by Mike FABIAN (Red Hat).
  These updates cause user visible changes, such as the fixes for bugs
  89, 16061, and 18568.

* sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the
  kernel-internal CPU set size.  This means that requests that change the
  CPU affinity which failed before (for example, an all-ones CPU mask) will
  now succeed.  Applications that need to determine the effective CPU
  affinities need to call sched_getaffinity or pthread_getaffinity_np after
  setting it because the kernel can adjust it (and the previous size check
  would not detect this in the majority of cases).

* The fts.h header can now be used with -D_FILE_OFFSET_BITS=64.  With LFS
  the following new symbols are used: fts64_children, fts64_close,
  fts64_open, fts64_read and fts64_set.

* getaddrinfo now detects certain invalid responses on an internal netlink
  socket.  If such responses are received, an affected process will
  terminate with an error message of "Unexpected error <number> on netlink
  descriptor <number>" or "Unexpected netlink response of size <number> on
  descriptor <number>".  The most likely cause for these errors is a
  multi-threaded application which erroneously closes and reuses the netlink
  file descriptor while it is used by getaddrinfo.

* A defect in the malloc implementation, present since glibc 2.15 (2012) or
  glibc 2.10 via --enable-experimental-malloc (2009), could result in the
  unnecessary serialization of memory allocation requests across threads.
  The defect is now corrected.  Users should see a substantial increase in
  the concurent throughput of allocation requests for applications which
  trigger this bug.  Affected applications typically create create and
  destroy threads frequently.  (Bug 19048 was reported and analyzed by

* There is now a --disable-timezone-tools configure option for disabling the
  building and installing of the timezone related utilities (zic, zdump, and
  tzselect).  This is useful for people who build the timezone data and code
  independent of the GNU C Library.

* The obsolete header <regexp.h> has been removed.  Programs that require
  this header must be updated to use <regex.h> instead.

* The obsolete functions bdflush, create_module, get_kernel_syms,
  query_module and uselib are no longer available to newly linked binaries;
  the header <sys/kdaemon.h> has been removed.  These functions and header
  were specific to systems using the Linux kernel and could not usefully be
  used with the GNU C Library on systems with version 2.6 or later of the
  Linux kernel.

* Optimized string, wcsmbs and memory functions for IBM z13.
  Implemented by Stefan Liebler.

* Newly linked programs that define a variable called signgam will no longer
  have it set by the lgamma, lgammaf and lgammal functions.  Programs that
  require signgam to be set by those functions must ensure that they use the
  variable provided by the GNU C Library and declared in <math.h>, without
  defining their own copy.

* The minimum GCC version that can be used to build this version of the GNU
  C Library is GCC 4.7.  Older GCC versions, and non-GNU compilers, can
  still be used to compile programs using the GNU C Library.

Security related changes:

* An out-of-bounds value in a broken-out struct tm argument to strftime no
  longer causes a crash.  Reported by Adam Nielsen.  (CVE-2015-8776)

* The LD_POINTER_GUARD environment variable can no longer be used to disable
  the pointer guard feature.  It is always enabled.  Previously,
  LD_POINTER_GUARD could be used to disable security hardening in binaries
  running in privileged AT_SECURE mode.  Reported by Hector Marco-Gisbert.

* An integer overflow in hcreate and hcreate_r could lead to an
  out-of-bounds memory access.  Reported by Szabolcs Nagy.  (CVE-2015-8778)

* The catopen function no longer has unbounded stack usage.  Reported by
  Max.  (CVE-2015-8779)

* The nan, nanf and nanl functions no longer have unbounded stack usage
  depending on the length of the string passed as an argument to the
  functions.  Reported by Joseph Myers.  (CVE-2014-9761)

* A stack-based buffer overflow was found in libresolv when invoked from
  libnss_dns, allowing specially crafted DNS responses to seize control
  of execution flow in the DNS client.  The buffer overflow occurs in
  the functions send_dg (send datagram) and send_vc (send TCP) for the
  NSS module libnss_dns.so.2 when calling getaddrinfo with AF_UNSPEC
  family.  The use of AF_UNSPEC triggers the low-level resolver code to
  send out two parallel queries for A and AAAA.  A mismanagement of the
  buffers used for those queries could result in the response of a query
  writing beyond the alloca allocated buffer created by
  _nss_dns_gethostbyname4_r.  Buffer management is simplified to remove
  the overflow.  Thanks to the Google Security Team and Red Hat for
  reporting the security impact of this issue, and Robert Holiday of
  Ciena for reporting the related bug 18665. (CVE-2015-7547)

The following bugs are resolved with this release:

  [89] localedata: Locales nb_NO and nn_NO should transliterate æøå
  [887] math: Math library function "logb" and "nextafter" inconsistent
  [2542] math: Incorrect return from float gamma (-0X1.FA471547C2FE5P+1)
  [2543] math: Incorrect return from float gamma (-0X1.9260DCP+1)
  [2558] math: Incorrect return from double gamma (-0X1.FA471547C2FE5P+1)
  [2898] libc: [improve]  warning: the use  of `mktemp' is dangerous, better
    use `mkstemp'
  [4404] localedata: German translation of "Alarm clock" is misleading
  [6799] math: nextafter() and nexttoward() doen't set errno on
    overflow/underflow errors
  [6803] math: scalb(), scalbln(), scalbn() do not set errno on
  [10432] nis: _nss_nis_setnetgrent assertion failure
  [11460] libc: fts has no LFS support
  [12926] network: getaddrinfo()/make_request() may spin forever
  [13065] nptl: Race condition in pthread barriers
  [13690] nptl: pthread_mutex_unlock potentially cause invalid access
  [14341] dynamic-link: Dynamic linker crash when DT_JMPREL and DT_REL{,A}
    are not contiguous
  [14551] math: [ldbl-128ibm] strtold overflow handling for IBM long double
  [14912] libc: Rename non-installed bits/*.h headers
  [15002] libc: Avoid undefined behavior in posix_fallocate overflow check
  [15367] math: Let gcc use __builtin_isinf
  [15384] math: One constant fewer in ieee754/dbl-64/wordsize-64/s_finite.c
  [15421] math: lgamma wrongly sets signgam for ISO C
  [15470] math: [arm] On ARM llrintl() and llroundl() do not raise
    FE_INVALID with argument out of range
  [15491] math: [i386/x86_64] x86 nearbyint implementations wrongly clear
    all exceptions
  [15786] dynamic-link: ifunc resolver functions can smash function
  [15918] math: Unnecessary check for equality in hypotf()
  [16061] localedata: Review / update transliteration data
  [16068] math: [i386/x86_64] x86 and x86_64 fesetenv exclude state they
    should include
  [16141] time: strptime %z offset restriction
  [16171] math: drem should be alias of remainder
  [16296] math: fegetround is pure?
  [16347] math: [ldbl-128ibm] ldbl-128/e_lgammal_r.c may not be suitable.
  [16364] libc: sleep may leave SIGCHLD blocked on sync cancellation on
  [16399] math: [mips] lrint / llrint / lround / llround missing exceptions
  [16415] math: Clean up ldbl-128 / ldbl-128ibm expm1l for large positive
  [16422] math: [powerpc] math-float, math-double failing llrint tests with
    "Exception "Inexact" set" on ppc32
  [16495] localedata: nl_NL: date_fmt: shuffle year/month around
  [16517] math: Missing underflow exception from tanf/tan/tanl
  [16519] math: Missing underflow exception from sinhf
  [16520] math: Missing underflow exception from tanhf
  [16521] math: Missing underflow exception from exp2
  [16620] math: [ldbl-128ibm] exp10l spurious overflows / bad directed
    rounding results
  [16734] stdio: fopen calls mmap to allocate its buffer
  [16961] math: nan function incorrect handling of bad sequences
  [16962] math: nan function unbounded stack allocation (CVE-2014-9761)
  [16973] localedata: Fix lang_lib/lang_term as per ISO 639-2
  [16985] locale: localedef: confusing error message when opening output
  [17118] math: ctanh(INFINITY + 2 * I) returns incorrect value
  [17197] locale: Redundant shift character in iconv conversion output at
    block boundary
  [17243] libc: trunk/posix/execl.c:53: va_args problem ?
  [17244] libc: trunk/sysdeps/unix/sysv/linux/semctl.c:116: va_args muxup ?
  [17250] dynamic-link: static linking breaks nss loading
  [17404] libc: atomic_exchange_rel lacking a barrier on MIPS16, GCC before
  [17441] math: isnan() should use __builtin_isnan() in GCC
  [17514] nptl: Assert failure unlocking ERRORCHECK mutex after timedlock
    (related to lock elision)
  [17787] manual: Exponent on page 324 of the PDF ends prematurely
  [17886] time: strptime should be able to parse "Z" as a timezone with %z
  [17887] time: strptime should be able to parse "+01:00" style timezones
  [17905] libc: catopen() Multiple unbounded stack allocations
  [18084] libc: backtrace (..., 0) dumps core on x86
  [18086] libc: nice() sets errno to 0 on success
  [18240] libc: hcreate, hcreate_r should fail with ENOMEM if element count
    is too large (CVE-2015-8778)
  [18251] dynamic-link: SONAME missing when audit modules provides path
  [18265] libc: add attributes for wchar string and memory functions
  [18370] math: csqrt missing underflows
  [18421] libc: [hppa] read-only segment has dynamic relocations
  [18472] libc: Obsolete syscall wrappers should be compat symbols
  [18480] libc: hppa glibc miscompilation in sched_setaffinity()
  [18491] localedata: Update tr_TR LC_CTYPE as part of Unicode updates
  [18525] localedata: Remove locale timezone information
  [18560] libc: [powerpc] spurious bits/ipc.h definitions
  [18568] localedata: Update locale data to Unicode 8.0
  [18589] locale: sort-test.sh fails at random
  [18595] math: ctan, ctanh missing underflows
  [18604] libc: assert macro-expands its argument
  [18610] math: S390: fetestexcept() reports any exception if DXC-code
    contains a vector instruction exception.
  [18611] math: j1, jn missing errno setting on underflow
  [18618] localedata: sync Chechen locale definitions with other *_RU
  [18647] math: powf(-0x1.000002p0, 0x1p30) returns 0 instead of +inf
  [18661] libc: Some x86-64 assembly codes don't align stack to 16 bytes
  [18665] network: In send_dg, the recvfrom function is NOT always using the
    buffer size of a newly created buffer (CVE-2015-7547)
  [18674] libc: [i386] trunk/sysdeps/i386/tst-auditmod3b.c:84: possible
    missing break ?
  [18675] libc: fpathconf(_PC_NAME_MAX) fails against large filesystems for
    32bit processes
  [18681] libc: regexp.h is obsolete and buggy, and should be desupported
  [18699] math: tilegx cproj() for various complex infinities does not yield
  [18724] libc: Harden put*ent functions against data injection
  [18743] nptl: PowerPC: findutils testcase fails with --enable-lock-elision
  [18755] build: build errors with -DNDEBUG
  [18757] stdio: fmemopen fails to set errno on failure
  [18778] dynamic-link: ld.so crashes if failed dlopen causes libpthread to
    be forced unloaded
  [18781] libc: openat64 lacks O_LARGEFILE
  [18787] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/atomic.h:71:6:
    error: can’t find a register in class ‘R1_REGS’ while reloading ‘asm’
  [18789] math: [ldbl-128ibm] sinhl inaccurate near 0
  [18790] math: [ldbl-128ibm] tanhl inaccurate
  [18795] libc: stpncpy fortification misses buffer lengths that are
    statically too large
  [18796] build: build fails for --disable-mathvec
  [18803] math: hypot missing underflows
  [18820] stdio: fmemopen may leak memory on failure
  [18823] math: csqrt spurious underflows
  [18824] math: fma spurious underflows
  [18825] math: pow missing underflows
  [18857] math: [ldbl-128ibm] nearbyintl wrongly uses signaling comparisons
  [18868] nptl: pthread_barrier_init typo has in-theory-undefined behavior
  [18870] build: sem_open.c fails to compile with missing symbol
  [18872] stdio: Fix memory leak in printf_positional
  [18873] libc: posix_fallocate overflow check ineffective
  [18875] math: Excess precision leads incorrect libm
  [18877] libc: arm: mmap offset regression
  [18887] libc: memory corruption when using getmntent on blank lines
  [18918] localedata: hu_HU: change time to HH:MM:SS format
  [18921] libc: Regression: extraneous stat() and fstat() performed by
  [18928] dynamic-link: LD_POINTER_GUARD is not ignored for privileged
    binaries (CVE-2015-8777)
  [18951] math: tgamma missing underflows
  [18952] math: [ldbl-128/ldbl-128ibm] lgammal spurious "invalid", incorrect
  [18953] localedata: lt_LT: change currency symbol to the euro
  [18956] math: powf inaccuracy
  [18961] math: [i386] exp missing underflows
  [18966] math: [i386] exp10 missing underflows
  [18967] math: math.h XSI POSIX namespace (gamma, isnan, scalb)
  [18969] build: multiple string test failures due to missing locale
  [18970] libc: Reference of pthread_setcancelstate in libc.a
  [18977] math: float / long double Bessel functions not in XSI POSIX
  [18980] math: i386 libm functions return with excess range and precision
  [18981] math: i386 scalb*, ldexp return with excess range and precision
  [18982] stdio: va_list and vprintf
  [18985] time: Passing out of range data to strftime() causes a segfault
  [19003] math: [x86_64] fma4 version of pow inappropriate contraction
  [19007] libc: FAIL: elf/check-localplt with -z now and binutils 2.26
  [19012] locale: iconv_open leaks memory on error path
  [19016] math: clog, clog10 inaccuracy
  [19018] nptl: Mangle function pointers in tls_dtor_list
  [19032] math: [i386] acosh (-qNaN) spurious "invalid" exception
  [19046] math: ldbl-128 / ldbl-128ibm lgamma bad overflow handling
  [19048] malloc: malloc: arena free list can become cyclic, increasing
  [19049] math: [powerpc] erfc incorrect zero sign
  [19050] math: [powerpc] log* incorrect zero sign
  [19058] math: [x86_64] Link fail with -fopenmp and -flto
  [19059] math: nexttoward overflow incorrect in non-default rounding modes
  [19071] math: ldbl-96 lroundl incorrect just below powers of 2
  [19074] network: Data race in _res_hconf_reorder_addrs
  [19076] math: [ldbl-128ibm] log1pl (-1) wrong sign of infinity
  [19077] math: [ldbl-128ibm] logl (1) incorrect sign of zero result
  [19078] math: [ldbl-128ibm] expl overflow incorrect in non-default
    rounding modes
  [19079] math: dbl-64/wordsize-64 lround based on llround incorrect for
  [19085] math: ldbl-128 lrintl, lroundl missing exceptions for 32-bit long
  [19086] manual: posix_fallocate64 documented argument order is wrong.
  [19088] math: lround, llround missing exceptions close to overflow
  [19094] math: lrint, llrint missing exceptions close to overflow threshold
  [19095] math: dbl-64 lrint incorrect for 64-bit long
  [19122] dynamic-link: Unnecessary PLT relocations in librtld.os
  [19124] dynamic-link: ld.so failed to build with older assmebler
  [19125] math: [powerpc32] llroundf, llround incorrect exceptions
  [19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
  [19134] math: [powerpc32] lround, lroundf spurious exceptions
  [19137] libc: i386/epoll_pwait.S doesn't support cancellation
  [19143] nptl: Remove CPU set size checking from sched_setaffinity,
  [19156] math: [ldbl-128] j0l spurious underflows
  [19164] nptl: tst-getcpu fails with many possible CPUs
  [19168] math: math/test-ildoubl and math/test-ldouble failure
  [19174] nptl: PowerPC: TLE enabled pthread mutex performs poorly.
  [19178] dynamic-link: ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA confuses
  [19181] math: [i386/x86_64] fesetenv (FE_DFL_ENV), fesetenv
    (FE_NOMASK_ENV) do not clear SSE exceptions
  [19182] malloc: malloc deadlock between ptmalloc_lock_all and
  [19189] math: [ldbl-128] log1pl (-qNaN) spurious "invalid" exception
  [19201] math: dbl-64 remainder incorrect sign of zero result
  [19205] math: bits/math-finite.h conditions do not match math.h and
  [19209] math: bits/math-finite.h wrongly maps ldexp to scalbn
  [19211] math: lgamma functions do not set signgam for -ffinite-math-only
    for C99-based standards
  [19212] libc: features.h not -Wundef clean
  [19213] math: [i386/x86_64] log* (1) incorrect zero sign for -ffinite-
  [19214] libc: Family and model identification for AMD CPU's are incorrect.
  [19219] libc: GLIBC build fails for ia64 with missing __nearbyintl
  [19228] math: [powerpc] nearbyint wrongly clears "inexact", leaves traps
  [19235] math: [powerpc64] lround, lroundf, llround, llroundf spurious
    "inexact" exceptions
  [19238] math: [powerpc] round, roundf spurious "inexact" for integer
  [19242] libc: strtol incorrect in Turkish locales
  [19243] malloc: reused_arena can pick an arena on the free list, leading
    to an assertion failure and reference count corruption
  [19253] time: tzset() ineffective when temporary TZ did not include DST
  [19266] math: strtod ("NAN(I)") incorrect in Turkish locales
  [19270] math: [hppa] Shared libm missing __isnanl
  [19285] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/mman.h: missing
    MAP_HUGETLB and MAP_STACK defines
  [19313] nptl: Wrong __cpu_mask for x32
  [19347] libc: grantpt: try to force a specific gid even without pt_chown
  [19349] math: [ldbl-128ibm] tanhl inaccurate for small arguments
  [19350] math: [ldbl-128ibm] sinhl spurious overflows
  [19351] math: [ldbl-128ibm] logl inaccurate near 1
  [19363] time: x32: times() return value wrongly truncates/sign extends
    from 32bit
  [19367] dynamic-link: Improve branch prediction on Silvermont
  [19369] network: Default domain name not reset by res_ninit when "search"
    / "domain" entry is removed from resolv.conf
  [19375] math: powerpc: incorrect results for POWER7 logb with negative
  [19385] localedata: bg_BG: time separator should be colon, not comma
  [19408] libc: linux personality syscall wrapper may erroneously return an
    error on 32-bit architectures
  [19415] libc: dladdr returns wrong names on hppa
  [19432] libc: iconv rejects redundant escape sequences in IBM900, IBM903,
    IBM905, IBM907, and IBM909
  [19439] math: Unix98 isinf and isnan functions conflict with C++11
  [19443] build: build failures with -DDEBUG
  [19451] build: Make check fails on test-double-vlen2
  [19462] libc: Glibc failed to build with -Os
  [19465] math: Wrong code with -Os
  [19466] time: time/tst-mktime2.c is compiled into an infinite loop with
  [19467] string: Fast_Unaligned_Load needs to be enabled for Excavator core
  [19475] libc: Glibc 2.22 doesn't build on sparc [PATCH]
  [19486] math: S390: Math tests fail with "Exception Inexact set".
  [19529] libc: [ARM]: FAIL: stdlib/tst-makecontext
  [19550] libc: [mips] mmap negative offset handling inconsistent with other
  [19590] math: Fail to build shared objects that use libmvec.so functions.


This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports.  These include:

Adhemerval Zanella
Alan Modra
Amit Pawar
Andreas Schwab
Andrew Bennett
Andrew Senkevich
Andrew Stubbs
Anton Blanchard
Arjun Shankar
Arslanbek Astemirov
Aurelien Jarno
Brett Neumeier
Carlos Eduardo Seo
Carlos O'Donell
Chris Metcalf
Chung-Lin Tang
Damyan Ivanov
Daniel Marjamäki
David Kastrup
David Lamparter
David S. Miller
Dmitry V. Levin
Egmont Koblinger
Flavio Cruz
Florian Weimer
Gabriel F. T. Gomes
Geoffrey Thomas
Gleb Fotengauer-Malinovskiy
Gunnar Hjalmarsson
H.J. Lu
Helge Deller
James Perkins
John David Anglin
Joseph Myers
Justus Winter
Khem Raj
Ludovic Courtès
Maciej W. Rozycki
Manolis Ragkousis
Marcin Kościelnicki
Mark Wielaard
Marko Myllynen
Martin Sebor
Maxim Ostapenko
Mike Frysinger
Namhyung Kim
Ondrej Bilka
Ondřej Bílka
Paul E. Murphy
Paul Eggert
Paul Murphy
Paul Pluzhnikov
Petar Jovanovic
Phil Blundell
Rajalakshmi Srinivasaraghavan
Rasmus Villemoes
Richard Henderson
Rob Wu
Roland McGrath
Samuel Thibault
Siddhesh Poyarekar
Stan Shebs
Stefan Liebler
Steve Ellcey
Szabolcs Nagy
Thomas Schwinge
Torvald Riegel
Tulio Magno Quites Machado Filho
Vincent Bernat
Wilco Dijkstra
Zack Weinberg
Version: GnuPG v1


Adhemerval Zanella (18):
      arm: Assembly implementation cleanup
      powerpc: Fix strstr/power7 build
      powerpc: Fix strnlen/power7 build
      powerpc: Use default strcpy optimization for POWER7
      powerpc: Fix PPC64/POWER7 conform tests
      Fix wordsize-32 mmap offset for negative value (BZ#18877)
      Mark lseek/llseek as non-cancellable
      nptl: Add NPTL cases for cancellation failures cases
      Cleanup sync_file_range implementation
      Fix nearbyintl linkage for ia64 (bug 19219)
      Remove signal handling for nanosleep (bug 16364)
      nptl: Fix racy pipe closing in tst-cancel{20,21}
      Fix POWER7 logb results for negative subnormals (bug 19375)
      Fix SYSCALL_CANCEL for empty argumetns
      powerpc: Regenerate libm-test-ulps
      Fix isinf/isnan declaration conflict with C++11
      Update NEWS with fixed bugs for 2.23 release
      Update version.h and include/features.h for 2.23 release

Alan Modra (1):
      hppa: start.S: rework references to fix PIE TEXTRELs [BZ #18421]

Amit Pawar (1):
      Set index_Fast_Unaligned_Load for Excavator family CPUs

Andreas Schwab (17):
      Properly terminate FDE in makecontext for m68k (bug 18635)
      Remove unused variables from timezone/Makefile
      Readd O_LARGEFILE flag for openat64 (bug 18781)
      Remove unused definition of __openat(64)_nocancel
      Add version set GLIBC_2.19 for linux/powerpc
      Remove __ASSUME_IPC64
      Terminate FDE before return trampoline in makecontext for powerpc (bug 18635)
      Add missing va_end calls (bug 17243)
      Remove extra va_start/va_end calls (bug 17244)
      Restore sparc64 implementation of semctl
      Add dependencies on needed locales in each subdir tests (bug 18969)
      Add bug reference
      Don't emit invalid extra shift character at block boundary by iconv (bug 17197)
      Force rereading TZDEFRULES after it was used to set DST rules only (bug #19253)
      Don't do lock elision on an error checking mutex (bug 17514)
      Remove unused variables

Andrew Bennett (1):
      MIPS: Only use .set mips* assembler directives when necessary

Andrew Senkevich (10):
      [BZ #18796]
      Mention BZ #18796 fix in NEWS.
      Better workaround for aliases of *_finite symbols in vector math library.
      Corrected path to installed libmvec_nonshared.a
      Utilize x86_64 vector math functions w/o -fopenmp.
      Added memset optimized with AVX512 for KNL hardware.
      Added memcpy/memmove family optimized with AVX512 for KNL hardware.
      Fixed typos in __memcpy_chk.
      Fixed build with assembler w/o AVX-512 support.
      Use PIC relocation in ALIAS_IMPL

Andrew Stubbs (1):
      longlong: add SH FDPIC support

Anton Blanchard (1):
      Eliminate redundant sign extensions in pow()

Arjun Shankar (1):
      Modify several tests to use test-skeleton.c

Arslanbek Astemirov (1):
      locales/ce_RU: sync with other *_RU locales

Aurelien Jarno (6):
      Fix grantpt basename namespace bug
      mips: fix testsuite build for O32 FPXX ABI on pre-R2 CPU
      grantpt: trust the kernel about pty group and permission mode
      Cleanup ARM ioperm implementation
      i386: move ULPs to i686/multiarch and regenerate new ones for i386
      Cleanup ARM ioperm implementation (step 2)

Brett Neumeier (1):
      Fix non-v9 32-bit sparc build.

Carlos Eduardo Seo (11):
      powerpc: Add missing hwcap strings.
      powerpc: make memchr use memchr-power7.
      powerpc: Fix memchr for powerpc32.
      powerpc: Sync hwcap.h with kernel
      powerpc: Fix compiler warning in some syscalls.
      Add AT_PLATFORM to _dl_aux_init ()
      powerpc: Provide __tls_get_addr () in static libc
      powerpc: Add hwcap/hwcap2/platform data to TCB.
      powerpc: Add basic support for POWER9 sans hwcap.
      powerpc: Export __parse_hwcap_and_convert_at_platform to libc.a.
      powerpc: Add hwcap2 bits for POWER9.

Carlos O'Donell (22):
      Open development for 2.23.
      Prevent check-local-headers.sh hang.
      Use ALIGN_DOWN in systrim.
      Use ALIGN_* macros in _dl_map_object_from_fd.
      Fix error messages in elf/tst-dlmopen1.c.
      Files open O_WRONLY not supported in fallocate emulation.
      Fix manual argument order for posix_fallocate64 (Bug 19086).
      malloc: Consistently apply trim_threshold to all heaps (Bug 17195)
      Add BZ#19086 to NEWS.
      strcoll: Remove incorrect STRDIFF-based optimization (Bug 18589).
      strcoll: Add bug-strcoll2 to testsuite (Bug 18589).
      Fix typo in bug-strcoll2 (Bug 18589)
      include/stap-probe.h: Fix formatting.
      Rename localedir to complocaledir (bug 14259).
      Comment on IBM930, IBM933, IBM935, IBM937, IBM939.
      Regenerate locale/C-translit.h.
      Update transliteration support to Unicode 7.0.0.
      Document best practice for disconnected NSS modules.
      Use $(PYTHON) to run benchtests python files.
      Ensure isinff, isinfl, isnanf, and isnanl are defined (Bug 19439)
      Update INSTALL with latest versions tested to work.
      CVE-2015-7547: getaddrinfo() stack-based buffer overflow (Bug 18665).

Chris Metcalf (7):
      tile: avoid preprocessor redefinition warnings
      tile: regenerate libm-test-ulps
      Update NEWS to mention drive-by fix for bug 18699.
      tile: define __NO_LONG_DOUBLE_MATH
      misc/tst-tsearch.c: bump up TIMEOUT to 10 seconds.
      math: add LDBL_CLASSIFY_COMPAT support
      Silence some false positive warnings for gcc 4.7

Chung-Lin Tang (1):
      Maintainence patch for nios2: update ULPS file and localplt.data changes.

Damyan Ivanov (1):
      localedata: bg_BG: use colon as time separator [BZ #19385]

Daniel Marjamäki (1):
      Updated __nonnull annotations for wcscat, wcsncat, wcscmp and wcsncmp [BZ #18265]

David Kastrup (1):
      Don't macro-expand failed assertion expression [BZ #18604]

David Lamparter (1):
      arm: setjmp/longjmp: fix PIC vs SHARED thinkos

David S. Miller (5):
      Update sparc ULPS.
      Fix missing __sqrtl_finite symbol in libm on sparc 32-bit.
      Adjust sparc 32-bit __sqrtl_finite version tag.
      Define __sqrtl_finite on sparc 32-bit with correct symbol version.
      Update localplt.data for 32-bit sparc.

Dmitry V. Levin (2):
      Fix getaddrinfo bug number in ChangeLog and NEWS files
      Fix linux personality syscall wrapper

Egmont Koblinger (1):
      hu_HU: change time separator to colon [BZ #18918]

Evert (1):
      localedata: nl_NL: date_fmt: rewrite to match standards [BZ #16495]

Flavio Cruz (1):
      Fix O_DIRECTORY lookup on trivial translators

Florian Weimer (42):
      nptl: Document crash due to incorrect use of locks
      Amend ChangeLog to reflect deletion of elf/tst-znodelete-zlib.cc
      Add test case for bug 18287
      Test in commit e07aabba73ea62e7dfa0512507c92efb851fbdbe is for bug 17079
      Fix inconsistent passwd compensation in nss/bug17079.c
      Harden putpwent, putgrent, putspent, putspent against injection [BZ #18724]
      Harden tls_dtor_list with pointer mangling [BZ #19018]
      nss_nis: Do not call malloc_usable_size [BZ #10432]
      Add a test case for C++11 thread_local support
      iconvdata: Add missing const to lookup table definitions
      Fix double-checked locking in _res_hconf_reorder_addrs [BZ #19074]
      Always enable pointer guard [BZ #18928]
      vfscanf: Use struct scratch_buffer instead of extend_alloca
      The va_list pointer is unspecified after a call to vfprintf [BZ #18982]
      Assume that SOCK_CLOEXEC is available and works
      vfprintf: Rewrite printf_positional to use struct scratch_buffer
      malloc: Rewrite with explicit TLS access using __thread
      sunrpc: Rewrite with explicit TLS access using __thread
      Use the CXX compiler only if it can create dynamic and static programs
      x86_64: Regenerate ulps [BZ #19168]
      malloc: Prevent arena free_list from turning cyclic [BZ #19048]
      _dl_fini: Rewrite to use VLA instead of extend_alloca
      Add bug 18604 to NEWS
      Remove a spurious attribution
      Add bug 18604 to the correct section
      Simplify the abilist format
      Terminate process on invalid netlink response from kernel [BZ #12926]
      ld.so: Add original DSO name if overridden by audit module [BZ #18251]
      Work around conflicting declarations of math functions
      Replace MUTEX_INITIALIZER with _LIBC_LOCK_INITIALIZER in generic code
      Implement "make update-all-abi"
      Remove CPU set size checking from affinity functions [BZ #19143]
      tst-res_hconf_reorder: Set RESOLV_REORDER environment variable
      Revert "tst-res_hconf_reorder: Set RESOLV_REORDER environment variable"
      Fix aliasing violation in tst-rec-dlopen
      malloc: Fix attached thread reference count handling [BZ #19243]
      malloc: Fix list_lock/arena lock deadlock [BZ #19182]
      malloc: Update comment for list_lock
      malloc: Test various special cases related to allocation failures
      Improve check against integer wraparound in hcreate_r [BZ #18240]
      hsearch_r: Apply VM size limit in test case
      NEWS: List additional fixed security bugs

Gabriel F. T. Gomes (3):
      PowerPC: Extend Program Priority Register support
      PowerPC: Fix operand prefixes
      PowerPC: Add comments to optimized strncpy

Geoffrey Thomas (1):
      pt_chown: Clear any signal mask inherited from the parent process.

Gleb Fotengauer-Malinovskiy (2):
      Mention mkdtemp as another secure alternative to mktemp
      malloc: remove redundant getenv call

Gunnar Hjalmarsson (1):
      lt_LT: change currency symbol to the euro [BZ #18953]

H.J. Lu (95):
      Also check dead->data[category] != NULL
      Compile {memcpy,strcmp}-sse2-unaligned.S only for libc
      Align stack to 16 bytes when calling __setcontext
      Align stack to 16 bytes when calling __gettimeofday
      Align stack to 16 bytes when calling __errno_location
      Add a missing break in tst-auditmod3b.c
      Add _dl_x86_cpu_features to rtld_global
      Update x86_64 multiarch functions for <cpu-features.h>
      Update i686 multiarch functions for <cpu-features.h>
      Update libmvec multiarch functions for <cpu-features.h>
      Update x86 elision-conf.c for <cpu-features.h>
      Don't include <cpuid.h> in elision-conf.h
      Check if cpuid is available in init_cpu_features
      Define HAS_CPUID/HAS_I586/HAS_I686 from -march=
      Also check __i586__/__i686__ for HAS_I586/HAS_I686
      Use x86-64 cacheinfo.c and sysconf.c for x86
      Call __setcontext with HIDDEN_JUMPTARGET
      Mark __xstatXX_conv as hidden
      Add BZ #14341 to NEWS
      Remove x86 init-arch.c
      Move x86_64 init-arch.h to sysdeps/x86/init-arch.h
      Remove the unused IFUNC files
      Add missing ChangeLog entry for the last commit
      Fix a typo in linux lxstat.c
      Revert "Fix a typo in linux lxstat.c"
      Save and restore vector registers in x86-64 ld.so
      Replace %xmm8 with %xmm0
      Remove x86-64 rtld-xxx.c and rtld-xxx.S
      Replace %xmm[8-12] with %xmm[0-4]
      Don't run tst-getpid2 with LD_BIND_NOW=1
      Use SSE2 optimized strcmp in x86-64 ld.so
      Don't disable SSE in x86-64 ld.so
      Remove sysdeps/i386/i486/Versions
      Move i486/bits/atomic.h to bits/atomic.h
      Move i486/htonl.S to htonl.S
      Move i486/string-inlines.c to string-inlines.c
      Move i486/pthread_spin_trylock.S to pthread_spin_trylock.S
      Move i486/strcat.S to strcat.S
      Move i486/strlen.S to strlen.S
      Remove i486 subdirectory
      Add i386 memset and memcpy assembly functions
      Detect and select i586/i686 implementation at run-time
      Mention 15786 in NEWS
      Use __pthread_setcancelstate in libc.a
      Use __libc_ptf_call in _longjmp_unwind
      Remove ignored symbols from nptl/Versions
      Move sysdeps/unix/sysv/linux/i386/i486/*.? to i386
      Update lrint/lrintf/lrintl for x32
      Support x86-64 assmebler without AVX512
      Support PLT and GOT references in local PIC check
      Avoid PLT when calling __sched_getaffinity_new
      i386: Remove syscall assembly codes with 6 arguments
      Optimize i386 syscall inlining for GCC 5
      Remove i386/epoll_pwait.S
      Add comments for GCC 5 requirement
      Mark x86 _dl_unmap/_dl_make_tlsdesc_dynamic hidden
      Mark _wordcopy_XXX functions hidden
      Mark internal _dl_XXX functions hidden
      Mark internal _itoa functions hidden
      Mark _dl_catch_error hidden
      Mark internal dirent functions hidden
      Mark internal fcntl functions hidden
      Mark ld.so internel __profile_frequency hidden
      Mark internal setjmp functions hidden
      Mark ld.so internel sigaction functions hidden
      Mark ld.so internel stdlib functions hidden
      Mark ld.so internel string functions hidden
      Mark ld.so internel __uname hidden
      Mark ld.so internel __fxstatat64 hidden
      Apply -fomit-frame-pointer only to .o/.os files
      Disable GCC 5 optimization when PROF is defined
      Build i386 __libc_do_syscall when PROF is defined
      Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink
      Add a test for prelink output
      Run tst-prelink test for GLOB_DAT reloc
      Update family and model detection for AMD CPUs
      Add __CPU_MASK_TYPE for __cpu_mask
      Enable Silvermont optimizations for Knights Landing
      Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT
      Add missing ChangeLog entries
      Provide x32 times
      Mark ld.so internal mmap functions hidden in ld.so
      Mark internal unistd functions hidden in ld.so
      Update copyright dates committed in 2016
      Use TIME_T_MAX and TIME_T_MIN in tst-mktime2.c
      Call math_opt_barrier inside if
      Add _STRING_INLINE_unaligned and string_private.h

Helge Deller (1):
      hppa: Add MAP_HUGETLB and MAP_STACK defines [BZ #19285]

James Perkins (2):
      strptime %z: fix rounding, extend range to +/-9959 [BZ #16141]
      time/tst-strptime2.c: test full input range +/- 0-9999

John David Anglin (5):
      hppa: Fix reload error with atomic code [BZ #18787]
      hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]
      hppa: Define __NO_LONG_DOUBLE_MATH so headers are consistent with libm build [BZ #19270]
      hppa: fix pthread spinlock
      hppa: fix dladdr [BZ #19415]

Joseph Myers (212):
      Fix powf (close to -1, large) (bug 18647).
      Fix sinh missing underflows (bug 16519).
      Fix tan missing underflows (bug 16517).
      Resort bug numbers in NEWS into ascending order.
      Fix ldbl-128ibm sinhl inaccuracy near 0 (bug 18789).
      Fix ldbl-128ibm tanhl inaccuracy (bug 18790).
      Add more tests of various libm functions.
      Fix tanh missing underflows (bug 16520).
      Add more random libm-test inputs.
      Fix fma spurious underflows (bug 18824).
      Fix csqrt spurious underflows (bug 18823).
      Fix MIPS -Wundef warnings for __mips_isa_rev.
      Fix -Wundef warnings in login/tst-utmp.c.
      Fix -Wundef warnings in elf/tst-execstack.c.
      Fix csqrt missing underflows (bug 18370).
      Fix uninitialized variable use in ldbl-128ibm nearbyintl.
      Don't use -Wno-uninitialized in math/.
      Don't use -Wno-error=undef.
      Don't use -Wno-strict-prototypes in timezone/.
      Note bug 10882 as having been fixed in 2.16.
      Note bug 14941 as having been fixed in 2.18.
      Add more TCP_* values to netinet/tcp.h.
      Add netinet/in.h values from Linux 4.2.
      Don't include <bits/stdio-lock.h> from installed <libio.h>.
      Don't install bits/libc-lock.h or bits/stdio-lock.h.
      Rename bits/libc-tsd.h to libc-tsd.h (bug 14912).
      Rename bits/m68k-vdso.h to m68k-vdso.h (bug 14912).
      Rename bits/stdio-lock.h to stdio-lock.h (bug 14912).
      Rename bits/linkmap.h to linkmap.h (bug 14912).
      Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
      Fix lgamma (negative) inaccuracy (bug 2542, bug 2543, bug 2558).
      Add more randomly-generated libm tests.
      Fix ldbl-128/ldbl-128ibm lgamma spurious "invalid", incorrect signgam (bug 18952).
      Update libm-test-ulps for MIPS.
      Move bits/atomic.h to atomic-machine.h (bug 14912).
      Add more random libm test inputs (mainly for ldbl-128).
      Fix exp2 missing underflows (bug 16521).
      Fix i386 exp missing underflows (bug 18961).
      Fix i386 exp10 missing underflows (bug 18966).
      Simplify hypotf infinity handling (bug 15918).
      Fix ctan, ctanh missing underflows (bug 18595).
      Mark fegetround pure (bug 16296).
      Fix ldbl-128ibm nearbyintl use of signaling comparisons on NaNs (bug 18857).
      Fix math.h, tgmath.h XSI POSIX namespace (gamma, isnan, scalb) (bug 18967).
      Clean up ldbl-128 / ldbl-128ibm expm1l dead code (bug 16415).
      Update de.po from Translation Project (bug 4404).
      Make scalbn set errno (bug 6803).
      Don't declare float / long double Bessel functions for XSI POSIX (bug 18977).
      Fix tgamma missing underflows (bug 18951).
      Reduce number of constants in __finite* (bug 15384).
      Fix sign of zero part from ctan / ctanh when argument infinite (bug 17118).
      Test for weak undefined symbols in linknamespace.pl.
      Avoid excess range overflowing results from cosh, sinh, lgamma (bug 18980).
      Avoid excess range in results from i386 scalb functions (bug 18981).
      Avoid excess range in results from i386 exp, hypot, pow functions (bug 18980).
      Revert timezone/Makefile change.
      Use math_narrow_eval more consistently.
      Refactor code forcing underflow exceptions.
      Don't use volatile in exp2f.
      Fix x86_64 fma4 pow inappropriate contraction (bug 19003).
      Refactor i386 libm code forcing underflow exceptions.
      Use LOAD_PIC_REG in i386 atanh.
      Refactor x86_64 libm code forcing underflow exceptions.
      Fix hypot missing underflows (bug 18803).
      Use soft-fp fma for MicroBlaze (bug 13304).
      Use soft-fp fma for no-FPU ColdFire (bug 13304).
      Fix pow missing underflows (bug 18825).
      Fix powf inaccuracy (bug 18956).
      Fix clog, clog10 inaccuracy (bug 19016).
      Refine errno / "inexact" expectations in libm-test.inc.
      Improve test coverage of real libm functions [a-e]*.
      Fix i386 acosh (-qNaN) spurious "invalid" exception.
      Fix ldbl-128ibm exp10l spurious overflows (bug 16620).
      Use type-specific precision when printing results in libm-test.inc.
      Fix ldbl-128 / ldbl-128ibm lgamma overflow handling (bug 16347, bug 19046).
      Fix i386 build after put*ent hardening changes.
      Fix nexttoward overflow in non-default rounding modes (bug 19059).
      Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050).
      Don't list bug 887 as fixed for glibc 2.16.
      Fix ldbl-96 lroundl just below powers of 2 (bug 19071).
      Fix ldbl-128ibm log1pl (-1) sign of infinity (bug 19076).
      Fix ldbl-128ibm logl (1) sign of zero result (bug 19077).
      Add more scalb test expectations for "inexact" exception.
      Fix ldbl-128ibm expl overflow in non-default rounding modes (bug 19078).
      Remove scripts/rpm2dynsym.sh.
      Remove configure tests for SSE4 support.
      Use same test inputs for lrint and llrint.
      Add more tests of lrint, llrint, lround, llround.
      Don't use dbl-64/wordsize-64 lround based on llround for ILP32 (bug 19079).
      Use dbl-64/wordsize-64 for MIPS64.
      Fix ldbl-128 lrintl, lroundl missing exceptions for 32-bit long (bug 19085).
      Fix lround, llround missing exceptions close to overflow threshold (bug 19088).
      Remove configure tests for AVX support.
      Correct "inexact" expectations in lround, llround tests.
      Fix lrint, llrint missing exceptions close to overflow threshold (bug 19094).
      Fix dbl-64 lrint for 64-bit long (bug 19095).
      Remove configure tests for FMA4 support.
      Remove configure tests for -mno-vzeroupper support.
      Fix lrint, llrint, lround, llround missing exceptions for MIPS (bug 16399).
      Fix llrint, llround missing exceptions for ARM (bug 15470).
      Regenerate ARM libm-test-ulps.
      Regenerate MIPS libm-test-ulps.
      Fix powerpc32 llrint, llrintf bad exceptions (bug 16422).
      Move powerpc llround implementations to powerpc32 directory.
      Fix powerpc32 llround, llroundf exceptions (bug 19125).
      Fix powerpc32 lround, lroundf spurious exceptions (bug 19134).
      Remove stddef.h configure test.
      Remove -static-libgcc configure test.
      Remove .previous, .popsection configure tests.
      Remove assembler -mtune=i686 configure test.
      Do not leave files behind in /tmp from testing.
      Remove -fexceptions configure test.
      Remove sizeof (long double) configure test.
      Remove -Bgroup configure test.
      Remove NPTL configure errors based on top-level configure tests.
      Fix i386 build for lll_unlock_elision change.
      Convert 703 function definitions to prototype style.
      Add more tests for ceil, floor, round, trunc.
      Add more libm tests (fabs, fdim, fma, fmax, fmin, fmod).
      Convert 231 sysdeps function definitions to prototype style.
      Remove .weak, .weakext configure tests.
      Remove -fgnu89-inline configure test.
      Convert 69 more function definitions to prototype style (line wrap cases).
      Do not use -Wno-strict-prototypes.
      Remove gnu_unique_object configure test.
      Convert 24 more function definitions to prototype style (array parameters).
      Convert 29 more function definitions to prototype style (multiple parameters in one K&R parameter declaration).
      Convert 113 more function definitions to prototype style (files with assertions).
      Convert miscellaneous function definitions to prototype style.
      Add more libm tests (fmod, fpclassify, frexp, hypot, ilogb, j0, j1, jn, log, log10, log2).
      Convert a few more function definitions to prototype style.
      Use -Wold-style-definition.
      Fix ldbl-128 j0l spurious underflows (bug 19156).
      Make io/ftwtest-sh remove temporary files on early exit.
      Move io/tst-fcntl temporary file creation to do_prepare.
      Fix i386 / x86_64 nearbyint exception clearing (bug 15491).
      Fix j1, jn missing errno setting on underflow (bug 18611).
      Add more libm tests (ilogb, is*, j0, j1, jn, lgamma, log*).
      Remove libm-test.inc special-casing of errors up to 0.5 ulp.
      Remove configure test for assembler .text directive.
      Remove support for removing glibc 2.0 headers.
      Remove configure test for needing -P for .S files.
      Remove TLS configure tests.
      Require GCC 4.7 or later to build glibc.
      Use -std=c11 for C11 conform/ tests.
      Remove pre-GCC-4.7 conform/ test XFAILs.
      Remove sysdeps/nptl/configure.ac.
      Use -std=gnu11 instead of -std=gnu99.
      Add -std=gnu11 and -std=c11 NPTL initializers tests.
      Remove GCC version conditionals on -Wmaybe-uninitialized pragmas.
      Remove MIPS16 atomics using __sync_* (bug 17404).
      Remove configure test for ARM TLS descriptors support.
      Remove -mavx2 configure tests.
      Use C11 *_DECIMAL_DIG macros in libm-test.inc.
      Fix i386/x86_64 fesetenv SSE exception clearing (bug 19181).
      Use C11 *_TRUE_MIN macros where applicable.
      Use C11 CMPLX* macros in libm tests.
      Handle more state in i386/x86_64 fesetenv (bug 16068).
      Use max_align_t from <stddef.h>.
      Remove configure tests for visibility support.
      Remove cpuid.h configure tests.
      Make drem an alias of remainder (bug 16171).
      Do not test sign of zero result from infinite argument to Bessel functions.
      Fix ldbl-128 log1pl (-qNaN) spurious "invalid" exception (bug 19189).
      Remove init_array / fini_array configure test.
      Make nextafter, nexttoward set errno (bug 6799).
      Fix dbl-64 remainder sign of zero result (bug 19201).
      Add more libm tests (modf, nearbyint, nextafter, nexttoward, pow, remainder, remquo, rint).
      Remove --no-whole-archive configure test.
      Add more libm tests (scalb*, signbit, sin, sincos, sinh, sqrt, tan, tanh, tgamma, y0, y1, yn, significand).
      Refactor libm-test inline tests disabling.
      Remove miscellaneous GCC >= 4.7 version conditionals.
      Make bits/math-finite.h conditions match other headers (bug 19205).
      Don't redirect ldexp to scalbn in bits/math-finite.h (bug 19209).
      Fix features.h for -Wundef (bug 19212).
      Fix finite-math-only lgamma functions signgam setting (bug 19211).
      Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213).
      Add script to list fixed bugs for the NEWS file.
      Run libm-test tests for finite-math-only functions.
      Remove configure tests for some linker -z options.
      Fix typo in signgam test messages.
      Add more tests of pow.
      Fix powerpc nearbyint wrongly clearing "inexact" and leaving traps disabled (bug 19228).
      Fix powerpc64 lround, lroundf, llround, llroundf spurious "inexact" exceptions (bug 19235).
      Fix powerpc round, roundf spurious "inexact" (bug 19238).
      Fix ldbl-128ibm strtold overflow handling (bug 14551).
      Fix lgamma setting signgam for ISO C (bug 15421).
      Fix math_private.h multiple include guards.
      Fix strtol in Turkish locales (bug 19242).
      Update <netpacket/packet.h> for Linux 4.3.
      Update <sys/ptrace.h> for Linux 4.3.
      Fix strtod ("NAN(I)") in Turkish locales (bug 19266).
      Refactor strtod parsing of NaN payloads.
      Use hex float constants in sysdeps/ieee754/dbl-64/e_sqrt.c.
      Fix nan functions handling of payload strings (bug 16961, bug 16962).
      Use direct socket syscalls for new kernels on i386, m68k, microblaze, sh.
      Fix ldbl-128ibm tanhl inaccuracy for small arguments (bug 19349).
      Fix ldbl-128ibm sinhl spurious overflows (bug 19350).
      Fix ldbl-128ibm logl inaccuracy near 1 (bug 19351).
      Automate LC_CTYPE generation for tr_TR, update to Unicode 8.0.0 (bug 18491).
      Make obsolete syscall wrappers into compat symbols (bug 18472).
      Update copyright dates with scripts/update-copyrights.
      Update copyright dates not handled by scripts/update-copyrights.
      Update miscellaneous files from upstream sources.
      Add new header definitions from Linux 4.4 (plus older ptrace definitions).
      Regenerate ARM libm-test-ulps.
      Regenerate powerpc-nofpu libm-test-ulps.
      Regenerate MIPS libm-test-ulps.
      Fix ulps regeneration for *-finite tests.
      Update localplt.data for powerpc-nofpu.
      Fix __finitel libm compat symbol version.
      Fix MIPS mmap negative offset handling for consistency (bug 19550).

Justus Winter (1):
      Cache the host port like we cache the task port

Khem Raj (1):
      argp: Use fwrite_unlocked instead of __fxprintf when !_LIBC

Ludovic Courtès (2):
      Gracefully handle incompatible locale data
      Use shell's builtin pwd.

Maciej W. Rozycki (3):
      [BZ #17250] Fix static dlopen default library search path
      MIPS: Wire FCSR.ABS2008 to FCSR.NAN2008
      MIPS: Set the required Linux kernel version to 4.5.0 for 2008 NaN

Manolis Ragkousis (1):
      Check sysheaders when looking for Mach and Hurd headers

Marcin Kościelnicki (1):
      Add __private_ss to s390 struct tcbhead.

Mark Wielaard (3):
      Add LFS support for fts functions (bug 11460)
      elf/elf.h: Add new 386 and X86_64 relocations from binutils.
      Revert "elf/elf.h: Add new 386 and X86_64 relocations from binutils."

Marko Myllynen (4):
      localedata: remove timezone information [BZ #18525]
      Fix lang_lib/lang_term as per ISO 639-2 [BZ #16973]
      Make shebang interpreter directives consistent
      Make shebang interpreter directives consistent

Martin Sebor (4):
      Let 'make check subdirs=string' succeed even when it's invoked
      Fix build errors with -DNDEBUG.
      Fix build failures with -DDEBUG.
      Have iconv accept redundant escape sequences in IBM900, IBM903, IBM905,

Maxim Ostapenko (1):
      Clear DF_1_NODELETE flag only for failed to load library.

Mike FABIAN (3):
      Generic updates to transliterations.
      Update da, nb, nn, and sv locales (Bug 89)
      Update to Unicode 8.0.0.

Mike Frysinger (44):
      nptl: fix set-but-unused warning w/_STACK_GROWS_UP
      mmap64: fix undef warnings
      test-skeleton: add usage information
      fix missing ctype.h include
      hppa: _dl_symbol_address: add missing hidden def
      microblaze: include unix/sysdep.h
      hppa: put custom madvise defines behind __USE_MISC
      fix non-portable `echo -n` usage
      gawk: fix gensub usage
      stpncpy: fix bug number [BZ #18795]
      hppa: assume TLS everywhere
      hppa: drop __ASSUME_LWS_CAS define
      hppa: shm.h: add SHM_EXEC
      hppa: sigaction.h: update define export based on __USE_XOPEN2K8
      hppa: epoll.h: move to common sys/epoll.h
      hppa: eventfd.h: move to common sys/eventfd.h
      hppa: inotify.h: move to common sys/inotify.h
      hppa: signalfd.h: move to common sys/signalfd.h
      hppa: timerfd.h: move to common sys/timerfd.h
      NEWS: note fixed bug
      relocate localedata ChangeLog entries
      manual: skip build when perl is unavailable
      mips: siginfo.h: add SIGSYS details [BZ #18863]
      de.po: fix SIGALRM typo [BZ #4404]
      getmntent: fix memory corruption w/blank lines [BZ #18887]
      NEWS: add #18887
      localedef: improve error message [BZ #16985]
      alpha: drop __ASSUME_FDATASYNC
      timezone: fix parallel check failures
      timezone: add a configure flag to disable program install
      timezone: document new --disable-timezone-tools option
      timezone: polish grammar a bit in documentation
      use -fstack-protector-strong when available
      pylintrc: disable reports
      ia64: fpu: fix gammaf typo [BZ #15421]
      list-fixed-bugs: use argparse for the commandline
      localedata: nl_NL@euro: copy measurement from nl_NL [BZ #19198]
      ia64: fpu: fix gamma definition handling [BZ #15421]
      xstat: only check to see if __ASSUME_ST_INO_64_BIT is defined
      longlong: fix sh -Wundef builds
      sparc: mman.h: fix bad comment insertion
      configure: make the unsupported error message less hostile
      localedata: convert all files to utf-8
      Revert "ChangeLogs: convert to utf-8"

Namhyung Kim (1):
      manual/argp.texi (Specifying Argp Parsers): Fix typo.

Ondrej Bilka (1):
      powerpc: Fix stpcpy performance for power8

Ondřej Bílka (4):
      Fix exponents in manual.
      Fix strcpy_chk and stpcpy_chk performance.
      Handle overflow in __hcreate_r
      add bug 18240 to news.

Paul E. Murphy (6):
      powerpc: Fix tabort usage in syscalls
      powerpc: Revert to default atomic ops in elision code
      Fix race in tst-mqueue5
      powerpc: Fix macro usage of htm builtins
      Fix nptl/tst-setuid3.c
      Cleanup ppc bits/ipc.h

Paul Eggert (8):
      Port the 0x7efe...feff pattern to GCC 6.
      Fix broken overflow check in posix_fallocate [BZ 18873]
      Consistency about byte vs character in string.texi
      Fix typo in strncat, wcsncat manual entries
      Split large string section; add truncation advice
      Update timezone code from tzcode 2015g.
      Fix doc quoting problems with Texinfo 5
      ChangeLogs: convert to utf-8

Paul Murphy (6):
      nptl: Add adapt_count parameter to lll_unlock_elision
      powerpc: Optimize lock elision for pthread_mutex_t
      powerpc: Fix usage of elision transient failure adapt param
      Shuffle includes in ldbl-128ibm/mpn2ldl.c
      powerpc: More elision improvements
      powerpc: Spinlock optimization and cleanup

Paul Pluzhnikov (19):
      Add #include <unistd.h> to libio/oldfileops.c for write.
      Fix BZ #17905
      Fix trailing space.
      In preparation for fixing BZ#16734, fix failure in misc/tst-error1-mem
      Fix BZ #18086 -- nice resets errno to 0.
      Fix BZ #16734 -- fopen calls mmap to allocate its buffer
      Fix BZ #18820 -- fmemopen may leak memory on failure.
      Regenerated sysdeps/x86_64/fpu/libm-test-ulps with AVX2.
      Fix BZ #18084 -- backtrace (..., 0) dumps core on x86.
      Filter out NULL entries.
      Fix BZ #18757.
      To fix BZ #18675, use __fstatvfs64 in __fpathconf.
      Fix BZ #18872 -- memory leak in printf_positional.
      Fix BZ #18985 -- out of range data to strftime() causes a segfault
      sysdeps/x86_64/fpu/libm-test-ulps: Regenerated on Haswell.
      Fix BZ #19012 -- iconv_open leaks memory on error path.
      stdio-common/tst-printf-bz18872.sh: Use attribute optimize instead of
      [BZ #19451]
      2016-01-20  Paul Pluzhnikov  <ppluzhnikov@google.com>

Petar Jovanovic (1):
      Fix dynamic linker issue with bind-now

Phil Blundell (1):
      ChangeLog: Fix incorrect email address

Rajalakshmi Srinivasaraghavan (3):
      powerpc: Handle worstcase behavior in strstr() for POWER7
      Call direct system calls for socket operations
      powerpc: Regenerate libm-test-ulps

Rasmus Villemoes (1):
      linux/getsysstats.c: use sysinfo() instead of parsing /proc/meminfo

Richard Henderson (2):
      longlong.h: Disable alpha umul_ppmm for old g++
      Update Alpha libm-test-ulps

Rob Wu (1):
      resolv: Reset defdname before use in __res_vinit [BZ #19369]

Roland McGrath (12):
      NaCl: Call __nacl_main in preference to main.
      Meaningless ChangeLog cleanup to trigger buildbot.
      Mark elf/tst-protected1[ab] as XFAIL.
      BZ#18921: Fix opendir inverted o_directory_works test.
      BZ#18921: Mark fixed in NEWS.
      NaCl: Do not install <sys/mtio.h>.
      Use HOST_NAME_MAX for MAXHOSTNAMELEN in <sys/param.h>.
      BZ#18872: Don't conditionalize build rules for test program.
      Fix some stub prototypes missing ... after K&R conversion
      NaCl: Use open_resource API for shared objects
      NaCl: Use allocate_code_data after dyncode_create
      NaCl: Fix unused variable errors in lowlevellock-futex.h macros.

Samuel Thibault (20):
      Fix gcrt0.o compilation
      Fix sysdeps/i386/fpu/s_scalbn.S build
      Fix rules generating headers in hurd/ and mach/
      Fix parallel build of before-compile targets.
      Fix typo
      Fix typo
      Really fix sysdeps/i386/fpu/s_scalbn.S build
      Fix vm_page_size visibility
      Add missing __mach_host_self_ symbol in Versions
      Add task_notify to mach_interface_list
      Make _hurd_raise_signal return errors
      Make _hurd_raise_signal directly return the error
      Remove unusued variable
      Fix RPC breakage when longjumping from signal handler
      Fix hurd build with hidden support
      Revert not defining NO_HIDDEN on hurd
      Do not add relro attribute to __libc_stack_end
      hurd: Initialize __libc_stack_end for hidden support
      hurd: Make mmap64 use vm_offset_t for overflow check
      Harmonize generic stdio-lock support with nptl

Siddhesh Poyarekar (12):
      Remove incorrect register mov in floorf/nearbyint on x86_64
      Drop unused first argument from arena_get2
      Don't use the main arena in retry path if it is corrupt
      benchtests: Mark output variables as used
      Remove redundant else clauses in s_sin.c
      Include s_sin.c in s_sincos.c
      benchtests: Add inputs from sin and cos to sincos
      benchtests: ffs and ffsll are string functions, not math
      Fix up ChangeLog
      Consolidate range reduction in sincos for x > 281474976710656
      Consolidate sin and cos code for 105414350 <|x|< 281474976710656
      Consolidate sincos computation for 2.426265 < |x| < 105414350

Stan Shebs (1):
      Disable uninitialized warning with GCC 4.8

Stefan Liebler (37):
      S390: Fix handling of DXC-byte in FPC-register.
      S390: Refactor ifunc implementations and enable ifunc-test-framework.
      S390: Add hwcaps value for vector facility.
      S390: Add new s390 platform.
      S390: configure check for vector instruction support in assembler.
      S390: Ifunc resolver macro for vector instructions.
      S390: Optimize strlen and wcslen.
      S390: Optimize strnlen and wcsnlen.
      S390: Optimize strcpy and wcscpy.
      S390: Optimize stpcpy and wcpcpy.
      S390: Optimize strncpy and wcsncpy.
      S390: Optimize stpncpy and wcpncpy.
      S390: Optimize strcat and wcscat.
      S390: Optimize strncat wcsncat.
      S390: Optimize strcmp and wcscmp.
      S390: Optimize strncmp and wcsncmp.
      S390: Optimize strchr and wcschr.
      S390: Optimize strchrnul and wcschrnul.
      S390: Optimize strrchr and wcsrchr.
      S390: Optimize strspn and wcsspn.
      S390: Optimize strpbrk and wcspbrk.
      S390: Optimize strcspn and wcscspn.
      S390: Optimize memchr, rawmemchr and wmemchr.
      S390: Optimize memccpy.
      S390: Optimize wmemset.
      S390: Optimize wmemcmp.
      S390: Optimize memrchr.
      S390: Optimize string, wcsmbs and memory functions.
      S390: Fix build error with gcc6 in utf8_utf16-z9.c.
      Adjust _Unwind_Word in unwind.h to version in libgcc.
      S390: Call direct system calls for socket operations.
      S390: Clean setjmp, longjmp, getcontext symbols.
      S390: Use __asm__ instead of asm.
      S/390: Do not raise inexact exception in lrint/lround. [BZ #19486]
      S390: Regenerate ULPs
      S390: Fix build error in iconvdata/bug-iconv11.c.
      S390: Fix build failure in test string/tst-endian.c with gcc 6.

Steve Ellcey (9):
      Fix undefined warning messages in GCC 6.
      Add unused attribute to declaration for mips16 builds.
      Add missing ChangeLog entry.
      Update timezone/Makefile to use -Wno-unused-variable
      Make performance improvement to MIPS memcpy for small copies.
      Fix indentation.
      Fix indentation.
      Fix indentation.
      Fix MIPS64 memcpy regression.

Szabolcs Nagy (4):
      Regenerate aarch64 libm-test-ulps
      [BZ #19129][ARM] Fix _dl_tlsdesc_resolve_hold to save r0
      [AArch64] Regenerate libm-test-ulps
      [ARM] add missing -funwind-tables to test case (bug 19529)

Thomas Schwinge (1):
      hurd: install correct number of send rights on fork

Torvald Riegel (5):
      Remove unused variable in math/atest-exp2.c.
      Do not violate mutex destruction requirements.
      New pthread_barrier algorithm to fulfill barrier destruction requirements.
      Fix pthread_barrier_init typo.
      nptl: Add first-line description for barrier tests.

Tulio Magno Quites Machado Filho (3):
      PowerPC: Fix a race condition when eliding a lock
      tst-backtrace4: fix a warning message
      powerpc: Enforce compiler barriers on hardware transactions

Vincent Bernat (2):
      time: in strptime(), make %z accept Z as a time zone [BZ #17886]
      time: in strptime(), make %z accept [+-]HH:MM tz [BZ #17887]

Wilco Dijkstra (17):
      Improve fesetenv performance by avoiding unnecessary FPSR/FPCR reads/writes.
      Improve feenableexcept performance - avoid an unnecessary FPCR read in case
      This patch improves strncpy performance by using strnlen/memcpy rather than a byte loop. Performance
      Improve memccpy performance by using memchr/memcpy/mempcpy rather than
      Improve performance of mempcpy by inlining and using memcpy. Enable
      Improve stpncpy performance by using __strnlen/memcpy/memset rather than a
      2015-08-24  Wilco Dijkstra  <wdijkstr@arm.com>
      2015-08-24  Wilco Dijkstra  <wdijkstr@arm.com>
      Add a new benchmark for isinf/isnan/isnormal/isfinite/fpclassify. The test uses 2 arrays with 1024 doubles, one with 99% finite FP numbers (10% zeroes, 10% negative) and 1% inf/NaN, the other with 50% inf, and 50% Nan.
      Add inlining of the C99 math functions isinf/isnan/signbit/isfinite/isnormal/fpclassify using GCC
      Use the GCC builtin functions for the non-inlined signbit implementations.
      Fix several build failures with GCC6 due to unused static variables.
      Since we now inline isinf, isnan and isfinite in math.h, replace uses of __isinf_ns(l/f)
      Cleanup a few cases where isinf is used to get the signbit to improve the readability and maintainability and allow inlining.
      Undo build error fixes to timezone/private.h, change makefile instead to
      Remove __signbit* from localplt.data as they are no longer called from within GLIBC.
      Enable _STRING_ARCH_unaligned on AArch64.

Zack Weinberg (4):
      Correct comments about the history of <regexp.h>
      stpncpy: fix size checking [BZ #18975]
      Desupport regexp.h (bug 18681)
      regexp.h: update Versions to match file usage [BZ #18681]