commit 2985881f789654344a1a8dc4a6c928d9961cde39 (HEAD -> gentoo/2.30, gentoo/gentoo/2.30)
Author: Fangrui Song <maskray@google.com>
Date:   Tue Feb 4 21:55:44 2020 -0800

    Improve IFUNC check [BZ #25506]
    
    GNU ld's RISCV port does not support IFUNC. ld -no-pie produces no
    relocation and the test passed incorrectly. Be more rigid by testing
    IRELATIVE explicitly.
    
    Tested-by: Aurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    (cherry picked from commit 87a698a21646b7ee620923ef5ffa9735471a8ddd)
    (cherry picked from commit 75fa5fd7c37417b29d66294bee3431b9567416bf)

 configure    | 2 +-
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 28cca1043d223668029efea6fc551a9a80b5cead
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Feb 20 14:37:04 2020 -0300

    malloc/tst-mallocfork2: Kill lingering process for unexpected failures
    
    If the test fails due some unexpected failure after the children
    creation, either in the signal handler by calling abort or in the main
    loop; the created children might not be killed properly.
    
    This patches fixes it by:
    
      * Avoid aborting in the signal handler by setting a flag that
        an error has occured and add a check in the main loop.
    
      * Add a atexit handler to handle kill child processes.
    
    Checked on x86_64-linux-gnu.
    
    (cherry picked from commit d53f5cac5012de3a2b947e86619d39a01784ed42)

 malloc/tst-mallocfork2.c | 39 ++++++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 11 deletions(-)

commit 49c2bdd46bb52ed367cc8754981f8e19bcf09a19
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)
    (cherry picked from commit 74d9b0811eb4176ba314436a56f6f5fea96ba910)

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

commit f5a4b2413963954947260e7ae0c73f142d4c82db
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)
    (cherry picked from commit e1766196b67b830b8dbced1d96fd9c538f00489c)

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

commit 1f3cd03b3319b1e274dfc17748a8b4ce07427bef
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)
    (cherry picked from commit b3be12767c66773bc476735bf048d026a7a94925)

 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 d61b8f52ebe97fd83653956c10150a9ae2649b1a
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)
    (cherry picked from commit 761c0e60861b0a92983d25b2141ace4e0d76fa9a)

 .../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 1cbd8e4546389dd8e9d70af4da1e24d5786ad04b
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)
    (cherry picked from commit 43598ef6e2b1a8226db9f83dac9e93224306e242)

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

commit e73a2c566d55f85cfc2a27fe783b38c12c201477
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)
    (cherry picked from commit 994e529a37953a057b9e6c80afa03b03fd3724f2)

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

commit d1e2ebb91bb01df08995f6a2fa1fba08e8c6fb5c
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)
    (cherry picked from commit 858069cb60c40c39a65f2d354e518353240d59d0)

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

commit 7592e5b63b8fe5e8234245c300397b42e32c7d6c
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)
    (cherry picked from commit 6359e79b4c1c6c30bcbd536298308d5ec0b01157)

 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 a98196de5f71635880d1d4a8724770e2bbbb3e8b
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)
    (cherry picked from commit dfa1f9fe0df169cd099a6f5cc0c43ccdd73590d0)

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

commit 0d71a7d21e5356a92b75add72b0ad428f8e93110
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)
    (cherry picked from commit 83f793e6a63c4bdd1b2f39618040a8317562a1f7)

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

commit 5afe227038edcc99fb9eee98457e71ba5f22d227
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)
    (cherry picked from commit 85da102c52517a9bfb0253f7ba65b2ddb893519c)

 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 60d2de412bb15c21d312249cd34152a6db54a5c7
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)
    (cherry picked from commit 143cea84a0e23d5ba0f4e9679f59f72763b46d27)

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

commit 7b989252be6f42383adec5874c8146799a4d08fd
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)
    (cherry picked from commit f0cd1cfbe37eed659df75cad3b5a58ad386d0fe6)

 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 c0cdd3dcdb83a0fb5460e23434e37504c4843039
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)
    (cherry picked from commit dbbd748c5f69a2fb4d5d305df2ce15b9e69a46ef)

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

commit 10e3ceaee0a3944f73307390cf90ba8568e2da87
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)
    (cherry picked from commit 8baeebad9aa6eca0eba028a9c95cd0867b37aa2d)

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

commit 9060ef5c6cba80935fa16410fd01e107bdfb59c8
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)
    (cherry picked from commit 16a576504240b287a2d291fa5267ec1c712c7059)

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

commit bc75500ccdb86fc6c9de38fd464bef4b2b83e076
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)
    (cherry picked from commit 2f02abb81cee4f6ba65d9e1c89e8e26558e0dac0)

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

commit 23795db1a7fc962e7c3edd56eb6f4334da4c86cb
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)
    (cherry picked from commit 799f4baa1d81070573bff947f7ce204e50d44a42)

 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 0e58102d2a1a6d96b352c40f9fd37170dd9dd812
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)
    (cherry picked from commit b90aefd4ac44e9353d45170282c01f0bfdeeaf1c)

 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 1c5946d2abe520858f4deaec75b1f00eab4ef851
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)
    (cherry picked from commit 50f20fe506abb8853641006a7b90a81af21d7b91)

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

commit 7452ca27485fa62dca25e32b86aba376517a3ee8
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)
    (cherry picked from commit 4719e1851cd1101e555f314497504a54ba3fb99a)

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

commit d3e4dc37c99518ca1cc88598b00d0ad613a52669
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.
    
    (cherry picked from commit 761452f12781f2d15a50f2dcd9f40c53bc0ff040)

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

commit b1ecdeb92e1aeac9e76606b96f52d0edec93d5b7
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)
    (cherry picked from commit 5a08bdb1e73e87afc1ada7b7b95d43ae470ce7e1)

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

commit b7d272323661c94980e63fe57e206d499e3645cc
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)
    (cherry picked from commit f4419b0d0181da28f18cba40068f2e75300f5020)

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

commit b6f69c7ec1cc45ba1481a5a997961e3a72b56ee3 (tag: gentoo/glibc-2.30-4)
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)
    (cherry picked from commit 37c90e117310728a4ad1eb998c0bbe7d79c4a398)

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

commit e594391e9299cab57de6783a69258d1af8583eef
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)
    (cherry picked from commit a4b3bbf71e8a608ac6ee4f423b5e2db50e06b846)

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

commit adedd77b84123fd97f9162f8f8a6847bdad19d48
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)
    (cherry picked from commit 919af705eef416f4469341dfdf4ca23450f30236)

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

commit ec0381915a5ce7bdf21468d5882ff75a19b56836
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)
    (cherry picked from commit 09abef31a59e6a524d1d4142ad4eb40ad0a41ccd)

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

commit 1f1bb60fb355c17266001dcc0e4d5ffc6a24fd91
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)
    (cherry picked from commit 09b81b2bab71c1a41872ba8de43115e3bdbe3d98)

 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 4b533b0c03034bfb7ecbf744a17119eac362244c
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)
    (cherry picked from commit 5f620768fbdae75f71af78852be228ad5577623d)

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

commit e37eecb4c2485b40021c4b4717bf36bdfb8f0697
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)
    (cherry picked from commit c347431fb5fd3f124c05e82fb7a661b396e86f82)

 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 bb5c615e932b59fff8793cfb6666dc300d48cea2
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)
    (cherry picked from commit fca2d6186af873cb8355e216c07f4b4874ec5d3a)

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

commit 3ed7d4306e783ba200256085f03b48decd4c78c2
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)
    (cherry picked from commit 5397c399f9604f4e0d0b17f5600e7bc756577549)

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

commit 96e55069ad45998e63220e03388e71856f4bc448
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 (ChangeLog addition)
    
    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)
    (cherry picked from commit a6aaabd036d735a1b412f441bf6c706832655598)

 ChangeLog | 7 +++++++
 1 file changed, 7 insertions(+)

commit 3500adc7a96d4834bf1e0c920a0378996fef557d
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)
    (cherry picked from commit b1299aab223503e3ba2b447c3ec4f6f0197aa824)

 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 a87e2d232ca656a796fc1a164cd791a49e6a1783
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)
    (cherry picked from commit 3c3f8dc307a08f586718ded347bfc11a27becc1e)

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

commit 24706df42e07f8d8abbc69ecbfff91e96673989c
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)
    (cherry picked from commit 5438639cffe9323a5b766aff505f8f0462e10bd2)

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

commit 338b08f39c7405cb8eecd5f35c53dcce8512e384
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)
    (cherry picked from commit d74461fa348de4176894f98672cb9ce721e26676)

 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 5acc30bf94a38e74b301c1c1cb3605f5c8b165f5 (tag: gentoo/glibc-2.30-3)
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 upstream commit 8cacbcf4a984ccac24efedb795d9c8a7f149d17b.
    
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 sysdeps/unix/sysv/linux/riscv/vfork.S | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 0ff6ed9d0528c7119048b766f3fa4c33af916330 (tag: gentoo/glibc-2.30-2)
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Sun Sep 1 17:36:22 2019 +0100

    Revert "Gentoo: Fix 'make install-headers' when cross-compiler is not available yet."
    
    This reverts commit 6cbeeefee981729532160767e3dbbc6ff37295d9.
    
    In https://sourceware.org/PR24577 we discovered that riscv
    can't really install libc headers as it needs a cross-compiler.
    
    Bug: https://sourceware.org/PR24577
    Bug: https://bugs.gentoo.org/692052
    Bug: https://bugs.gentoo.org/686248

 Makerules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2aebca3c0f66ae24da775bc77c387132edc17dd7 (tag: gentoo/glibc-2.30-1)
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 d3fa83d11a29b5f64e99bd3b5d9883298387e8a1
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Thu Jul 25 22:54:02 2019 +0100

    Gentoo: Fix 'make install-headers' when cross-compiler is not available yet.
    
    Gentoo passes CPPFLAGS='-D__riscv_xlen=64 ... ' to work it around.
    
    Unfortunately depend file generation does not use $(CPPFLAGS).
    This causes install to fail as:
    
    ../sysdeps/riscv/bits/wordsize.h:22:3: error: #error unsupported ABI
       22 | # error unsupported ABI
          |   ^~~~~
    ../sysdeps/riscv/bits/wordsize.h:28:3: error: #error "rv32i-based targets are not supported"
       28 | # error "rv32i-based targets are not supported"
          |   ^~~~~
    
    The fix is to pass through 'CPPFLAGS' (and 'CFLAGS' while at it).
    
    Bug: https://bugs.gentoo.org/686248
    Bug: https://sourceware.org/PR24577
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 Makerules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 22ec73236d4659b893cb348838b1ecf7a6c7e1d0
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 003c031c2597a515f302898af927eceef84c6889
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 4d38d13ed939b942a9657773249bab148b5b5275
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 294cced718a1531215389258fcf838f1f2ac948f
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 ea0c184fd0f1a0b9c80a469a08d9efdffbc5bc43
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 34a2e31923f4c924fd9b8095aaee4fa1c40525e0
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 83c1785e78ff514c73ece098d6f5af53fc5218a4
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   | 433 +++++++++++++++++++++++++++++++
 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, 862 insertions(+)

commit cf4e9d12e2affabdf30b1d3548c6d34b43280358
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 f8fe6754f8d98e22615747cbb2654bb732fff2db
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 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(-)
