commit b6a12ec6c3756e5d3c4fff2986c35ec257fa4806 (HEAD -> gentoo/2.30)
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Sat Aug 3 01:45:43 2019 +0200

    [no-patch] Gentoo: Add trigger variable for compiled-locales and warning to locale-gen
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 scripts/gentoo/extra/locale/locale-gen | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 0c7bf62218991c1f1823f1f064e92d13f1b65835
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Fri Dec 14 20:43:04 2018 +0100

    Gentoo: force -O0 in conform tests to survive $CC changes
    
    In bug #659030 Gentoo started passing user's CFLAGS via $CC variable.
    conform tests should but are not ready to handle -O1/-O2 yet.
    Tests fail to validate headers due to inlining of weak symbol aliases
    and other problems. Let's force it back to -O0 until it's fixed upstream.
    
    Original patch by Sergei, ported to the new python test framework by Andreas
    
    Bug: https://bugs.gentoo.org/659030
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 conform/conformtest.py   | 6 ++++--
 conform/linknamespace.py | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

commit a7fd19e81733a0e1b7d6feaee657db76e989fe80
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Aug 10 15:58:12 2015 +0200

    Gentoo: Add a C.UTF-8 locale
    
    Source:
    https://src.fedoraproject.org/rpms/glibc/raw/master/f/glibc-c-utf8-locale.patch
    
    Notes from there:
    This patch needs to upstream as part of Carlos O'Donell
    <carlos@redhat.com>'s work on enabling upstream C.UTF-8 support. This
    work is currently blocked on cleaning up the test results to prove that
    full code-point sorting is working as intended.
    Note that this patch does not provide full code-point sorting as
    expected.
    This patch needs to upstream as soon as possible since it would be nice
    to have this in F29 and fixed.
    
    Further information:
    https://bugzilla.redhat.com/show_bug.cgi?id=902094
    https://sourceware.org/bugzilla/show_bug.cgi?id=17318
    https://bugs.gentoo.org/671024

 localedata/SUPPORTED |   1 +
 localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 239 insertions(+)

commit 768d0f2f5306eed5ca4a7542a6f16118745a81a0
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Mon Oct 22 22:34:13 2018 +0200

    Gentoo: Adapt to Gentoo-specific /etc/mail/aliases
    
    Patch by pacho2
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
    (cherry picked from commit 4e616cda056f471b799beba2b1cedc787ad4ecc0)

 nss/nss_files/files-alias.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8c338f0fb0ca22cc0a031d61fdcc2fe22e1b018a
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Wed Jan 17 01:02:19 2018 +0100

    Gentoo: Disable test that fails because of the gethostbyname4_r revert

 nss/Makefile | 1 -
 1 file changed, 1 deletion(-)

commit 3bc3842c9816e4fb44fed97f59dffb15cff87dc8
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Mon Sep 11 13:14:46 2017 +0200

    Gentoo: disable tests that fail only in sandbox

 elf/Makefile                     | 16 +---------------
 io/Makefile                      |  2 +-
 nptl/Makefile                    |  8 ++++----
 posix/Makefile                   |  4 ++--
 resolv/Makefile                  |  2 --
 sysdeps/unix/sysv/linux/Makefile |  2 +-
 6 files changed, 9 insertions(+), 25 deletions(-)

commit d0b0894d732ebc509f0328e79713480343897167
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Tue Aug 29 22:58:50 2017 +0200

    Revert "        * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_r"
    
    This reverts commit 8479f23aa1d5e5477a37f46823856bdafaedfa46.
    
    See for the background
      https://sourceware.org/bugzilla/show_bug.cgi?id=16826
      https://bugs.gentoo.org/show_bug.cgi?id=600632
    
    This makes test resolv/tst-res_use_inet6 fail. Disable it.
    (cherry picked from commit 06a2a073a2c6fb3e1489af96e125daca248d0a03)

 sysdeps/posix/getaddrinfo.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

commit 4940d9cf2db5c7a55a6d2fafa7984ab8c36bc0d1
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Wed Aug 23 13:26:49 2017 +0200

    [no-patch] Gentoo: Add support files
    
    * Source: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/extra/
    * The make-tarball script has been completely rewritten to work with git.
    * The c-stubs addon has been dropped since the addon mechanism is gone.
    * Updates to the nscd init script, see Gentoo bug 492814
    * Make patchset generation script also work with master
    * locale-gen: suppress ignored error when emptying already empty directory, bug 647188

 scripts/gentoo/README.Gentoo.patches     |  26 ++
 scripts/gentoo/extra/README              |   5 +
 scripts/gentoo/extra/etc/host.conf       |  24 ++
 scripts/gentoo/extra/etc/nscd            |  85 ++++++
 scripts/gentoo/extra/locale/locale-gen   | 435 +++++++++++++++++++++++++++++++
 scripts/gentoo/extra/locale/locale-gen.8 |  69 +++++
 scripts/gentoo/extra/locale/locale.gen   |  36 +++
 scripts/gentoo/extra/locale/locale.gen.5 |  77 ++++++
 scripts/gentoo/make-tarball.sh           | 107 ++++++++
 9 files changed, 864 insertions(+)

commit 25cb91119c3007f1225740ccc6921e89a8363f76
Author: Stephanie J. Lockwood-Childs <wormo@gentoo.org>
Date:   Tue Mar 13 01:57:21 2007 -0400

    Gentoo: support running tests under sandbox
    
    when glibc runs its tests, it does so by invoking the local library loader.
    in Gentoo, we build/run inside of our "sandbox" which itself is linked against
    libdl (so that it can load libraries and pull out symbols).  the trouble
    is that when you upgrade from an older glibc to the new one, often times
    internal symbols change name or abi.  this is normally OK as you cannot use
    libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so
    we always say "keep all of the glibc libraries from the same build".  but
    when glibc runs its tests, it uses dynamic paths to point to its new local
    copies of libraries.  if the test doesnt use libdl, then glibc doesnt add
    its path, and when sandbox triggers the loading of libdl, glibc does so
    from the host system system.  this gets us into the case of all libraries
    are from the locally compiled version of glibc except for libdl.so.
    
    http://bugs.gentoo.org/56898

 Makeconfig                  | 2 +-
 iconvdata/run-iconv-test.sh | 2 +-
 nptl/tst-tls6.sh            | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit daa6a91569ec045da94524e70c0f9e513df4485b
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Wed Apr 1 02:15:48 2009 -0400

    Gentoo: disable ldconfig during install
    
    Do not bother running ldconfig on DESTDIR.  It's a waste of time as we
    won't use the result (portage will rebuild the cache after install).
    Also, the Gentoo sandbox does not currently catch chroot() behavior so
    we end up (incorrectly) flagging it as a violation as a write to /etc.
    
    http://sourceware.org/ml/libc-alpha/2012-08/msg00118.html
    https://bugs.gentoo.org/431038

 Makefile | 1 +
 1 file changed, 1 insertion(+)

commit 74d9b0811eb4176ba314436a56f6f5fea96ba910 (origin/release/2.30/master)
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Feb 10 10:32:14 2020 -0300

    riscv: Avoid clobbering register parameters in syscall
    
    The riscv INTERNAL_SYSCALL macro might clobber the register
    parameter if the argument itself might clobber any register (a function
    call for instance).
    
    This patch fixes it by using temporary variables for the expressions
    between the register assignments (as indicated by GCC documentation,
    6.47.5.2 Specifying Registers for Local Variables).
    
    It is similar to the fix done for MIPS (bug 25523).
    
    Checked with riscv64-linux-gnu-rv64imafdc-lp64d build.
    
    (cherry picked from commit be74b42ee2a97009a6cd4fc90126add4a41c583b)

 sysdeps/unix/sysv/linux/riscv/sysdep.h | 84 ++++++++++++++++++++++------------
 1 file changed, 56 insertions(+), 28 deletions(-)

commit e1766196b67b830b8dbced1d96fd9c538f00489c
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Feb 10 10:19:29 2020 -0300

    microblaze: Avoid clobbering register parameters in syscall
    
    The microblaze INTERNAL_SYSCALL macro might clobber the register
    parameter if the argument itself might clobber any register (a function
    call for instance).
    
    This patch fixes it by using temporary variables for the expressions
    between the register assignments (as indicated by GCC documentation,
    6.47.5.2 Specifying Registers for Local Variables).
    
    It is similar to the fix done for MIPS (bug 25523).
    
    Checked with microblaze-linux-gnu and microblazeel-linux-gnu build.
    
    (cherry picked from commit 6cc8fc7c1506e8084d65b078ff5b05a92e17a28a)

 sysdeps/unix/sysv/linux/microblaze/sysdep.h | 91 ++++++++++++++++++-----------
 1 file changed, 56 insertions(+), 35 deletions(-)

commit b3be12767c66773bc476735bf048d026a7a94925
Author: WANG Xuerui <git@xen0n.name>
Date:   Thu Feb 13 00:57:03 2020 +0800

    mips: Fix argument passing for inlined syscalls on Linux [BZ #25523]
    
    According to [gcc documentation][1], temporary variables must be used for
    the desired content to not be call-clobbered.
    
    Fix the Linux inline syscall templates by adding temporary variables,
    much like what x86 did before
    (commit 381a0c26d73e0f074c962e0ab53b99a6c327066d).
    
    Tested with gcc 9.2.0, both cross-compiled and natively on Loongson
    3A4000.
    
    [1]: https://gcc.gnu.org/onlinedocs/gcc/Local-Register-Variables.html
    
    (cherry picked from commit 4fbba6fe904d0094ddc4284066b3860d119cbd4a)

 NEWS                                             |  1 +
 sysdeps/unix/sysv/linux/mips/mips32/sysdep.h     | 30 +++++++----
 sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h | 63 ++++++++++++++++--------
 sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h | 63 ++++++++++++++++--------
 4 files changed, 105 insertions(+), 52 deletions(-)

commit 761c0e60861b0a92983d25b2141ace4e0d76fa9a
Author: WANG Xuerui <git@xen0n.name>
Date:   Thu Feb 13 00:57:02 2020 +0800

    mips: Use 'long int' and 'long long int' in linux syscall code
    
    Style fixes only, no functional change.
    
    (cherry picked from commit d3fbb18aa3164ca1d11e8acba81e1fc2ca70f43e)

 .../unix/sysv/linux/mips/mips32/mips-syscall5.S    |   6 +-
 .../unix/sysv/linux/mips/mips32/mips-syscall6.S    |   6 +-
 .../unix/sysv/linux/mips/mips32/mips-syscall7.S    |   7 +-
 .../sysv/linux/mips/mips32/mips16/mips16-syscall.h |  64 +++++-----
 .../linux/mips/mips32/mips16/mips16-syscall0.c     |   4 +-
 .../linux/mips/mips32/mips16/mips16-syscall1.c     |   6 +-
 .../linux/mips/mips32/mips16/mips16-syscall2.c     |   6 +-
 .../linux/mips/mips32/mips16/mips16-syscall3.c     |   6 +-
 .../linux/mips/mips32/mips16/mips16-syscall4.c     |   6 +-
 sysdeps/unix/sysv/linux/mips/mips32/sysdep.h       | 137 +++++++++++----------
 sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h   | 102 +++++++--------
 sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h   | 100 +++++++--------
 sysdeps/unix/sysv/linux/mips/mips64/syscall.S      |   2 +-
 13 files changed, 231 insertions(+), 221 deletions(-)

commit 43598ef6e2b1a8226db9f83dac9e93224306e242
Author: John David Anglin <danglin@gcc.gnu.org>
Date:   Sun Nov 3 16:28:01 2019 -0500

    hppa: Align __clone stack argument to 8 bytes (Bug 25066)
    
    The hppa architecture requires strict alignment for loads and stores.
    As a result, the minimum stack alignment that will work is 8 bytes.
    This patch adjusts __clone() to align the stack argument passed to it.
    It also adjusts slightly some formatting.
    
    This fixes the nptl/tst-tls1 test.
    
    (cherry picked from commit e4c23a029a54c8c7788eff9ca771a01cccaaa0ce)

 NEWS                                 | 1 +
 sysdeps/unix/sysv/linux/hppa/clone.S | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 994e529a37953a057b9e6c80afa03b03fd3724f2
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jan 17 15:11:20 2020 +0100

    Remove incorrect alloc_size attribute from pvalloc [BZ #25401]
    
    pvalloc is guarantueed to round up the allocation size to the page
    size, so applications can assume that the memory region is larger
    than the passed-in argument.  The alloc_size attribute cannot express
    that.
    
    The test case is based on a suggestion from Jakub Jelinek.
    
    This fixes commit 9bf8e29ca136094f73f69f725f15c51facc97206 ("malloc:
    make malloc fail with requests larger than PTRDIFF_MAX (BZ#23741)").
    
    Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    (cherry picked from commit 768c83b7f60d82db6677e19dc51be9f341e0f3fc)

 NEWS                         |  1 +
 malloc/Makefile              |  2 +-
 malloc/malloc.h              |  3 +--
 malloc/tst-pvalloc-fortify.c | 48 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 51 insertions(+), 3 deletions(-)

commit 858069cb60c40c39a65f2d354e518353240d59d0
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Nov 12 12:25:49 2019 +0100

    login: Use pread64 in utmp implementation
    
    This reduces the possible error scenarios considerably because
    no longer can file seek fail, leaving the file descriptor in an
    inconsistent state and out of sync with the cache.
    
    As a result, it is possible to avoid setting file_offset to -1
    to make an error persistent.  Instead, subsequent calls will retry
    the operation and report any errors returned by the kernel.
    
    This change also avoids reading the file from the start if pututline
    is called multiple times, to work around lock acquisition failures
    due to timeouts.
    
    Change-Id: If21ea0c162c38830a89331ea93cddec14c0974de
    (cherry picked from commit d4625a19fe64f664119a541b317fb83de01bb273)

 login/utmp_file.c | 167 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 95 insertions(+), 72 deletions(-)

commit 6359e79b4c1c6c30bcbd536298308d5ec0b01157
Author: Leandro Pereira <leandro.pereira@microsoft.com>
Date:   Wed Oct 2 12:42:28 2019 -0400

    Add nocancel version of pread64()
    
    This is in preparation for changes in the dynamic linker so that
    pread() is used instead of lseek()+read().
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit fed33b0fb03d1942a6713286176d42869c0f1580)

 sysdeps/generic/not-cancel.h               |  2 ++
 sysdeps/unix/sysv/linux/Makefile           |  4 ++--
 sysdeps/unix/sysv/linux/Versions           |  1 +
 sysdeps/unix/sysv/linux/not-cancel.h       |  4 ++++
 sysdeps/unix/sysv/linux/pread64_nocancel.c | 32 ++++++++++++++++++++++++++++++
 5 files changed, 41 insertions(+), 2 deletions(-)

commit dfa1f9fe0df169cd099a6f5cc0c43ccdd73590d0
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Nov 12 12:02:57 2019 +0100

    login: Introduce matches_last_entry to utmp processing
    
    This simplifies internal_getut_nolock and fixes a regression,
    introduced in commit be6b16d975683e6cca57852cd4cfe715b2a9d8b1
    ("login: Acquire write lock early in pututline [BZ #24882]")
    in pututxline because __utmp_equal can only compare process-related
    utmp entries.
    
    Fixes: be6b16d975683e6cca57852cd4cfe715b2a9d8b1
    Change-Id: Ib8a85002f7f87ee41590846d16d7e52bdb82f5a5
    (cherry picked from commit 76a7c103eb9060f9e3ba01d073ae4621a17d8b46)

 login/utmp_file.c | 80 +++++++++++++++++++++----------------------------------
 1 file changed, 31 insertions(+), 49 deletions(-)

commit 83f793e6a63c4bdd1b2f39618040a8317562a1f7
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Nov 7 18:15:18 2019 +0100

    login: Acquire write lock early in pututline [BZ #24882]
    
    It has been reported that due to lack of fairness in POSIX file
    locking, the current reader-to-writer lock upgrade can result in
    lack of forward progress.  Acquiring the write lock directly
    hopefully avoids this issue if there are only writers.
    
    This also fixes bug 24882 due to the cache revalidation in
    __libc_pututline.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Change-Id: I57e31ae30719e609a53505a0924dda101d46372e
    (cherry picked from commit be6b16d975683e6cca57852cd4cfe715b2a9d8b1)

 NEWS                         |   1 +
 login/Makefile               |   3 +-
 login/tst-pututxline-cache.c | 193 +++++++++++++++++++++++++++++++++++++++++++
 login/utmp_file.c            |  73 +++++++++-------
 4 files changed, 239 insertions(+), 31 deletions(-)

commit 85da102c52517a9bfb0253f7ba65b2ddb893519c
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 15 16:09:43 2019 +0200

    login: Add nonstring attributes to struct utmp, struct utmpx [BZ #24899]
    
    Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
    -Wstringop-truncation option new in GCC 8 detects common misuses")
    added __attribute_nonstring__ to bits/utmp.h, but it did not update
    the parallel bits/utmpx.h header.  In struct utmp, the nonstring
    attribute for ut_id was missing.
    
    (cherry picked from commit c2adefbafcdd2519ff43eca6891c77cd7b29ab62)

 ChangeLog                                 | 12 ++++++++++++
 NEWS                                      |  1 +
 bits/utmp.h                               |  3 ++-
 sysdeps/gnu/bits/utmpx.h                  | 12 ++++++++----
 sysdeps/unix/sysv/linux/s390/bits/utmp.h  |  3 ++-
 sysdeps/unix/sysv/linux/s390/bits/utmpx.h | 12 ++++++++----
 6 files changed, 33 insertions(+), 10 deletions(-)

commit 143cea84a0e23d5ba0f4e9679f59f72763b46d27
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Nov 7 09:53:41 2019 +0100

    login: Remove double-assignment of fl.l_whence in try_file_lock
    
    Since l_whence is the second member of struct flock, it is written
    twice.  The double-assignment is technically undefined behavior due to
    the lack of a sequence point.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Change-Id: I2baf9e70690e723c61051b25ccbd510aec15976c
    (cherry picked from commit b0a83ae71b2588bd2a9e6b40f95191602940e01e)

 login/utmp_file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f0cd1cfbe37eed659df75cad3b5a58ad386d0fe6
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Aug 28 11:59:45 2019 +0200

    login: pututxline could fail to overwrite existing entries [BZ #24902]
    
    The internal_getut_r function updates the file_offset variable and
    therefore must always update last_entry as well.
    
    Previously, if pututxline could not upgrade the read lock to a
    write lock, internal_getut_r would update file_offset only,
    without updating last_entry, and a subsequent call would not
    overwrite the existing utmpx entry at file_offset, instead
    creating a new entry.  This has been observed to cause unbounded
    file growth in high-load situations.
    
    This commit removes the buffer argument to internal_getut_r and
    updates the last_entry variable directly, along with file_offset.
    
    Initially reported and fixed by Ondřej Lysoněk.
    
    Reviewed-by: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
    (cherry picked from commit 61d3db428176d9d0822e4e680305fe34285edff2)

 ChangeLog                       |  10 +++
 NEWS                            |   1 +
 login/Makefile                  |   5 +-
 login/tst-pututxline-lockfail.c | 176 ++++++++++++++++++++++++++++++++++++++++
 login/utmp_file.c               |  21 ++---
 5 files changed, 202 insertions(+), 11 deletions(-)

commit dbbd748c5f69a2fb4d5d305df2ce15b9e69a46ef
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 15 16:09:20 2019 +0200

    login: Use struct flock64 in utmp [BZ #24880]
    
    Commit 06ab719d30b01da401150068054d3b8ea93dd12f ("Fix Linux fcntl OFD
    locks for non-LFS architectures (BZ#20251)") introduced the use of
    fcntl64 into the utmp implementation.  However, the lock file
    structure was not updated to struct flock64 at that point.
    
    (cherry picked from commit 0d5b2917530ccaf8ad312dfbb7bce69d569c23ad)

 ChangeLog         | 6 ++++++
 NEWS              | 1 +
 login/utmp_file.c | 4 ++--
 3 files changed, 9 insertions(+), 2 deletions(-)

commit 8baeebad9aa6eca0eba028a9c95cd0867b37aa2d
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 15 16:09:05 2019 +0200

    login: Disarm timer after utmp lock acquisition [BZ #24879]
    
    If the file processing takes a long time for some reason, SIGALRM can
    arrive while the file is still being processed.  At that point, file
    access will fail with EINTR.  Disarming the timer after lock
    acquisition avoids that.  (If there was a previous alarm, it is the
    responsibility of the caller to deal with the EINTR error.)
    
    (cherry picked from commit 628598be7e1bfaa04f34df71ef6678f2c5103dfd)

 ChangeLog         | 13 +++++++++
 NEWS              |  1 +
 login/utmp_file.c | 80 +++++++++++++++++++------------------------------------
 3 files changed, 42 insertions(+), 52 deletions(-)

commit 16a576504240b287a2d291fa5267ec1c712c7059
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 15 10:30:23 2019 +0200

    login: Fix updwtmp, updwtmx unlocking
    
    Commit 5a3afa9738f3dbbaf8c0a35665318c1af782111b (login: Replace
    macro-based control flow with function calls in utmp) introduced
    a regression because after it, __libc_updwtmp attempts to unlock
    the wrong file descriptor.
    
    (cherry picked from commit 341da5b4b6253de9a7581a066f33f89cacb44dec)

 ChangeLog            |   7 ++++
 login/Makefile       |   2 +-
 login/tst-updwtmpx.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++
 login/utmp_file.c    |   2 +-
 4 files changed, 121 insertions(+), 2 deletions(-)

commit 2f02abb81cee4f6ba65d9e1c89e8e26558e0dac0
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 13 15:53:19 2019 +0200

    login: Replace macro-based control flow with function calls in utmp
    
    (cherry picked from commit 5a3afa9738f3dbbaf8c0a35665318c1af782111b)

 ChangeLog         |  12 ++++
 login/utmp_file.c | 173 +++++++++++++++++++++++++++++++-----------------------
 2 files changed, 112 insertions(+), 73 deletions(-)

commit 799f4baa1d81070573bff947f7ce204e50d44a42
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 13 12:09:32 2019 +0200

    login: Assume that _HAVE_UT_* constants are true
    
    Make the GNU version of bits/utmp.h the generic version because
    all remaining ports use it (with a sysdeps override for
    Linux s390/s390x).
    
    (cherry picked from commit a33b817f13170b5c24263b92e7e09880fe797d7e)

 ChangeLog                    |  26 +++++++++
 bits/utmp.h                  | 103 ++++++++++++++++++++++++++++++-----
 login/getutid_r.c            |   5 --
 login/getutmp.c              |  12 -----
 login/getutmpx.c             |  13 -----
 login/login.c                |   4 --
 login/logout.c               |  10 ----
 login/logwtmp.c              |  10 ----
 login/programs/utmpdump.c    |  46 ++--------------
 login/tst-utmp.c             |  25 ---------
 login/utmp_file.c            |  26 ++-------
 sysdeps/generic/utmp-equal.h |  34 +++++-------
 sysdeps/gnu/bits/utmp.h      | 126 -------------------------------------------
 13 files changed, 138 insertions(+), 302 deletions(-)

commit b90aefd4ac44e9353d45170282c01f0bfdeeaf1c
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Aug 5 15:54:10 2019 +0200

    login: Remove utmp backend jump tables [BZ #23518]
    
    There is just one file-based implementation, so this dispatch
    mechanism is unnecessary.  Instead of the vtable pointer
    __libc_utmp_jump_table, use a non-negative file_fd as the indicator
    that the backend is initialized.
    
    (cherry picked from commit 1a7fe2ebe52b3c8bf465d1756e69452d05c1c103)

 ChangeLog                 |  40 +++++++++++++++++
 NEWS                      |   1 +
 login/getutent_r.c        | 108 ++--------------------------------------------
 login/getutid_r.c         |   2 +-
 login/getutline_r.c       |   2 +-
 login/updwtmp.c           |   2 +-
 login/utmp-private.h      |  29 +++++--------
 login/utmp_file.c         |  89 ++++++++++++++------------------------
 login/utmpname.c          |   3 +-
 manual/users.texi         |  20 ++++-----
 sysdeps/unix/getlogin_r.c |   7 ++-
 11 files changed, 106 insertions(+), 197 deletions(-)

commit 50f20fe506abb8853641006a7b90a81af21d7b91
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Dec 5 17:29:42 2019 +0100

    misc/test-errno-linux: Handle EINVAL from quotactl
    
    In commit 3dd4d40b420846dd35869ccc8f8627feef2cff32 ("xfs: Sanity check
    flags of Q_XQUOTARM call"), Linux 5.4 added checking for the flags
    argument, causing the test to fail due to too restrictive test
    expectations.
    
    Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    (cherry picked from commit 1f7525d924b608a3e43b10fcfb3d46b8a6e9e4f9)

 sysdeps/unix/sysv/linux/test-errno-linux.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 4719e1851cd1101e555f314497504a54ba3fb99a
Author: Kamlesh Kumar <kamleshbhalui@gmail.com>
Date:   Thu Dec 5 16:54:47 2019 +0100

    <string.h>: Define __CORRECT_ISO_CPP_STRING_H_PROTO for Clang [BZ #25232]
    
    Without the asm redirects, strchr et al. are not const-correct.
    
    libc++ has a wrapper header that works with and without
    __CORRECT_ISO_CPP_STRING_H_PROTO (using a Clang extension).  But when
    Clang is used with libstdc++ or just C headers, the overloaded functions
    with the correct types are not declared.
    
    This change does not impact current GCC (with libstdc++ or libc++).
    
    (cherry picked from commit 953ceff17a4a15b10cfdd5edc3c8cae4884c8ec3)

 NEWS            | 1 +
 string/string.h | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

commit 761452f12781f2d15a50f2dcd9f40c53bc0ff040
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Dec 3 20:26:28 2019 +0100

    x86: Assume --enable-cet if GCC defaults to CET [BZ #25225]
    
    This links in CET support if GCC defaults to CET.  Otherwise, __CET__
    is defined, yet CET functionality is not compiled and linked into the
    dynamic loader, resulting in a linker failure due to undefined
    references to _dl_cet_check and _dl_open_check.

 NEWS         |  1 +
 configure    | 23 ++++++++++++++++++++++-
 configure.ac |  9 ++++++++-
 3 files changed, 31 insertions(+), 2 deletions(-)

commit 5a08bdb1e73e87afc1ada7b7b95d43ae470ce7e1
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Nov 28 14:18:12 2019 +0100

    libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203]
    
    Commit c402355dfa7807b8e0adb27c009135a7e2b9f1b0 ("libio: Disable
    vtable validation in case of interposition [BZ #23313]") only covered
    the interposable glibc 2.1 handles, in libio/stdfiles.c.  The
    parallel code in libio/oldstdfiles.c needs similar detection logic.
    
    Fixes (again) commit db3476aff19b75c4fdefbe65fcd5f0a90588ba51
    ("libio: Implement vtable verification [BZ #20191]").
    
    Change-Id: Ief6f9f17e91d1f7263421c56a7dc018f4f595c21
    (cherry picked from commit cb61630ed712d033f54295f776967532d3f4b46a)

 NEWS                | 1 +
 libio/oldstdfiles.c | 5 +++++
 2 files changed, 6 insertions(+)

commit f4419b0d0181da28f18cba40068f2e75300f5020
Author: Stefan Liebler <stli@linux.ibm.com>
Date:   Wed Nov 27 12:35:40 2019 +0100

    S390: Fix handling of needles crossing a page in strstr z15 ifunc-variant. [BZ #25226]
    
    If the specified needle crosses a page-boundary, the s390-z15 ifunc variant of
    strstr truncates the needle which results in invalid results.
    
    This is fixed by loading the needle beyond the page boundary to v18 instead of v16.
    The bug is sometimes observable in test-strstr.c in check1 and check2 as the
    haystack and needle is stored on stack. Thus the needle can be on a page boundary.
    
    check2 is now extended to test haystack / needles located on stack, at end of page
    and on two pages.
    
    This bug was introduced with commit 6f47401bd5fc71209219779a0426170a9a7395b0
    ("S390: Add arch13 strstr ifunc variant.") and is already released in glibc 2.30.
    
    (cherry picked from commit bfdb731438206b0f70fe7afa890681155c30b419)

 string/test-strstr.c         | 41 +++++++++++++++++++++++++++++++++++------
 sysdeps/s390/strstr-arch13.S |  2 +-
 2 files changed, 36 insertions(+), 7 deletions(-)

commit 37c90e117310728a4ad1eb998c0bbe7d79c4a398
Author: Marcin Kościelnicki <mwk@0x04.net>
Date:   Thu Nov 21 00:20:15 2019 +0100

    rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204]
    
    The problem was introduced in glibc 2.23, in commit
    b9eb92ab05204df772eb4929eccd018637c9f3e9
    ("Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT").
    
    (cherry picked from commit d5dfad4326fc683c813df1e37bbf5cf920591c8e)

 NEWS                                            | 9 +++++++++
 sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h | 3 ++-
 2 files changed, 11 insertions(+), 1 deletion(-)

commit a4b3bbf71e8a608ac6ee4f423b5e2db50e06b846
Author: Emilio Cobos Álvarez <emilio@crisal.io>
Date:   Tue Nov 12 19:18:32 2019 +0100

    Don't use a custom wrapper macro around __has_include (bug 25189).
    
    This causes issues when using clang with -frewrite-includes to e.g.,
    submit the translation unit to a distributed compiler.
    
    In my case, I was building Firefox using sccache.
    
    See [1] for a reduced test-case since I initially thought this was a
    clang bug, and [2] for more context.
    
    Apparently doing this is invalid C++ per [cpp.cond], which mentions [3]:
    
    > The #ifdef and #ifndef directives, and the defined conditional
    > inclusion operator, shall treat __has_include and __has_cpp_attribute
    > as if they were the names of defined macros.  The identifiers
    > __has_include and __has_cpp_attribute shall not appear in any context
    > not mentioned in this subclause.
    
    [1]: https://bugs.llvm.org/show_bug.cgi?id=43982
    [2]: https://bugs.llvm.org/show_bug.cgi?id=37990
    [3]: http://eel.is/c++draft/cpp.cond#7.sentence-2
    
    Change-Id: Id4b8ee19176a9e4624b533087ba870c418f27e60
    (cherry picked from commit bfa864e1645e140da2e1aae3cf0d0ba0674f6eb5)

 NEWS                                 |  1 +
 misc/sys/cdefs.h                     |  8 --------
 sysdeps/unix/sysv/linux/bits/statx.h | 12 +++++++-----
 3 files changed, 8 insertions(+), 13 deletions(-)

commit 919af705eef416f4469341dfdf4ca23450f30236
Author: DJ Delorie <dj@redhat.com>
Date:   Wed Oct 30 18:03:14 2019 -0400

    Base max_fast on alignment, not width, of bins (Bug 24903)
    
    set_max_fast sets the "impossibly small" value based on,
    eventually, MALLOC_ALIGNMENT.  The comparisons for the smallest
    chunk used is, eventually, MIN_CHUNK_SIZE.  Note that i386
    is the only platform where these are the same, so a smallest
    chunk *would* be put in a no-fastbins fastbin.
    
    This change calculates the "impossibly small" value
    based on MIN_CHUNK_SIZE instead, so that we can know it will
    always be impossibly small.
    
    (cherry picked from commit ff12e0fb91b9072800f031cb21fb2651ee7b6251)

 malloc/malloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 09abef31a59e6a524d1d4142ad4eb40ad0a41ccd
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 15 11:37:18 2019 +0200

    malloc: Various cleanups for malloc/tst-mxfast
    
    (cherry picked from commit f9769a239784772453d595bc2f4bed8739810e06)

 ChangeLog           |  8 ++++++++
 malloc/Makefile     |  3 +--
 malloc/tst-mxfast.c | 14 +++++++-------
 3 files changed, 16 insertions(+), 9 deletions(-)

commit 09b81b2bab71c1a41872ba8de43115e3bdbe3d98
Author: DJ Delorie <dj@redhat.com>
Date:   Thu Aug 8 19:09:43 2019 -0400

    Add glibc.malloc.mxfast tunable
    
    * elf/dl-tunables.list: Add glibc.malloc.mxfast.
    * manual/tunables.texi: Document it.
    * malloc/malloc.c (do_set_mxfast): New.
    (__libc_mallopt): Call it.
    * malloc/arena.c: Add mxfast tunable.
    * malloc/tst-mxfast.c: New.
    * malloc/Makefile: Add it.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit c48d92b430c480de06762f80c104922239416826)

 ChangeLog            | 10 ++++++++++
 elf/dl-tunables.list |  5 +++++
 malloc/Makefile      |  3 +++
 malloc/arena.c       |  2 ++
 malloc/malloc.c      | 21 ++++++++++++++-------
 malloc/tst-mxfast.c  | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 manual/tunables.texi | 12 ++++++++++++
 7 files changed, 96 insertions(+), 7 deletions(-)

commit 5f620768fbdae75f71af78852be228ad5577623d
Author: Niklas Hambüchen <mail@nh2.me>
Date:   Thu Aug 8 22:02:27 2019 +0200

    malloc: Fix missing accounting of top chunk in malloc_info [BZ #24026]
    
    Fixes `<total type="rest" size="..."> incorrectly showing as 0 most
    of the time.
    
    The rest value being wrong is significant because to compute the
    actual amount of memory handed out via malloc, the user must subtract
    it from <system type="current" size="...">. That result being wrong
    makes investigating memory fragmentation issues like
    <https://bugzilla.redhat.com/show_bug.cgi?id=843478> close to
    impossible.
    
    (cherry picked from commit b6d2c4475d5abc05dd009575b90556bdd3c78ad0)

 ChangeLog       | 6 ++++++
 malloc/malloc.c | 6 ++++++
 2 files changed, 12 insertions(+)

commit c347431fb5fd3f124c05e82fb7a661b396e86f82
Author: Dragan Mladjenovic <dmladjenovic@wavecomp.com>
Date:   Fri Aug 23 16:38:04 2019 +0000

    mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels
    
    Linux/Mips kernels prior to 4.8 could potentially crash the user
    process when doing FPU emulation while running on non-executable
    user stack.
    
    Currently, gcc doesn't emit .note.GNU-stack for mips, but that will
    change in the future. To ensure that glibc can be used with such
    future gcc, without silently resulting in binaries that might crash
    in runtime, this patch forces RWX stack for all built objects if
    configured to run against minimum kernel version less than 4.8.
    
            * sysdeps/unix/sysv/linux/mips/Makefile
            (test-xfail-check-execstack):
            Move under mips-has-gnustack != yes.
            (CFLAGS-.o*, ASFLAGS-.o*): New rules.
            Apply -Wa,-execstack if mips-force-execstack == yes.
            * sysdeps/unix/sysv/linux/mips/configure: Regenerated.
            * sysdeps/unix/sysv/linux/mips/configure.ac
            (mips-force-execstack): New var.
            Set to yes for hard-float builds with minimum_kernel < 4.8.0
            or minimum_kernel not set at all.
            (mips-has-gnustack): New var.
            Use value of libc_cv_as_noexecstack
            if mips-force-execstack != yes, otherwise set to no.
    
    (cherry picked from commit 33bc9efd91de1b14354291fc8ebd5bce96379f12)

 ChangeLog                                 | 16 ++++++++++++
 sysdeps/unix/sysv/linux/mips/Makefile     | 21 ++++++++++++----
 sysdeps/unix/sysv/linux/mips/configure    | 41 +++++++++++++++++++++++++++++++
 sysdeps/unix/sysv/linux/mips/configure.ac | 32 ++++++++++++++++++++++++
 4 files changed, 105 insertions(+), 5 deletions(-)

commit fca2d6186af873cb8355e216c07f4b4874ec5d3a
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Tue Oct 8 14:32:17 2019 -0300

    Make tst-strftime2 and tst-strftime3 depend on locale generation
    
    Building the test cases in parallel might make tst-strftime2 and
    tst-strftime3 fail.  Simply re-running the test case (or building
    serially) makes the problem go away.  This patch adds the necessary
    dependency to allow parallel builds in the time subdirectory.
    
    Tested for powerpc64le.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
    (cherry picked from commit 52151051b39293dac9fc3181cfd6240d7ce86ca1)

 ChangeLog     | 6 ++++++
 time/Makefile | 2 ++
 2 files changed, 8 insertions(+)

commit 5397c399f9604f4e0d0b17f5600e7bc756577549
Author: Stefan Liebler <stli@linux.ibm.com>
Date:   Fri Oct 18 14:57:14 2019 +0200

    S390: Add new s390 platform z15.
    
    The new IBM z15 is added to platform string array.
    The macro _DL_PLATFORMS_COUNT is incremented.
    
    (cherry picked from commit 2901743568452403849be7295c8732faa7732339)

 sysdeps/s390/dl-procinfo.c | 4 ++--
 sysdeps/s390/dl-procinfo.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit a6aaabd036d735a1b412f441bf6c706832655598
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Sep 18 13:22:24 2019 +0000

    Fix RISC-V vfork build with Linux 5.3 kernel headers.
    
    Building glibc for RISC-V with Linux 5.3 kernel headers fails because
    <linux/sched.h>, included in vfork.S for CLONE_* constants, contains a
    structure definition not safe for inclusion in assembly code.
    
    All other architectures already avoid use of that header in vfork.S,
    either defining the CLONE_* constants locally or embedding the
    required values directly in the relevant instruction, where they
    implement vfork using the clone syscall (see the implementations for
    aarch64, ia64, mips and nios2).  This patch makes the RISC-V version
    define the constants locally like the other architectures.
    
    Tested build for all three RISC-V configurations in
    build-many-glibcs.py with Linux 5.3 headers.
    
            * sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include
            <linux/sched.h>.
            (CLONE_VM): New macro.
            (CLONE_VFORK): Likewise.
    
    (cherry picked from commit 8cacbcf4a984ccac24efedb795d9c8a7f149d17b)

 ChangeLog                             | 7 +++++++
 sysdeps/unix/sysv/linux/riscv/vfork.S | 5 ++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

commit b1299aab223503e3ba2b447c3ec4f6f0197aa824
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sat Sep 14 18:22:52 2019 +0200

    alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986]
    
    On alpha, Linux kernel 5.1 added the standard getegid, geteuid and
    getppid syscalls (commit ecf7e0a4ad15287). Up to now alpha was using
    the corresponding OSF1 syscalls through:
     - sysdeps/unix/alpha/getegid.S
     - sysdeps/unix/alpha/geteuid.S
     - sysdeps/unix/alpha/getppid.S
    
    When building against kernel headers >= 5.1, the glibc now use the new
    syscalls through sysdeps/unix/sysv/linux/syscalls.list. When it is then
    used with an older kernel, the corresponding 3 functions fail.
    
    A quick fix is to move the OSF1 wrappers under the
    sysdeps/unix/sysv/linux/alpha directory so they override the standard
    linux ones. A better fix would be to try the new syscalls and fallback
    to the old OSF1 in case the new ones fail. This can be implemented in
    a later commit.
    
    Changelog:
            [BZ #24986]
            * sysdeps/unix/alpha/getegid.S: Move to ...
            * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here.
            * sysdeps/unix/alpha/geteuid.S: Move to ...
            * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here.
            * sysdeps/unix/alpha/getppid.S: Move to ...
            * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here
    (cherry picked from commit 1a6566094d3097f4a3037ab5555cddc6cb11c3a3)

 ChangeLog                                     | 10 ++++++++++
 NEWS                                          |  2 ++
 sysdeps/unix/{ => sysv/linux}/alpha/getegid.S |  0
 sysdeps/unix/{ => sysv/linux}/alpha/geteuid.S |  0
 sysdeps/unix/{ => sysv/linux}/alpha/getppid.S |  0
 5 files changed, 12 insertions(+)

commit 3c3f8dc307a08f586718ded347bfc11a27becc1e
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Aug 1 09:19:34 2019 -0300

    hppa: Update libm-tests-ulps
    
    The make regen-ulps was done on a PA8900 with 8.3.0.
    
            * sysdeps/hppa/fpu/libm-test-ulps: Update.
    
    (cherry picked from commit 3175dcc1e67425ad471caddc3d3cfae357de26ff)

 ChangeLog                       |  4 ++
 sysdeps/hppa/fpu/libm-test-ulps | 88 ++++++++++++++++++++---------------------
 2 files changed, 48 insertions(+), 44 deletions(-)

commit 5438639cffe9323a5b766aff505f8f0462e10bd2
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Tue Sep 3 21:35:51 2019 +0200

    Update Alpha libm-test-ulps
    
    Changelog:
    
            * sysdeps/alpha/fpu/libm-test-ulps: Regenerated using GCC 9.2.
    
    (cherry picked from commit b5367a08ae810e3c648fb036f2e5766204f9d83f)

 ChangeLog                        |  4 ++++
 sysdeps/alpha/fpu/libm-test-ulps | 16 ++++++++--------
 2 files changed, 12 insertions(+), 8 deletions(-)

commit d74461fa348de4176894f98672cb9ce721e26676
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Thu Aug 22 23:50:04 2019 +0200

    Chinese locales: Set first_weekday to 2 (bug 24682).
    
    The first day of the week in China (Mainland) should be Monday according
    to the national standard GB/T 7408-2005.  References:
    
    * https://www.doc88.com/p-1166696540287.html
    * https://unicode-org.atlassian.net/browse/CLDR-11510
    
            [BZ #24682]
            * NEWS: Mention this bug fixed.
            * localedata/locales/bo_CN (first_weekday): Add, set to 2 (Monday).
            * localedata/locales/ug_CN (first_weekday): Likewise.
            * localedata/locales/zh_CN (first_weekday): Likewise.
    
    (cherry picked from commit c0fd3244e71db39cef1e2d1d8ba12bb8b7375ce4)

 ChangeLog                | 8 ++++++++
 NEWS                     | 2 ++
 localedata/locales/bo_CN | 1 +
 localedata/locales/ug_CN | 1 +
 localedata/locales/zh_CN | 1 +
 5 files changed, 13 insertions(+)

commit be9a328c93834648e0bec106a1f86357d1a8c7e1
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 1 16:48:12 2019 +0200

    malloc: Remove unwanted leading whitespace in malloc_info [BZ #24867]
    
    It was introduced in commit 6c8dbf00f536d78b1937b5af6f57be47fd376344
    ("Reformat malloc to gnu style.").
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit b0f6679bcd738ea244a14acd879d974901e56c8e)

 ChangeLog       | 6 ++++++
 NEWS            | 7 +++++++
 malloc/malloc.c | 2 +-
 3 files changed, 14 insertions(+), 1 deletion(-)
