commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] glibc maintenance branch, baseline-2.28, created. glibc-2.23-4015-


From: Samuel Thibault
Subject: [SCM] glibc maintenance branch, baseline-2.28, created. glibc-2.23-4015-g3c03bac
Date: Tue, 7 Aug 2018 20:06:29 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "glibc maintenance".

The branch, baseline-2.28 has been created
        at  3c03baca37fdcb52c3881e653ca392bba7a99c2b (commit)

- Log -----------------------------------------------------------------
commit 3c03baca37fdcb52c3881e653ca392bba7a99c2b
Author: Carlos O'Donell <address@hidden>
Date:   Wed Aug 1 01:10:47 2018 -0400

    Update NEWS, version.h, and features.h for glibc 2.28.

commit 74939c83d03167d968000eba98f67aa37358d2dc
Author: Carlos O'Donell <address@hidden>
Date:   Wed Aug 1 00:59:03 2018 -0400

    Synchronize translation project PO files.

commit 42fc12ef7345855ed6e2f23f863a16f43c2a8078
Author: Samuel Thibault <address@hidden>
Date:   Wed Aug 1 00:10:03 2018 +0200

    hurd: Fix exec usage of mach_setup_thread
    
    Exec needs that mach_setup_thread does *not* set up TLS since it works on
    another task, so we have to split this into mach_setup_tls.
    
        * mach/mach.h (__mach_setup_tls, mach_setup_tls): Add prototypes.
        * mach/setup-thread.c (__mach_setup_thread): Move TLS setup to...
        (__mach_setup_tls): ... new function.
        (mach_setup_tls): New alias.
        * hurd/hurdsig.c (_hurdsig_init): Call __mach_setup_tls after
        __mach_setup_thread.
        * sysdeps/mach/hurd/profil.c (update_waiter): Likewise.
        * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Likewise.
        * mach/Versions [libc] (mach_setup_tls): Add symbol.
        * sysdeps/mach/hurd/i386/libc.abilist (mach_setup_tls): Likewise.

commit d4b54bdff0064c36097dd5468f8aca9257472e9a
Author: Samuel Thibault <address@hidden>
Date:   Wed Aug 1 00:07:29 2018 +0200

    hurd: Add missing ChangeLog entry

commit f195ea0e2f552e55cba47e5d2ad93996706a59ca
Author: Samuel Thibault <address@hidden>
Date:   Tue Jul 31 22:33:05 2018 +0200

    hurd: Fix startup of static binaries linked against libpthread
    
    * sysdeps/mach/hurd/i386/init-first.c (init1): Move ELF hdr and TLS
    initialization...
    (init): ... before initializing libpthread.

commit f650932b34f23b94a49b245405db65c3b00bd0ed
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jul 31 16:37:07 2018 -0400

    Update tooling versions verified to work with glibc.

commit 6cca855e7e33907579e69b35bba85846d4aed670
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jul 31 15:26:24 2018 -0400

    Update contrib.texi contributions.

commit 07fdea47d83626694356b3da3518f90ec052a245
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jul 31 15:23:23 2018 -0400

    Update translation for be.

commit 63d5fad404c2c91ade33329f15cb035cb7e515c9
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jul 31 10:33:53 2018 -0300

    Update SH libm-tests-ulps
    
        * sysdeps/sh/libm-test-ulps: Update.

commit 1ff712a6789005e56cdc0013ddb265707cfb3e34
Author: Carlos O'Donell <address@hidden>
Date:   Mon Jul 30 16:20:00 2018 -0400

    Update translations for bg, de, hr, pt_BR, sv, and vi.

commit 98864ed0e055583707e37cdb7d41a9cdeac4473b
Author: H.J. Lu <address@hidden>
Date:   Mon Jul 30 16:14:46 2018 -0700

    x86/CET: Fix property note parser [BZ #23467]
    
    GNU_PROPERTY_X86_FEATURE_1_AND may not be the first property item.  We
    need to check each property item until we reach the end of the property
    or find GNU_PROPERTY_X86_FEATURE_1_AND.
    
    This patch adds 2 tests.  The first test checks if IBT is enabled and
    the second test reads the output from the first test to check if IBT
    is is enabled.  The second second test fails if IBT isn't enabled
    properly.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        [BZ #23467]
        * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add
        tst-cet-property-1 and tst-cet-property-2 if CET is enabled.
        (CFLAGS-tst-cet-property-1.o): New.
        (ASFLAGS-tst-cet-property-dep-2.o): Likewise.
        ($(objpfx)tst-cet-property-2): Likewise.
        ($(objpfx)tst-cet-property-2.out): Likewise.
        * sysdeps/unix/sysv/linux/x86/tst-cet-property-1.c: New file.
        * sysdeps/unix/sysv/linux/x86/tst-cet-property-2.c: Likewise.
        * sysdeps/unix/sysv/linux/x86/tst-cet-property-dep-2.S: Likewise.
        * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Parse
        each property item until GNU_PROPERTY_X86_FEATURE_1_AND is found.

commit c92a00d865638cebcfd13cfe0c3e811f565fe43b
Author: H.J. Lu <address@hidden>
Date:   Mon Jul 30 16:11:05 2018 -0700

    x86: Add tst-get-cpu-features-static to $(tests) [BZ #23458]
    
    All tests should be added to $(tests).
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        [BZ #23458]
        * sysdeps/x86/Makefile (tests): Add tst-get-cpu-features-static.

commit af86087f02a5522d8801a11d8381e04f95e33162
Author: Samuel Thibault <address@hidden>
Date:   Sat Jul 28 15:12:42 2018 +0200

    hurd: Fix some ld.so symbol override from libc
    
    ld.so symbols to be overriden by libc need to be extern to really get
    overriden.
    
        * sysdeps/mach/hurd/not-errno.h: New file.
        * sysdeps/mach/hurd/i386/localplt.data: Update accordingly.

commit 99bc62413665dbfcc2c9ec0434bd668323f422e8
Author: Samuel Thibault <address@hidden>
Date:   Sat Jul 28 14:57:10 2018 +0200

    hurd: Fix some ld.so symbol override from libc
    
    ld.so symbols to be overriden by libc need to be extern to really get
    overriden.
    
        * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read,
        __sbrk): Do not set attribute_hidden.
        * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
        * sysdeps/mach/hurd/i386/localplt.data: Update accordingly.

commit bcb1c4afd8941d4248cc4925f4a7e63118cf56a7
Author: Carlos O'Donell <address@hidden>
Date:   Fri Jul 27 20:07:33 2018 -0400

    Update translations for cs, pl, and uk.

commit 4591b7db23bf5f58f6dbd81a5d9f926bf765cd09
Author: H.J. Lu <address@hidden>
Date:   Fri Jul 27 13:20:51 2018 -0700

    x86/CET: Don't parse beyond the note end
    
    Simply check if "ptr < ptr_end" since "ptr" is always incremented by 8.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Don't
        parse beyond the note end.

commit 97f2237efa7e2cf269f925fe009a338eabcbc7f0
Author: Carlos O'Donell <address@hidden>
Date:   Fri Jul 27 15:56:24 2018 -0400

    Update NEWS with ISO 14651 update information.

commit e607a3520052e52ca55630e71f73622d18877d6d
Author: Rafal Luzynski <address@hidden>
Date:   Fri Jul 27 11:27:48 2018 +0200

    NEWS: Avoid the words "nominative" and "genitive".
    
    Glibc supports two grammatical forms of month names and we keep adding
    the locale data which actually use this feature but those two forms are
    not necessarily nominative and genitive.  It is better to use a more
    generic term.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 2c6da2f48769ca37b22088fe65bdcb4b0f319b80
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Jul 27 10:07:14 2018 -0300

    Fix Linux fcntl OFD locks on unsupported kernels
    
    This patch make the OFD tests return unsupported if kernel does not
    support OFD locks (it was added on 3.15).
    
    Checked on a ia64-linux-gnu with Linux 3.14.
    
        * sysdeps/unix/sysv/linux/tst-ofdlocks.c: Return unsupported if
        kernel does not support OFD locks.
        * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise.

commit da80612d6114815db698bf891fb751e7962d1c11
Author: H.J. Lu <address@hidden>
Date:   Fri Jul 27 10:28:30 2018 -0700

    Add the missing ChangeLog entry for commit be525a69a66

commit 20365a315b4e1aaa786e3b470a709b65406395e7
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 27 11:18:29 2018 +0200

    hurd: Fix some ld.so symbol override from libc
    
    ld.so symbols to be overriden by libc need to be extern to really get
    overriden.
    
    More fixes are needed to avoid the hidden attribute.
    
        * sysdeps/mach/hurd/Versions (libc): Make __access and
        __access_noerrno external so they can override the ld symbols.
        (ld): Make __access, __read, __sbrk, __strtoul_internal, __write,
        __writev, __open64, __access_noerrno extern so they can be overrided.
        * sysdeps/mach/hurd/i386/libc.abilist: Update accordingly.
        * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.

commit cb1a43db05ec4ad16daa4027228858ce52c8663b
Author: Carlos O'Donell <address@hidden>
Date:   Thu Jul 26 22:21:34 2018 -0400

    Update libc.pot.

commit 74759ae5b6ad07e0a3df1f7430e6565dd7c47622
Author: Joseph Myers <address@hidden>
Date:   Thu Jul 26 22:51:06 2018 +0000

    Update powerpc-nofpu ulps.
    
        * sysdeps/powerpc/nofpu/libm-test-ulps: Update.

commit be525a69a6630abc83144c0a96474f2e26da7443
Author: H.J. Lu <address@hidden>
Date:   Thu Jul 26 10:49:19 2018 -0700

    x86: Populate COMMON_CPUID_INDEX_80000001 for Intel CPUs [BZ #23459]
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        [BZ #23459]
        * sysdeps/x86/cpu-features.c (get_extended_indices): New
        function.
        (init_cpu_features): Call get_extended_indices for both Intel
        and AMD CPUs.
        * sysdeps/x86/cpu-features.h (COMMON_CPUID_INDEX_80000001):
        Remove "for AMD" comment.

commit 65d87ade1ee6f3ac099105e3511bd09bdc24cf3f
Author: H.J. Lu <address@hidden>
Date:   Thu Jul 26 11:10:08 2018 -0700

    x86: Correct index_cpu_LZCNT [BZ # 23456]
    
    cpu-features.h has
    
     #define bit_cpu_LZCNT              (1 << 5)
     #define index_cpu_LZCNT    COMMON_CPUID_INDEX_1
     #define reg_LZCNT
    
    But the LZCNT feature bit is in COMMON_CPUID_INDEX_80000001:
    
    Initial EAX Value: 80000001H
    ECX Extended Processor Signature and Feature Bits:
    Bit 05: LZCNT available
    
    index_cpu_LZCNT should be COMMON_CPUID_INDEX_80000001, not
    COMMON_CPUID_INDEX_1.  The VMX feature bit is in COMMON_CPUID_INDEX_1:
    
    Initial EAX Value: 01H
    Feature Information Returned in the ECX Register:
    5 VMX
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        [BZ # 23456]
        * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to
        COMMON_CPUID_INDEX_80000001.

commit c9dc4d5117afea7283d5fd80c80be8cc09cde84d
Author: Stefan Liebler <address@hidden>
Date:   Thu Jul 26 17:09:44 2018 +0200

    Fix string/tst-xbzero-opt if build with gcc head.
    
    On s390x, the test string/tst-xbzero-opt is failing if build with gcc head:
    FAIL: no clear/prepare: expected 32 got 0
    FAIL: no clear/test: expected some got 0
    FAIL: ordinary clear/prepare: expected 32 got 0
    INFO: ordinary clear/test: found 0 patterns (memset not eliminated)
    PASS: explicit clear/prepare: expected 32 got 32
    PASS: explicit clear/test: expected 0 got 0
    
    In setup_no_clear / setup_ordinary_clear, GCC is omitting the memcpy loop
    in prepare_test_buffer. Thus count_test_patterns does not find any of the
    test_pattern.
    
    This patch calls use_test_buffer in order to force the compiler to really 
copy
    the pattern to buf.
    
    ChangeLog:
    
        * string/tst-xbzero-opt.c (use_test_buffer): New function.
        (prepare_test_buffer): Call use_test_buffer as compiler barrier.

commit cfba5dbb10cc3abde632b46c60c10b2843917035
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 26 08:34:05 2018 +0200

    htl: Use weak aliases for public symbols
    
    Strong definitions of flockfile, funlockfile, ftrylockfile can conflict
    with application symbols when linking statically.

commit 49dddc3e99a69ecaa022ce703566b9abea2834c5
Author: Carlos O'Donell <address@hidden>
Date:   Wed Jul 25 21:58:10 2018 -0400

    Add missing localedata/en_US.UTF-8.in (Bug 23393).
    
    Commit 7cd7d36f1feb3ccacf476e909b115b45cdd46e77 failed to include
    the new testing file en_US.UTF-8.in.

commit 7cd7d36f1feb3ccacf476e909b115b45cdd46e77
Author: Carlos O'Donell <address@hidden>
Date:   Wed Jul 25 17:00:45 2018 -0400

    Keep expected behaviour for [a-z] and [A-z] (Bug 23393).
    
    In commit 9479b6d5e08eacce06c6ab60abc9b2f4eb8b71e4 we updated all of
    the collation data to harmonize with the new version of ISO 14651
    which is derived from Unicode 9.0.0.  This collation update brought
    with it some changes to locales which were not desirable by some
    users, in particular it altered the meaning of the
    locale-dependent-range regular expression, namely [a-z] and [A-Z], and
    for en_US it caused uppercase letters to be matched by [a-z] for the
    first time.  The matching of uppercase letters by [a-z] is something
    which is already known to users of other locales which have this
    property, but this change could cause significant problems to en_US
    and other similar locales that had never had this change before.
    Whether this behaviour is desirable or not is contentious and GNU Awk
    has this to say on the topic:
    https://www.gnu.org/software/gawk/manual/html_node/Ranges-and-Locales.html
    While the POSIX standard also has this further to say: "RE Bracket
    Expression":
    http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap09.html
    "The current standard leaves unspecified the behavior of a range
    expression outside the POSIX locale. ... As noted above, efforts were
    made to resolve the differences, but no solution has been found that
    would be specific enough to allow for portable software while not
    invalidating existing implementations."
    In glibc we implement the requirement of ISO POSIX-2:1993 and use
    collation element order (CEO) to construct the range expression, the
    API internally is __collseq_table_lookup().  The fact that we use CEO
    and also have 4-level weights on each collation rule means that we can
    in practice reorder the collation rules in iso14651_t1_common (the new
    data) to provide consistent range expression resolution *and* the
    weights should maintain the expected total order.  Therefore this
    patch does three things:
    
    * Reorder the collation rules for the LATIN script in
      iso14651_t1_common to deinterlace uppercase and lowercase letters in
      the collation element orders.
    
    * Adds new test data en_US.UTF-8.in for sort-test.sh which exercises
      strcoll* and strxfrm* and ensures the ISO 14651 collation remains.
    
    * Add back tests to tst-fnmatch.input and tst-regexloc.c which
      exercise that [a-z] does not match A or Z.
    
    The reordering of the ISO 14651 data is done in an entirely mechanical
    fashion using the following program attached to the bug:
    https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c28
    
    It is up for discussion if the iso14651_t1_common data should be
    refined further to have 3 very tight collation element ranges that
    include only a-z, A-Z, and 0-9, which would implement the solution
    sought after in:
    https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c12
    and implemented here:
    https://www.sourceware.org/ml/libc-alpha/2018-07/msg00854.html
    
    No regressions on x86_64.
    Verified that removal of the iso14651_t1_common change causes tst-fnmatch
    to regress with:
    422: fnmatch ("[a-z]", "A", 0) = 0 (FAIL, expected FNM_NOMATCH) ***
    ...
    425: fnmatch ("[A-Z]", "z", 0) = 0 (FAIL, expected FNM_NOMATCH) ***

commit 3fb455b318c48f76280b4f8a0ff23b2cb1af9a3e
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 13:54:08 2018 -0700

    ia64: Work around incorrect type of IA64 uc_sigmask
    
    Work around:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21634
    
        * sysdeps/unix/sysv/linux/ia64/tst-setcontext4.c: New file.

commit d6499b7039dd5830ad29b8f4332d66214f1a3dfd
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 25 15:20:44 2018 -0300

    Fix ISO C threads installed header and HURD assumption
    
    Set installed NPTL header as the expected one (instead of an
    internal one for glibc testsuite) and add a hurd specific
    stdc-predef with __STDC_NO_THREADS__.
    
    Checked on both i686-linux-gnu and i686-gnu that both threads.h
    and stdc-predef.h are the expected ones.
    
        * nptl/threads.h: Move to ...
        * sysdeps/nptl/threads.h: ... here.
        * sysdeps/hurd/stdc-predef.h: New file.

commit 08ac6bed146c0546d63163ac0d42c9a35880412d
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 08:40:39 2018 -0700

    x86/CET: Add a setcontext test for CET
    
    Verify that setcontext works with gaps above and below the newly
    allocated shadow stack.
    
        * sysdeps/unix/sysv/linux/x86/Makefile (tests): Add
        tst-cet-setcontext-1 if CET is enabled.
        (CFLAGS-tst-cet-setcontext-1.c): Add -mshstk.
        * sysdeps/unix/sysv/linux/x86/tst-cet-setcontext-1.c: New file.

commit 9faaf9385034ac71f308643de1afc91b5dd731aa
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 25 13:20:15 2018 +0000

    Fix C11 conformance issues
    
    Remove conformace assumption of NPTL implementation for ISO C threads
    and revert wrong libcrypt addition on linknamespace-libs-XPG4.
    
    The i686-gnu target now shows two new conformance failures:
    
    FAIL: conform/ISO11/threads.h/conform
    FAIL: conform/ISO11/threads.h/linknamespace
    
    It is expected due missing HTL ISO C threads support and both conformance
    .out files indicates the reason ("#error "HTL does not implement ISO C
    threads").
    
    Checked on i686-linux-gnu and i686-gnu.
    
        * include/threads.h: Move to ...
        * sysdeps/nptl/threads.h: ... here.
        * sysdeps/htl/threads.h: New file.
        * conform/Makefile (linknamespace-libs-ISO11): Use
        static-thread-library instead of linking libpthread.
        (linknamespace-libs-XPG4): Revert wrong libcrypt.a addition.

commit d6b8f8470990db2d36b8e50f1055a673fdf1cea0
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 25 16:31:45 2018 +0200

    C11 threads: Fix timeout and locking issues

commit 25123a1c5c96429d70e75b85a9749b405909d7f2
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 06:37:14 2018 -0700

    x86-64/CET: Extend ucontext_t to save shadow stack
    
    This patch adds a field to ucontext_t to save shadow stack:
    
    1. getcontext and swapcontext are updated to save the caller's shadow
    stack pointer and return addresses.
    2. setcontext and swapcontext are updated to restore shadow stack and
    jump to new context directly.
    3. makecontext is updated to allocate a new shadow stack and set the
    caller's return address to __start_context.
    
    Since makecontext allocates a new shadow stack when making a new
    context and kernel allocates a new shadow stack for clone/fork/vfork
    syscalls, we track the current shadow stack base.  In setcontext and
    swapcontext, if the target shadow stack base is the same as the current
    shadow stack base, we unwind the shadow stack.  Otherwise it is a stack
    switch and we look for a restore token.
    
    We enable shadow stack at run-time only if program and all used shared
    objects, including dlopened ones, are shadow stack enabled, which means
    that they must be compiled with GCC 8 or above and glibc 2.28 or above.
    We need to save and restore shadow stack only if shadow stack is enabled.
    When caller of getcontext, setcontext, swapcontext and makecontext is
    compiled with smaller ucontext_t, shadow stack won't be enabled at
    run-time.  We check if shadow stack is enabled before accessing the
    extended field in ucontext_t.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Add
        __ssp.
        * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Include
        <asm/prctl.h> and "ucontext_i.h" when shadow stack is enabled.
        (__push___start_context): New.
        * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Include
        <asm/prctl.h>.
        (__getcontext): Record the current shadow stack base.  Save the
        caller's shadow stack pointer and base.
        * sysdeps/unix/sysv/linux/x86_64/makecontext.c: Include
        <pthread.h>, <libc-pointer-arith.h> and <sys/prctl.h>.
        (__push___start_context): New prototype.
        (__makecontext): Call __push___start_context to allocate a new
        shadow stack, push __start_context onto the new stack as well
        as the new shadow stack.
        * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Include
        <asm/prctl.h>.
        (__setcontext): Restore the target shadow stack.
        * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Include
        <asm/prctl.h>.
        (__swapcontext): Record the current shadow stack base.  Save
        the caller's shadow stack pointer and base.  Restore the target
        shadow stack.
        * sysdeps/unix/sysv/linux/x86_64/sysdep.h
        (STACK_SIZE_TO_SHADOW_STACK_SIZE_SHIFT): New.
        * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym (oSSP): New.

commit 375a484459efcf2da1100e9ed228863be6665986
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 05:12:59 2018 -0700

    Add tests for setcontext on the context from makecontext
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * stdlib/Makefile ((tests): Add tst-setcontext6, tst-setcontext7,
        tst-setcontext8 and tst-setcontext9.
        * stdlib/tst-setcontext6.c: New file.
        * stdlib/tst-setcontext7.c: Likewise.
        * stdlib/tst-setcontext8.c: Likewise.
        * stdlib/tst-setcontext9.c: Likewise.

commit bd4f7903dfc5d192e987f42b0b30b74225bd075c
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 05:00:30 2018 -0700

    Add a test for multiple setcontext calls
    
    Check multiple setcontext calls.
    
    Reviewed-by: Carlos O'Donell <address@hidden>.
    
        * stdlib/Makefile ((tests): Add tst-setcontext5.
        * stdlib/tst-setcontext5.c: New file.

commit 7e28f203451e4e3a59f5ce29de23157f0a4b1fc9
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 04:57:21 2018 -0700

    Add another test for setcontext
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * stdlib/Makefile (tests): Add tst-setcontext4.
        * stdlib/tst-setcontext4.c: New file.

commit 8516ad2de3ae7c720370e06e7aa98d135b3c30eb
Author: H.J. Lu <address@hidden>
Date:   Wed May 16 12:28:19 2018 -0700

    Add a test for multiple makecontext calls
    
    Check multiple makecontext calls.
    
        * stdlib/Makefile (tests): Add tst-swapcontext1.
        * stdlib/tst-swapcontext1.c: New test.

commit fddcd003776ce242526e809ebfbdcccf31e486c6
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 04:46:53 2018 -0700

    x86/CET: Add tests with legacy non-CET shared objects
    
    Check binary compatibility of CET-enabled executables:
    
    1. When CET-enabled executable is used with legacy non-CET shared object
    at run-time, ld.so should disable SHSTK and put legacy non-CET shared
    objects in legacy bitmap.
    2. When IBT-enabled executable dlopens legacy non-CET shared object,
    ld.so should put legacy shared object in legacy bitmap.
    3. Use GLIBC_TUNABLES=glibc.tune.x86_shstk=[on|off|permissive] to
    control how SHSTK is enabled.
    
        * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1,
        tst-cet-legacy-2, tst-cet-legacy-2a, tst-cet-legacy-3,
        tst-cet-legacy-4, tst-cet-legacy-4a, tst-cet-legacy-4b
        and tst-cet-legacy-4c.
        (modules-names): Add tst-cet-legacy-mod-1, tst-cet-legacy-mod-2
        and tst-cet-legacy-mod-4.
        (CFLAGS-tst-cet-legacy-2.c): New.
        (CFLAGS-tst-cet-legacy-mod-1.c): Likewise.
        (CFLAGS-tst-cet-legacy-mod-2.c): Likewise.
        (CFLAGS-tst-cet-legacy-3.c): Likewise.
        (CFLAGS-tst-cet-legacy-4.c): Likewise.
        (CFLAGS-tst-cet-legacy-mod-4.c): Likewise.
        ($(objpfx)tst-cet-legacy-1): Likewise.
        ($(objpfx)tst-cet-legacy-2): Likewise.
        ($(objpfx)tst-cet-legacy-2.out): Likewise.
        ($(objpfx)tst-cet-legacy-2a): Likewise.
        ($(objpfx)tst-cet-legacy-2a.out): Likewise.
        ($(objpfx)tst-cet-legacy-4): Likewise.
        ($(objpfx)tst-cet-legacy-4.out): Likewise.
        ($(objpfx)tst-cet-legacy-4a): Likewise.
        ($(objpfx)tst-cet-legacy-4a.out): Likewise.
        (tst-cet-legacy-4a-ENV): Likewise.
        ($(objpfx)tst-cet-legacy-4b): Likewise.
        ($(objpfx)tst-cet-legacy-4b.out): Likewise.
        (tst-cet-legacy-4b-ENV): Likewise.
        ($(objpfx)tst-cet-legacy-4c): Likewise.
        ($(objpfx)tst-cet-legacy-4c.out): Likewise.
        (tst-cet-legacy-4c-ENV): Likewise.
        * sysdeps/x86/tst-cet-legacy-1.c: New file.
        * sysdeps/x86/tst-cet-legacy-2.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-2a.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-3.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-4.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-4a.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-4b.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-4c.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-mod-1.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-mod-2.c: Likewise.
        * sysdeps/x86/tst-cet-legacy-mod-4.c: Likewise.

commit 9aa3113a42d94d7bbf9bb4d50ef0d23b95e66123
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 25 04:39:26 2018 -0700

    x86: Rename __glibc_reserved2 to ssp_base in tcbhead_t
    
    This will be used to record the current shadow stack base for shadow
    stack switching by getcontext, makecontext, setcontext and swapcontext.
    If the target shadow stack base is the same as the current shadow stack
    base, we unwind the shadow stack.  Otherwise it is a stack switch and
    we look for a restore token to restore the target shadow stack.
    
        * sysdeps/i386/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New.
        * sysdeps/i386/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2
        with ssp_base.
        * sysdeps/x86_64/nptl/tcb-offsets.sym (SSP_BASE_OFFSET): New.
        * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Replace __glibc_reserved2
        with ssp_base.

commit 9c79cec8cd2a6996a73aa83d79b360ffd4bebde6
Author: Andreas Schwab <address@hidden>
Date:   Tue Jul 24 18:02:28 2018 +0200

    Fix out of bounds access in findidxwc (bug 23442)
    
    If usrc is a prefix of cp but one character shorter an out of bounds
    access to usrc was done.

commit 969c3355069215f1c1cad800a822d0b303fdc1fa
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jul 24 18:10:32 2018 -0300

    Mention ISO C threads addition
    
        * NEWS: Add ISO C threads addition.

commit e0f9c462d863d006424097879e30443f09771549
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 24 21:03:04 2018 +0200

    alpha: mlock2, copy_file_range syscalls were introduced in kernel 4.13

commit 394df3815e8ceec750fd06583eee4896174ce808
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 24 12:23:03 2018 -0700

    x86/CET: Extend arch_prctl syscall for CET control
    
    CET arch_prctl bits should be defined in <asm/prctl.h> from Linux kernel
    header files.  Add x86 <include/asm/prctl.h> for pre-CET kernel header
    files.
    
    Note: sysdeps/unix/sysv/linux/x86/include/asm/prctl.h should be removed
    if <asm/prctl.h> from the required kernel header files contains CET
    arch_prctl bits.
    
     /* CET features:
        IBT:   GNU_PROPERTY_X86_FEATURE_1_IBT
        SHSTK: GNU_PROPERTY_X86_FEATURE_1_SHSTK
      */
    
     /* Return CET features in unsigned long long *addr:
          features: addr[0].
          shadow stack base address: addr[1].
          shadow stack size: addr[2].
      */
     # define ARCH_CET_STATUS           0x3001
     /* Disable CET features in unsigned int features.  */
     # define ARCH_CET_DISABLE          0x3002
     /* Lock all CET features.  */
     # define ARCH_CET_LOCK                     0x3003
     /* Allocate a new shadow stack with unsigned long long *addr:
          IN: requested shadow stack size: *addr.
          OUT: allocated shadow stack address: *addr.
      */
     # define ARCH_CET_ALLOC_SHSTK              0x3004
     /* Return legacy region bitmap info in unsigned long long *addr:
         address: addr[0].
         size: addr[1].
      */
     # define ARCH_CET_LEGACY_BITMAP    0x3005
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/unix/sysv/linux/x86/include/asm/prctl.h: New file.
        * sysdeps/unix/sysv/linux/x86/cpu-features.c: Include
        <sys/prctl.h> and <asm/prctl.h>.
        (get_cet_status): Call arch_prctl with ARCH_CET_STATUS.
        * sysdeps/unix/sysv/linux/x86/dl-cet.h: Include <sys/prctl.h>
        and <asm/prctl.h>.
        (dl_cet_allocate_legacy_bitmap): Call arch_prctl with
        ARCH_CET_LEGACY_BITMAP.
        (dl_cet_disable_cet): Call arch_prctl with ARCH_CET_DISABLE.
        (dl_cet_lock_cet): Call arch_prctl with ARCH_CET_LOCK.
        * sysdeps/x86/libc-start.c: Include <startup.h>.

commit 465455306fa5dec3fecd07ddf106a30d95e81465
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 24 19:06:27 2018 +0200

    sh: Do not define __ASSUME_STATX

commit 9d0a979e5ddcec8ede63b04364e4f5d442d04e14
Author: Rical Jasan <address@hidden>
Date:   Tue Dec 6 20:47:02 2016 -0200

    Add manual documentation for threads.h
    
    This patch updates the manual and adds a new chapter to the manual,
    explaining types macros, constants and functions defined by ISO C11
    threads.h standard.
    
        [BZ# 14092]
        * manual/debug.texi: Update adjacent chapter name.
        * manual/probes.texi: Likewise.
        * manual/threads.texi (ISO C Threads): New section.
        (POSIX Threads): Convert to a section.

commit 0a07288b13c89dbbb1cac964891f5905a0919434
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Dec 5 18:32:11 2016 -0200

    nptl: Add test cases for ISO C11 threads
    
    This patch adds to testsuite new test cases to test all new introduced
    C11 threads functions, types and macros are tested.
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        Adhemerval Zanella  <address@hidden>
        Juan Manuel Torres Palma  <address@hidden>
    
        [BZ #14092]
        * nptl/Makefile (tests): Add new test files.
        * nptl/tst-call-once.c : New file. Tests C11 functions and types.
        * nptl/tst-cnd-basic.c: Likewise.
        * nptl/tst-cnd-broadcast.c: Likewise.
        * nptl/tst-cnd-timedwait.c: Likewise.
        * nptl/tst-mtx-basic.c: Likewise.
        * nptl/tst-mtx-recursive.c: Likewise.
        * nptl/tst-mtx-timedlock.c: Likewise.
        * nptl/tst-mtx-trylock.c: Likewise.
        * nptl/tst-thrd-basic.c: Likewise.
        * nptl/tst-thrd-detach.c: Likewise.
        * nptl/tst-thrd-sleep.c: Likewise.
        * nptl/tst-tss-basic.c: Likewise.

commit c6dd669bed2ebdd0303e880214f3907477fc72d1
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 11:02:16 2017 -0300

    nptl: Add abilist symbols for C11 threads
    
    This patch adds the required abilist symbols for C11 thread support.
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28]
        (thrd_current, thrd_equal, thrd_sleep, thrd_yield): Add C11 thread
        symbols.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist [[GLIBC_2.28]
        (call_once, cnd_broadcast, cnd_destroy, cnd_init, cnd_signal,
        cnd_timedwait, cnd_wait, mtx_destroy, mtx_init, mtx_lock,
        mtx_timedlock, mtx_trylock, mtx_unlokc, thrd_create, thrd_detach,
        thrd_exit, thrd_join, tss_create, tss_delete, tss_get, tss_set):
        Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise.
        ikewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist:
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise.

commit 78d401327f3bcbb06f5d6b388a967cae2ab42b43
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 11:00:05 2017 -0300

    nptl: Add C11 threads tss_* functions
    
    This patch adds the tss_* definitions from C11 threads (ISO/IEC 9899:2011),
    more specifically tss_create, tss_delete, tss_get, tss_set, and required
    types.
    
    Mostly of the definitions are composed based on POSIX conterparts, including
    tss_t (pthread_key_t).
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * conform/data/threads.h-data (thread_local): New macro.
        (TSS_DTOR_ITERATIONS): Likewise.
        (tss_t): New type.
        (tss_dtor_t): Likewise.
        (tss_create): New function.
        (tss_get): Likewise.
        (tss_set): Likewise.
        (tss_delete): Likewise.
        * nptl/Makefile (libpthread-routines): Add tss_create, tss_delete,
        tss_get, and tss_set objects.
        * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise.
        * nptl/tss_create.c: New file.
        * nptl/tss_delete.c: Likewise.
        * nptl/tss_get.c: Likewise.
        * nptl/tss_set.c: Likewise.
        * sysdeps/nptl/threads.h (thread_local): New define.
        (TSS_DTOR_ITERATIONS): Likewise.
        (tss_t): New typedef.
        (tss_dtor_t): Likewise.
        (tss_create): New prototype.
        (tss_get): Likewise.
        (tss_set): Likewise.
        (tss_delete): Likewise.

commit 918311a3a3c7679f40e2e95fcaa120f8c74ef479
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 10:55:10 2017 -0300

    nptl: Add C11 threads cnd_* functions
    
    This patch adds the cnd_* definitions from C11 threads (ISO/IEC 9899:2011),
    more specifically cnd_broadcast, cnd_destroy, cnd_init, cnd_signal,
    cnd_timedwait, cnd_wait, and required types.
    
    Mostly of the definitions are composed based on POSIX conterparts, and
    cnd_t is also based on internal pthreads fields, but with distinct internal
    layout to avoid possible issues with code interchange (such as trying to 
pass
    POSIX structure on C11 functions and to avoid inclusion of pthread.h).  The
    idea is to make it possible to share POSIX internal implementation for 
mostly
    of the code making adjust where only required.
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * conform/data/threads.h-data (cnd_t): New type.
        (cnd_init): New function.
        (cnd_signal): Likewise.
        (cnd_broadcast): Likewise.
        (cnd_wait): Likewise.
        (cnd_timedwait): Likewise.
        (cnd_destroy): Likewise.
        * nptl/Makefile (libpthread-routines): Add cnd_broadcast,
        cnd_destroy, cnd_init, cnd_signal, cnd_timedwait, and cnd_wait
        object.
        * nptl/Versions (libpthread) [GLIBC_2.28]: Likewise.
        * nptl/cnd_broadcast.c: New file.
        * nptl/cnd_destroy.c: Likewise.
        * nptl/cnd_init.c: Likewise.
        * nptl/cnd_signal.c: Likewise.
        * nptl/cnd_timedwait.c: Likewise.
        * nptl/cnd_wait.c: Likewise.
        * sysdeps/nptl/threads.h (cnd_t): New type.
        (cnd_init): New prototype.
        (cnd_signa): Likewise.
        (cnd_broadcast): Likewise.
        (cnd_wait): Likewise.
        (cnd_timedwait): Likewise.
        (cnd_destroy): Likewise.

commit 3c20a679b6e31af07542e56a446e2433fba53a7e
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 10:49:51 2017 -0300

    nptl: Add C11 threads call_once functions
    
    This patch adds the call_* definitions from C11 threads (ISO/IEC 9899:2011),
    more specifically call_once and required types.
    
    Mostly of the definitions are composed based on POSIX conterparts,including
    once_flag (pthread_once_t).  The idea is to make possible to share POSIX
    internal implementations for mostly of the code (and making adjustment only
    when required).
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * conform/data/threads.h-data (ONCE_FLAG_INIT): New macro.
        (once_flag): New type.
        (call_once): New function.
        * nptl/Makefile (libpthread-routines): Add call_once object.
        * nptl/Versions (libphread) [GLIBC_2.28]: Add call_once symbol.
        * nptl/call_once.c: New file.
        * sysdeps/nptl/threads.h (ONCE_FLAG_INIT): New define.
        (once_flag): New type.
        (call_once): New prototype.

commit 18d59c1b36e97d438ed964eb483c119517c18fee
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 10:45:04 2017 -0300

    nptl: Add C11 threads mtx_* functions
    
    This patch adds the mtx_* definitions from C11 threads (ISO/IEC 9899:2011),
    more specifically mtx_init, mtx_destroy, mtx_lock, mtx_timedlock, 
mtx_trylock,
    mtx_unlock, and required types.
    
    Mostly of the definitions are composed based on POSIX conterparts, and mtx_t
    is also based on internal pthread fields, but with a distinct internal 
layout
    to avoid possible issues with code interchange (such as trying to pass POSIX
    structure on C11 functions and to avoid inclusion of pthread.h).  The idea
    is to make possible to share POSIX internal implementations for mostly of
    the code (and making adjustment only when required).
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * conform/data/threads.h-data (mtx_plain): New constant.
        (mtx_recursive): Likewise.
        (mtx_timed): Likewise.
        (mtx_t): New type.
        (mtx_init): New function.
        (mtx_lock): Likewise.
        (mtx_timedlock): Likewise.
        (mtx_trylock): Likewise.
        (mtx_unlock): Likewise.
        (mtx_destroy): Likewise.
        * nptl/Makefile (libpthread-routines): Add mtx_destroy, mtx_init,
        mtx_lock, mtx_timedlock, mtx_trylock, and mtx_unlock object.
        * nptl/Versions (libpthread) [GLIBC_2.28]): Add mtx_init, mtx_lock,
        mtx_timedlock, mtx_trylock, mtx_unlock, and mtx_destroy.
        * nptl/mtx_destroy.c: New file.
        * nptl/mtx_init.c: Likewise.
        * nptl/mtx_lock.c: Likewise.
        * nptl/mtx_timedlock.c: Likewise.
        * nptl/mtx_trylock.c: Likewise.
        * nptl/mtx_unlock.c: Likewise.
        * sysdeps/nptl/threads.h (mtx_plain): New enumeration.
        (mtx_recursive): Likewise.
        (mtx_timed): Likewise.
        (mtx_t): New type.
        (mtx_init): New prototype.
        (mtx_lock): Likewise.
        (mtx_timedlock): Likewise.
        (mtx_trylock): Likewise.
        (mtx_unlock): Likewise.
        (mtx_destroy): Likewise.

commit ce7528f637f7b9cddb3c22081d7e09b2a26c89bf
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 27 10:29:29 2017 -0300

    nptl: Add C11 threads thrd_* functions
    
    This patch adds the thrd_* definitions from C11 threads (ISO/IEC 9899:2011),
    more specifically thrd_create, thrd_curent, rhd_detach, thrd_equal,
    thrd_exit, thrd_join, thrd_sleep, thrd_yield, and required types.
    
    Mostly of the definitions are composed based on POSIX conterparts, such as
    thrd_t (using pthread_t).  For thrd_* function internally direct
    POSIX pthread call are used with the exceptions:
    
      1. thrd_start uses pthread_create internal implementation, but changes
         how to actually calls the start routine.  This is due the difference
         in signature between POSIX and C11, where former return a 'void *'
         and latter 'int'.
         To avoid calling convention issues due 'void *' to int cast, routines
         from C11 threads are started slight different than default pthread one.
         Explicit cast to expected return are used internally on pthread_create
         and the result is stored back to void also with an explicit cast.
    
      2. thrd_sleep uses nanosleep internal direct syscall to avoid clobbering
         errno and to handle expected standard return codes.  It is a
         cancellation entrypoint to be consistent with both thrd_join and
         cnd_{timed}wait.
    
      3. thrd_yield also uses internal direct syscall to avoid errno clobbering.
    
    Checked with a build for all major ABI (aarch64-linux-gnu, alpha-linux-gnu,
    arm-linux-gnueabi, i386-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu [1], mips{64}-linux-gnu, nios2-linux-gnu,
    powerpc{64le}-linux-gnu, s390{x}-linux-gnu, sparc{64}-linux-gnu,
    and x86_64-linux-gnu).
    
    Also ran a full check on aarch64-linux-gnu, x86_64-linux-gnu, 
i686-linux-gnu,
    arm-linux-gnueabhf, and powerpc64le-linux-gnu.
    
        [BZ #14092]
        * conform/Makefile (conformtest-headers-ISO11): Add threads.h.
        (linknamespace-libs-ISO11): Add libpthread.a.
        * conform/data/threads.h-data: New file: add C11 thrd_* types and
        functions.
        * include/stdc-predef.h (__STDC_NO_THREADS__): Remove definition.
        * nptl/Makefile (headers): Add threads.h.
        (libpthread-routines): Add new C11 thread thrd_create, thrd_current,
        thrd_detach, thrd_equal, thrd_exit, thrd_join, thrd_sleep, and
        thrd_yield.
        * nptl/Versions (libpthread) [GLIBC_2.28]): Add new C11 thread
        thrd_create, thrd_current, thrd_detach, thrd_equal, thrd_exit,
        thrd_join, thrd_sleep, and thrd_yield symbols.
        * nptl/descr.h (struct pthread): Add c11 field.
        * nptl/pthreadP.h (ATTR_C11_THREAD): New define.
        * nptl/pthread_create.c (START_THREAD_DEFN): Call C11 thread start
        routine with expected function prototype.
        (__pthread_create_2_1): Add C11 threads check based on attribute
        value.
        * sysdeps/unix/sysdep.h (INTERNAL_SYSCALL_CANCEL): New macro.
        * nptl/thrd_create.c: New file.
        * nptl/thrd_current.c: Likewise.
        * nptl/thrd_detach.c: Likewise.
        * nptl/thrd_equal.c: Likewise.
        * nptl/thrd_exit.c: Likewise.
        * nptl/thrd_join.c: Likewise.
        * nptl/thrd_priv.h: Likewise.
        * nptl/thrd_sleep.c: Likewise.
        * nptl/thrd_yield.c: Likewise.
        * include/threads.h: Likewise.

commit e27f41ba2b6101be1a511905bff5502ffd23828b
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 24 07:55:35 2018 -0700

    Add <bits/indirect-return.h>
    
    Add <bits/indirect-return.h> and include it in <ucontext.h>.
    __INDIRECT_RETURN defined in <bits/indirect-return.h> indicates if
    swapcontext requires special compiler treatment.  The default
    __INDIRECT_RETURN is empty.
    
    On x86, when shadow stack is enabled, __INDIRECT_RETURN is defined
    with indirect_return attribute, which has been added to GCC 9, to
    indicate that swapcontext returns via indirect branch.  Otherwise
    __INDIRECT_RETURN is defined with returns_twice attribute.
    
    When shadow stack is enabled, remove always_inline attribute from
    prepare_test_buffer in string/tst-xbzero-opt.c to avoid:
    
    tst-xbzero-opt.c: In function ‘prepare_test_buffer’:
    tst-xbzero-opt.c:105:1: error: function ‘prepare_test_buffer’ can never 
be inlined because it uses setjmp
     prepare_test_buffer (unsigned char *buf)
    
    when indirect_return attribute isn't available.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * bits/indirect-return.h: New file.
        * misc/sys/cdefs.h (__glibc_has_attribute): New.
        * sysdeps/x86/bits/indirect-return.h: Likewise.
        * stdlib/Makefile (headers): Add bits/indirect-return.h.
        * stdlib/ucontext.h: Include <bits/indirect-return.h>.
        (swapcontext): Add __INDIRECT_RETURN.
        * string/tst-xbzero-opt.c (ALWAYS_INLINE): New.
        (prepare_test_buffer): Use it.

commit 21526a507df8f1b2e37492193a754534d8938c0b
Author: Andreas Schwab <address@hidden>
Date:   Tue Jul 24 14:08:34 2018 +0200

    Fix out-of-bounds access in IBM-1390 converter (bug 23448)
    
    The IBM-1390 converter can consume/produce two UCS4 characters in each
    loop.

commit 3650e1d9284926be67e368707a9a2276fb77a167
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 24 05:20:48 2018 -0700

    x86: Update vfork to pop shadow stack
    
    The shadow stack prevents us from pushing the saved return PC onto
    the stack and returning normally.  Instead we pop the shadow stack
    and return directly.  This is the safest way to return and ensures
    any stack manipulations done by the vfork'd child doesn't cause the
    parent to terminate when CET is enabled.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/unix/sysv/linux/i386/vfork.S (SYSCALL_ERROR_HANDLER):
        Redefine if shadow stack is enabled.
        (SYSCALL_ERROR_LABEL): Likewise.
        (__vfork): Pop shadow stack and jump back to to caller directly
        when shadow stack is in use.
        * sysdeps/unix/sysv/linux/x86_64/vfork.S (SYSCALL_ERROR_HANDLER):
        Redefine if shadow stack is enabled.
        (SYSCALL_ERROR_LABEL): Likewise.
        (__vfork): Pop shadow stack and jump back to to caller directly
        when shadow stack is in use.

commit ca027e0f62789a0958b69dac4133616a90de6f7c
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 24 05:11:59 2018 -0700

    x86-64: Add endbr64 to tst-quadmod[12].S
    
    Add endbr64 to tst-quadmod1.S and tst-quadmod2.S so that func and foo
    can be called indirectly.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/x86_64/tst-quadmod1.S (func): Add endbr64 if IBT is
        enabled.
        (foo): Likewise.
        * sysdeps/x86_64/tst-quadmod2.S (func) : Likewise.
        (foo): Likewise.

commit b99f1c957d37e6c5dfce2fee7bff17e5a09ce400
Author: Joseph Myers <address@hidden>
Date:   Fri Jul 20 16:11:15 2018 +0000

    Use binutils 2.31 branch in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default
        binutils version to 2.31 branch.

commit c8fabb8434b166113059c25eee96107b4dcb3b12
Author: Zong Li <address@hidden>
Date:   Fri Jul 20 15:30:05 2018 +0000

    Change URL of gcc's tarball
    
    After 7.1.0 version, there is no .bz2 format of gcc's tarball.
    
        * scripts/build-many-glibcs.py (Context.checkout_tar): Change the
        URL of gcc's tarball.

commit 786658a08829e8a303d846406812f9245846e99c
Author: Florian Weimer <address@hidden>
Date:   Fri Jul 20 11:58:51 2018 +0200

    regcomp: Fix off-by-one bug in build_equiv_class [BZ #23396]
    
    This bug is very similar to bug 23036: The existing code assumed that
    the length count included the length byte itself.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 2d5c41ded92bf1247ba2a29ad2074cf79dc15669
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 20 02:49:44 2018 +0200

    check-execstack: Permit sysdeps to xfail some libs
    
        * scripts/check-execstack.awk: Consider `xfail' variable containing a
        list
        of libraries whose stack executability is expected.
        * elf/Makefile ($(objpfx)check-execstack.out): Pass
        $(check-execstack-xfail) to check-execstack.awk through `xfail'
        variable.
        * sysdeps/mach/hurd/i386/Makefile (check-execstack-xfail): Set to ld.so
        libc.so libpthread.so.

commit 8ba1520e8c72ad0e2a33235625b37002c2715706
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 20 03:00:09 2018 +0200

    hurd: Fix installed-headers tests
    
        * sysdeps/mach/include/mach-shortcuts-hidden.h [!_ISOMAC]: Do not
        declare libc hidden prototypes.
        * sysdeps/mach/include/mach/mach_traps.h [!_ISOMAC]: Likewise.

commit 38547460b7173f999c4e9f9bff8b1eccb0039dc6
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 20 01:44:58 2018 +0200

    Fix new file header

commit de195be01569311dbbdee48c1ae36452f74bf594
Author: Thomas Schwinge <address@hidden>
Date:   Fri Jul 20 01:29:55 2018 +0200

    hurd: Implement pipe2
    
        * sysdeps/mach/hurd/pipe2.c: New file, copy from pipe.c.  Evolve it to
        implement __pipe2.
        * sysdeps/mach/hurd/pipe.c (__pipe): Reimplement using __pipe2.

commit 75d5e4a09ea1d1d790ae3bf3309986a3328af567
Author: Thomas Schwinge <address@hidden>
Date:   Fri Jul 20 01:24:41 2018 +0200

    hurd: SOCK_CLOEXEC and SOCK_NONBLOCK for socketpair
    
        * sysdeps/mach/hurd/socketpair.c (__socketpair): Handle SOCK_CLOEXEC
        and SOCK_NONBLOCK.

commit 6008824221dfab2a6cb7fc2ffddf1b59ebda6e01
Author: Thomas Schwinge <address@hidden>
Date:   Fri Jul 20 01:22:12 2018 +0200

    hurd: SOCK_CLOEXEC and SOCK_NONBLOCK for socket
    
        * sysdeps/mach/hurd/socket.c (__socket): Handle SOCK_CLOEXEC and
        SOCK_NONBLOCK.

commit 46f2474e9340f71e1cbe0a246142c688a7d1ad0b
Author: Samuel Thibault <address@hidden>
Date:   Fri Jul 20 01:12:08 2018 +0200

    hurd: Enable thread-safe i386 atomic instructions
    
        * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Set multiple_threads
        to 1.

commit 1cf4ae7fe644f5ad37ca82cb432147daf5c8ad77
Author: Leonardo Sandoval <address@hidden>
Date:   Fri Jul 13 10:45:40 2018 -0500

    benchtests: improve argument parsing through argparse library
    
    The argparse library is used on compare_bench script to improve command line
    argument parsing. The 'schema validation file' is now optional, reducing by
    one the number of required parameters.
    
        * benchtests/scripts/compare_bench.py (__main__): use the argparse
        library to improve command line parsing.
        (__main__): make schema file as optional parameter (--schema),
        defaulting to benchtests/scripts/benchout.schema.json.
        (main): move out of the parsing stuff to __main_  and leave it
        only as caller of main comparison functions.

commit e84bd8514cd4bf37b37d3f68feafc1e20afa4b56
Author: H.J. Lu <address@hidden>
Date:   Thu Jul 19 12:04:56 2018 -0700

    INSTALL: Add a note for Intel CET status
    
        * NEWS: Add a note for Intel CET status.
        * manual/install.texi: Likewise.
        * INSTALL: Regenerated.

commit df467d229ac53098d06ffd7b86322a1e22bf6013
Author: Quentin PAGÈS <address@hidden>
Date:   Sat May 19 17:59:08 2018 +0200

    oc_FR locale: Multiple updates (bug 23140, bug 23422).
    
    Multiple updates for Occitan language including alternative month names,
    update abday and abmon, fix typos in day, fix d_fmt, correct LC_NAME,
    and use “copy "ca_ES"” as LC_COLLATE.
    
        [BZ #23140]
        * localedata/locales/oc_FR (mon): Rename to...
        (alt_mon): This, then update October (typo fix).
        (mon): New content (genitive case, month names preceded by
        "de" or "d’").
    
        [BZ #23422]
        * localedata/locales/oc_FR (abday): Update all items.
        (day): Update Wednesday and Saturday (typo fixes).
        (abmon): Update all items, except May.
        (d_fmt): Update "%d.%m.%Y" -> "%d/%m/%Y".
        (LC_IDENTIFICATION): Bump the revision number and date.
        Keep the "category" entries in alphabetic order.
        (LC_ADDRESS): Remove no longer needed comment.
        (LC_COLLATE): Use “copy "ca_ES"”.
        (LC_NAME): Set the correct values of "name_fmt", "name_mr", and
        "name_mrs".
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 5c112f1b62b6fca7348c64a004e9fc4cfdaca1ad
Author: Joseph Myers <address@hidden>
Date:   Wed Jul 18 21:04:12 2018 +0000

    Avoid insecure usage of tmpnam in tests.
    
    Various glibc testcases use tmpnam in ways subject to race conditions
    (generate a temporary file name, then later open that file without
    O_EXCL).
    
    This patch fixes those tests to use mkstemp - generally a minimal
    local fix to use mkstemp instead of tmpnam, rather than a larger fix
    to use other testsuite infrastructure for temporary files.  The
    unchanged use of tmpnam in posix/wordexp-test.c would fail safe in the
    event of a race (it's generating a name for use with mkdir rather than
    for a file to be opened for writing).
    
    Tested for x86_64.
    
        * grp/tst_fgetgrent.c: Include <unistd.h>.
        (main): Use mkstemp instead of tmpnam.
        * io/test-utime.c (main): Likewise.
        * posix/annexc.c (macrofile): Change to modifiable array.
        (get_null_defines): Use mkstemp instead of tmpnam.  Do not remove
        macrofile here.
        * posix/bug-getopt1.c: Include <stdlib.h>.
        (do_test): Use mkstemp instead of tmpnam.
        * posix/bug-getopt2.c: Include <stdlib.h>.
        (do_test): Use mkstemp instead of tmpnam.
        * posix/bug-getopt3.c: Include <stdlib.h>.
        (do_test): Use mkstemp instead of tmpnam.
        * posix/bug-getopt4.c: Include <stdlib.h>.
        (do_test): Use mkstemp instead of tmpnam.
        * posix/bug-getopt5.c: Include <stdlib.h>.
        (do_test): Use mkstemp instead of tmpnam.
        * stdio-common/bug7.c: Include <stdlib.h> and <unistd.h>.
        (main): Use mkstemp instead of tmpnam.
        * stdio-common/tst-fdopen.c: Include <stdlib.h>.
        (main): Use mkstemp instead of tmpnam.
        * stdio-common/tst-ungetc.c: Include <stdlib.h>.
        (main): use mkstemp instead of tmpnam.
        * stdlib/isomac.c (macrofile): Change to modifiable array.
        (get_null_defines): Use mkstemp instead of tmpnam.  Do not remove
        macrofile here.

commit 6d90776dff7e70e08fa46f9cd7576dd0eeb06da2
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 11:34:35 2018 -0700

    x86/CET: Document glibc.tune.x86_ibt and glibc.tune.x86_shstk
    
        * manual/tunables.texi: Document glibc.tune.x86_ibt and
        glibc.tune.x86_shstk.

commit e6c695099b7894bce72de04009c889c8f6e674ae
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 09:52:40 2018 -0700

    Intel CET: Document --enable-cet
    
        * NEWS: Mention --enable-cet.
        * manual/install.texi: Document --enable-cet.
        * INSTALL: Regenerated.

commit e2d40a8822be27ddbd512599ea1955e52f90bf87
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 08:07:24 2018 -0700

    x86-64: Use _CET_NOTRACK in memcmp-sse4.S
    
        * sysdeps/x86_64/multiarch/memcmp-sse4.S (BRANCH_TO_JMPTBL_ENTRY):
        Add _CET_NOTRACK before indirect jump to jump table.

commit 77a8ae0948e651a4c121a806c1eb8ab33a7d7e77
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 08:04:04 2018 -0700

    i386: Use _CET_NOTRACK in memset-sse2-rep.S
    
        * sysdeps/i386/i686/multiarch/memset-sse2-rep.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 90d15dc577561c497f23477a3d322d9e83c70634
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 08:03:07 2018 -0700

    i386: Use _CET_NOTRACK in strcat-sse2.S
    
        * sysdeps/i386/i686/multiarch/strcat-sse2.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit f1574581c7431579952b4d9f2c4f57bb157b1637
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 08:02:15 2018 -0700

    i386: Use _CET_NOTRACK in strcpy-sse2.S
    
        * sysdeps/i386/i686/multiarch/strcpy-sse2.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 7fb613361cc4ca4bd929e89462ed99a3159232d6
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 08:00:49 2018 -0700

    i386: Use _CET_NOTRACK in memcpy-ssse3.S
    
        * sysdeps/i386/i686/multiarch/memcpy-ssse3.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 0a899af097a987f02c223a7f1fb2348d5bfea76c
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 07:59:54 2018 -0700

    i386: Use _CET_NOTRACK in memcpy-ssse3-rep.S
    
        * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.
        (BRANCH_TO_JMPTBL_ENTRY_TAIL): Likewise.

commit 177824e23274591dd549db0c0a4b569ee4ccd96b
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 07:58:53 2018 -0700

    i386: Use _CET_NOTRACK in memcmp-sse4.S
    
        * sysdeps/i386/i686/multiarch/memcmp-sse4.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 00e7b76a8f44db5cdbcb2e561b8853fc93f3c070
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 07:57:50 2018 -0700

    i386: Use _CET_NOTRACK in memset-sse2.S
    
        * sysdeps/i386/i686/multiarch/memset-sse2.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 7e119cd5828768eca6547494242699ea76fa30c0
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 07:54:45 2018 -0700

    i386: Use _CET_NOTRACK in i686/memcmp.S
    
        * sysdeps/i386/i686/memcmp.S (memcmp): Add _CET_NOTRACK before
        indirect jump to jump table.

commit 03aaf49b68d380492a7e7459817c6e926f96f0ef
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 06:39:32 2018 -0700

    x86-64: Use _CET_NOTRACK in memcpy-ssse3.S
    
        * sysdeps/x86_64/multiarch/memcpy-ssse3.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.
        (MEMCPY): Likewise.

commit 811e9e52b2bd2fb59b981b174ad30489d2574081
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 06:38:10 2018 -0700

    x86-64: Use _CET_NOTRACK in memcpy-ssse3-back.S
    
        * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.
        (MEMCPY): Likewise.

commit 8817df42650af57e8d1c4bab4c73b78375d6cfaf
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 06:36:06 2018 -0700

    x86-64: Use _CET_NOTRACK in strcmp-sse42.S
    
        * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add
        _CET_NOTRACK before indirect jump to jump table.

commit 921595d151ee1661cc5476bb019483e12b7b47f6
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 06:32:54 2018 -0700

    x86-64: Use _CET_NOTRACK in strcpy-sse2-unaligned.S
    
        * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S
        (BRANCH_TO_JMPTBL_ENTRY): Add _CET_NOTRACK before indirect jump
        to jump table.

commit 4ef60d95979b222daa69c2948c279d0912731e76
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 18 06:29:21 2018 -0700

    x86_64: Use _CET_NOTRACK in strcmp.S
    
        * sysdeps/x86_64/strcmp.S (STRCMP): Add _CET_NOTRACK before
        indirect jump to jump table.

commit 61c4aad70553200b3473d9e4e97c240b8ea6d336
Author: Valery Timiriliyev <address@hidden>
Date:   Fri Jul 6 14:46:13 2018 +0900

    New locale: Yakut (Sakha) for Russia (sah_RU) [BZ #22241]
    
        * localedata/Makefile (test-input): Add sah_RU.UTF-8.
        (LOCALES): Likewise.
        * localedata/SUPPORTED (sah_RU/UTF-8): New entry.
        * localedata/locales/sah_RU: New file.
        * localedata/sah_RU.UTF-8.in: New file.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit be9ccd27c09ee76c5397125bfa0fefae318a2996
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 17 16:11:13 2018 -0700

    i386: Add _CET_ENDBR to indirect jump targets in add_n.S/sub_n.S
    
    i386 add_n.S and sub_n.S use a trick to implment jump tables with LEA.
    We can't use conditional branches nor normal jump tables since jump
    table entries use EFLAGS set by jump table index.  This patch adds
    _CET_ENDBR to indirect jump targets and adjust destination for
    _CET_ENDBR.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/i386/add_n.S: Include <sysdep.h>, instead of
        "sysdep.h".
        (__mpn_add_n): Save and restore %ebx if IBT is enabed.  Add
        _CET_ENDBR to indirect jump targets and adjust jump destination
        for _CET_ENDBR.
        * sysdeps/i386/i686/add_n.S: Include <sysdep.h>, instead of
        "sysdep.h".
        (__mpn_add_n): Save and restore %ebx if IBT is enabed.  Add
        _CET_ENDBR to indirect jump targets and adjust jump destination
        for _CET_ENDBR.
        * sysdeps/i386/sub_n.S: Include <sysdep.h>, instead of
        "sysdep.h".
        (__mpn_sub_n): Save and restore %ebx if IBT is enabed.  Add
        _CET_ENDBR to indirect jump targets and adjust jump destination
        for _CET_ENDBR.

commit 5efc6777ad57c2055b618e0b8b8dc1e5bc4ab29a
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 17 16:08:35 2018 -0700

    x86-64: Add _CET_ENDBR to STRCMP_SSE42
    
    Add _CET_ENDBR to STRCMP_SSE42, which is called indirectly, to support
    IBT.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add
        _CET_ENDBR.

commit 562837c002e42f7f0a95764e3883898f05a59327
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 17 16:07:03 2018 -0700

    x86: Add _CET_ENDBR to functions in dl-tlsdesc.S
    
    Add _CET_ENDBR to functions in dl-tlsdesc.S, which are called indirectly,
    to support IBT.
    
    Tested on i686 and x86-64.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_return): Add
        _CET_ENDBR.
        (_dl_tlsdesc_undefweak): Likewise.
        (_dl_tlsdesc_dynamic): Likewise.
        (_dl_tlsdesc_resolve_abs_plus_addend): Likewise.
        (_dl_tlsdesc_resolve_rel): Likewise.
        (_dl_tlsdesc_resolve_rela): Likewise.
        (_dl_tlsdesc_resolve_hold): Likewise.
        * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_return): Likewise.
        (_dl_tlsdesc_undefweak): Likewise.
        (_dl_tlsdesc_dynamic): Likewise.
        (_dl_tlsdesc_resolve_rela): Likewise.
        (_dl_tlsdesc_resolve_hold): Likewise.

commit 124bcde683d5d8b5c26bd2f535edcf3b7ab6108c
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 17 16:04:41 2018 -0700

    x86: Add _CET_ENDBR to functions in crti.S
    
    Add _CET_ENDBR to functions in crti.S, which are called indirectly, to
    support IBT.
    
    Tested on i686 and x86-64.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/i386/crti.S (_init): Add _CET_ENDBR.
        (_fini): Likewise.
        * sysdeps/x86_64/crti.S (_init): Likewise.
        (_fini): Likewise.

commit 9145f0333d11683cb3d796246d1395c84b4a3516
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 30 12:31:12 2018 +0100

    os_RU: Add alternative month names (bug 23140).
    
        [BZ #23140]
        * localedata/locales/os_RU (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit ba2ea23d053e293baeb39554b2e9fc56f8ef335b
Author: H.J. Lu <address@hidden>
Date:   Tue Jul 17 04:16:19 2018 -0700

    x86: Always include <dl-cet.h>/cet-tunables.h> for --enable-cet
    
    Always include <dl-cet.h> and cet-tunables.h> when CET is enabled.
    Otherwise, configure glibc with --enable-cet --disable-tunables will
    fail to build.
    
        * sysdeps/x86/cpu-features.c: Always include <dl-cet.h> and
        cet-tunables.h> when CET is enabled.

commit f753fa7dea3367bd3eb7b543103ff8cda182a3fa
Author: H.J. Lu <address@hidden>
Date:   Mon Jul 16 14:08:15 2018 -0700

    x86: Support IBT and SHSTK in Intel CET [BZ #21598]
    
    Intel Control-flow Enforcement Technology (CET) instructions:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-en
    forcement-technology-preview.pdf
    
    includes Indirect Branch Tracking (IBT) and Shadow Stack (SHSTK).
    
    GNU_PROPERTY_X86_FEATURE_1_IBT is added to GNU program property to
    indicate that all executable sections are compatible with IBT when
    ENDBR instruction starts each valid target where an indirect branch
    instruction can land.  Linker sets GNU_PROPERTY_X86_FEATURE_1_IBT on
    output only if it is set on all relocatable inputs.
    
    On an IBT capable processor, the following steps should be taken:
    
    1. When loading an executable without an interpreter, enable IBT and
    lock IBT if GNU_PROPERTY_X86_FEATURE_1_IBT is set on the executable.
    2. When loading an executable with an interpreter, enable IBT if
    GNU_PROPERTY_X86_FEATURE_1_IBT is set on the interpreter.
      a. If GNU_PROPERTY_X86_FEATURE_1_IBT isn't set on the executable,
         disable IBT.
      b. Lock IBT.
    3. If IBT is enabled, when loading a shared object without
    GNU_PROPERTY_X86_FEATURE_1_IBT:
      a. If legacy interwork is allowed, then mark all pages in executable
         PT_LOAD segments in legacy code page bitmap.  Failure of legacy code
         page bitmap allocation causes an error.
      b. If legacy interwork isn't allowed, it causes an error.
    
    GNU_PROPERTY_X86_FEATURE_1_SHSTK is added to GNU program property to
    indicate that all executable sections are compatible with SHSTK where
    return address popped from shadow stack always matches return address
    popped from normal stack.  Linker sets GNU_PROPERTY_X86_FEATURE_1_SHSTK
    on output only if it is set on all relocatable inputs.
    
    On a SHSTK capable processor, the following steps should be taken:
    
    1. When loading an executable without an interpreter, enable SHSTK if
    GNU_PROPERTY_X86_FEATURE_1_SHSTK is set on the executable.
    2. When loading an executable with an interpreter, enable SHSTK if
    GNU_PROPERTY_X86_FEATURE_1_SHSTK is set on interpreter.
      a. If GNU_PROPERTY_X86_FEATURE_1_SHSTK isn't set on the executable
         or any shared objects loaded via the DT_NEEDED tag, disable SHSTK.
      b. Otherwise lock SHSTK.
    3. After SHSTK is enabled, it is an error to load a shared object
    without GNU_PROPERTY_X86_FEATURE_1_SHSTK.
    
    To enable CET support in glibc, --enable-cet is required to configure
    glibc.  When CET is enabled, both compiler and assembler must support
    CET.  Otherwise, it is a configure-time error.
    
    To support CET run-time control,
    
    1. _dl_x86_feature_1 is added to the writable ld.so namespace to indicate
    if IBT or SHSTK are enabled at run-time.  It should be initialized by
    init_cpu_features.
    2. For dynamic executables:
       a. A l_cet field is added to struct link_map to indicate if IBT or
          SHSTK is enabled in an ELF module.  _dl_process_pt_note or
          _rtld_process_pt_note is called to process PT_NOTE segment for
          GNU program property and set l_cet.
       b. _dl_open_check is added to check IBT and SHSTK compatibilty when
          dlopening a shared object.
    3. Replace i386 _dl_runtime_resolve and _dl_runtime_profile with
    _dl_runtime_resolve_shstk and _dl_runtime_profile_shstk, respectively if
    SHSTK is enabled.
    
    CET run-time control can be changed via GLIBC_TUNABLES with
    
    $ export GLIBC_TUNABLES=glibc.tune.x86_shstk=[permissive|on|off]
    $ export GLIBC_TUNABLES=glibc.tune.x86_ibt=[permissive|on|off]
    
    1. permissive: SHSTK is disabled when dlopening a legacy ELF module.
    2. on: IBT or SHSTK are always enabled, regardless if there are IBT or
    SHSTK bits in GNU program property.
    3. off: IBT or SHSTK are always disabled, regardless if there are IBT or
    SHSTK bits in GNU program property.
    
    <cet.h> from CET-enabled GCC is automatically included by assembly codes
    to add GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK
    to GNU program property.  _CET_ENDBR is added at the entrance of all
    assembly functions whose address may be taken.  _CET_NOTRACK is used to
    insert NOTRACK prefix with indirect jump table to support IBT.  It is
    defined as notrack when _CET_NOTRACK is defined in <cet.h>.
    
         [BZ #21598]
        * configure.ac: Add --enable-cet.
        * configure: Regenerated.
        * elf/Makefille (all-built-dso): Add a comment.
        * elf/dl-load.c (filebuf): Moved before "dynamic-link.h".
        Include <dl-prop.h>.
        (_dl_map_object_from_fd): Call _dl_process_pt_note on PT_NOTE
        segment.
        * elf/dl-open.c: Include <dl-prop.h>.
        (dl_open_worker): Call _dl_open_check.
        * elf/rtld.c: Include <dl-prop.h>.
        (dl_main): Call _rtld_process_pt_note on PT_NOTE segment.  Call
        _rtld_main_check.
        * sysdeps/generic/dl-prop.h: New file.
        * sysdeps/i386/dl-cet.c: Likewise.
        * sysdeps/unix/sysv/linux/x86/cpu-features.c: Likewise.
        * sysdeps/unix/sysv/linux/x86/dl-cet.h: Likewise.
        * sysdeps/x86/cet-tunables.h: Likewise.
        * sysdeps/x86/check-cet.awk: Likewise.
        * sysdeps/x86/configure: Likewise.
        * sysdeps/x86/configure.ac: Likewise.
        * sysdeps/x86/dl-cet.c: Likewise.
        * sysdeps/x86/dl-procruntime.c: Likewise.
        * sysdeps/x86/dl-prop.h: Likewise.
        * sysdeps/x86/libc-start.h: Likewise.
        * sysdeps/x86/link_map.h: Likewise.
        * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Add
        _CET_ENDBR.
        (_dl_runtime_profile): Likewise.
        (_dl_runtime_resolve_shstk): New.
        (_dl_runtime_profile_shstk): Likewise.
        * sysdeps/linux/x86/Makefile (sysdep-dl-routines): Add dl-cet
        if CET is enabled.
        (CFLAGS-.o): Add -fcf-protection if CET is enabled.
        (CFLAGS-.os): Likewise.
        (CFLAGS-.op): Likewise.
        (CFLAGS-.oS): Likewise.
        (asm-CPPFLAGS): Add -fcf-protection -include cet.h if CET
        is enabled.
        (tests-special): Add $(objpfx)check-cet.out.
        (cet-built-dso): New.
        (+$(cet-built-dso:=.note)): Likewise.
        (common-generated): Add $(cet-built-dso:$(common-objpfx)%=%.note).
        ($(objpfx)check-cet.out): New.
        (generated): Add check-cet.out.
        * sysdeps/x86/cpu-features.c: Include <dl-cet.h> and
        <cet-tunables.h>.
        (TUNABLE_CALLBACK (set_x86_ibt)): New prototype.
        (TUNABLE_CALLBACK (set_x86_shstk)): Likewise.
        (init_cpu_features): Call get_cet_status to check CET status
        and update dl_x86_feature_1 with CET status.  Call
        TUNABLE_CALLBACK (set_x86_ibt) and TUNABLE_CALLBACK
        (set_x86_shstk).  Disable and lock CET in libc.a.
        * sysdeps/x86/cpu-tunables.c: Include <cet-tunables.h>.
        (TUNABLE_CALLBACK (set_x86_ibt)): New function.
        (TUNABLE_CALLBACK (set_x86_shstk)): Likewise.
        * sysdeps/x86/sysdep.h (_CET_NOTRACK): New.
        (_CET_ENDBR): Define if not defined.
        (ENTRY): Add _CET_ENDBR.
        * sysdeps/x86/dl-tunables.list (glibc.tune): Add x86_ibt and
        x86_shstk.
        * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Add
        _CET_ENDBR.
        (_dl_runtime_profile): Likewise.

commit 52b2a80fae89d2a99ac3d1866a73c8bbf7b608ff
Author: Rogerio Alves <address@hidden>
Date:   Mon Jul 16 15:07:10 2018 -0300

    powerpc64: Always restore TOC on longjmp [BZ #21895]
    
    This patch changes longjmp to always restore the TOC pointer (r2 register)
    to the caller frame on powerpc64 and powerpc64le.  This is related to bug
    21895 that reports a situation where you have a static longjmp to a
    shared object file.
    
        [BZ #21895]
        * sysdeps/powerpc/powerpc64/__longjmp-common.S: Remove condition code 
for
        restoring r2 in longjmp.
        * sysdeps/powerpc/powerpc64/Makefile: Added tst-setjmp-bug21895-static 
to
        test list.
        Added rules to build test tst-setjmp-bug21895-static.
        Added module setjmp-bug21895 and rules to build a shared object from it.
        * sysdeps/powerpc/powerpc64/setjmp-bug21895.c: New test file.
        * sysdeps/powerpc/powerpc64/tst-setjmp-bug21895-static.c: New test file.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 3ae725dfb6d7f61447d27d00ed83e573bd5454f4
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Jul 16 17:50:09 2018 +0100

    Improve strstr performance
    
    Improve strstr performance.  Strstr tends to be slow because it uses
    many calls to memchr and a slow byte loop to scan for the next match.
    Performance is significantly improved by using strnlen on larger blocks
    and using strchr to search for the next matching character.  strcasestr
    can also use strnlen to scan ahead, and memmem can use memchr to check
    for the next match.
    
    On the GLIBC bench tests the performance gains on Cortex-A72 are:
    strstr: +25%
    strcasestr: +4.3%
    memmem: +18%
    
    On a 256KB dataset strstr performance improves by 67%, strcasestr by 47%.
    
        Reviewd-by: Adhemerval Zanella <address@hidden>

commit 31e422ca9680bbe412aa56b23f058c10eaee7be8
Author: H.J. Lu <address@hidden>
Date:   Sun Jul 15 08:48:40 2018 -0700

    x86_64: Undef SHADOW_STACK_POINTER_OFFSET last
    
    Since SHADOW_STACK_POINTER_OFFSET is defined in jmp_buf-ssp.h, we must
    undef SHADOW_STACK_POINTER_OFFSET after including <jmp_buf-ssp.h>.
    
        * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Undef
        SHADOW_STACK_POINTER_OFFSET after including <jmp_buf-ssp.h>.

commit faaee1f07ed25b2779bfd935ffb29f431b80d6d3
Author: H.J. Lu <address@hidden>
Date:   Sat Jul 14 05:59:29 2018 -0700

    x86: Support shadow stack pointer in setjmp/longjmp
    
    Save and restore shadow stack pointer in setjmp and longjmp to support
    shadow stack in Intel CET.  Use feature_1 in tcbhead_t to check if
    shadow stack is enabled before saving and restoring shadow stack pointer.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/i386/__longjmp.S: Include <jmp_buf-ssp.h>.
        (__longjmp): Restore shadow stack pointer if shadow stack is
        enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp
        isn't defined for __longjmp_cancel.
        * sysdeps/i386/bsd-_setjmp.S: Include <jmp_buf-ssp.h>.
        (_setjmp): Save shadow stack pointer if shadow stack is enabled
        and SHADOW_STACK_POINTER_OFFSET is defined.
        * sysdeps/i386/bsd-setjmp.S: Include <jmp_buf-ssp.h>.
        (setjmp): Save shadow stack pointer if shadow stack is enabled
        and SHADOW_STACK_POINTER_OFFSET is defined.
        * sysdeps/i386/setjmp.S: Include <jmp_buf-ssp.h>.
        (__sigsetjmp): Save shadow stack pointer if shadow stack is
        enabled and SHADOW_STACK_POINTER_OFFSET is defined.
        * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Include
        <jmp_buf-ssp.h>.
        (____longjmp_chk): Restore shadow stack pointer if shadow stack
        is enabled and SHADOW_STACK_POINTER_OFFSET is defined.
        * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers):
        Remove jmp_buf-ssp.sym.
        * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Include
        <jmp_buf-ssp.h>.
        (____longjmp_chk): Restore shadow stack pointer if shadow stack
        is enabled and SHADOW_STACK_POINTER_OFFSET is defined.
        * sysdeps/x86/Makefile (gen-as-const-headers): Add
        jmp_buf-ssp.sym.
        * sysdeps/x86/jmp_buf-ssp.sym: New dummy file.
        * sysdeps/x86_64/__longjmp.S: Include <jmp_buf-ssp.h>.
        (__longjmp): Restore shadow stack pointer if shadow stack is
        enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp
        isn't defined for __longjmp_cancel.
        * sysdeps/x86_64/setjmp.S: Include <jmp_buf-ssp.h>.
        (__sigsetjmp): Save shadow stack pointer if shadow stack is
        enabled and SHADOW_STACK_POINTER_OFFSET is defined.

commit ebff9c5cfae62e84dbd0456d564bd882818dc15f
Author: H.J. Lu <address@hidden>
Date:   Sat Jul 14 05:53:05 2018 -0700

    x86: Rename __glibc_reserved1 to feature_1 in tcbhead_t [BZ #22563]
    
    feature_1 has X86_FEATURE_1_IBT and X86_FEATURE_1_SHSTK bits for CET
    run-time control.
    
    CET_ENABLED, IBT_ENABLED and SHSTK_ENABLED are defined to 1 or 0 to
    indicate that if CET, IBT and SHSTK are enabled.
    
    <tls-setup.h> is added to set up thread-local data.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        [BZ #22563]
        * nptl/pthread_create.c: Include <tls-setup.h>.
        (__pthread_create_2_1): Call tls_setup_tcbhead.
        * sysdeps/generic/tls-setup.h: New file.
        * sysdeps/x86/nptl/tls-setup.h: Likewise.
        * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
        * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET):
        Likewise.
        * sysdeps/i386/nptl/tls.h (tcbhead_t): Rename __glibc_reserved1
        to feature_1.
        * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise.
        * sysdeps/x86/sysdep.h (X86_FEATURE_1_IBT): New.
        (X86_FEATURE_1_SHSTK): Likewise.
        (CET_ENABLED): Likewise.
        (IBT_ENABLED): Likewise.
        (SHSTK_ENABLED): Likewise.

commit 0a83bad2aae6807a108d5bb3eb3389060702265b
Author: Rafal Luzynski <address@hidden>
Date:   Wed Jul 11 23:25:15 2018 +0200

    dsb_DE locale: Fix syntax error and add tests (bug 23208).
    
    Fixed syntax error in the collation rules of Lower Sorbian language.
    Collation test added in order to test the bugs like this early.
    
    Reported-by: Tulio Magno Quites Machado Filho <address@hidden>
    
        [BZ #23208]
        * localedata/Makefile (test-input): Add dsb_DE.UTF-8.
        (LOCALES): Likewise.
        * localedata/dsb_DE.UTF-8.in: New file.
        * localedata/locales/dsb_DE (LC_COLLATE): Fix syntax error.

commit 046bfed9dec0d24e7b217bb78e15d1640d572832
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 12 15:01:43 2018 +0200

    nptl: Use __mprotect consistently for _STACK_GROWS_UP

commit 93304f5f7a32f73b551266c5a181db51d97a71e4
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 11 08:59:51 2018 +0200

    Install <bits/statx.h> header

commit 4beefeeb8ea80fece3d55c82b2b152ed9c78cdbe
Author: Mike FABIAN <address@hidden>
Date:   Tue Jul 10 11:25:48 2018 +0200

    Put the correct Unicode version number 11.0.0 into the generated files
    
    In some places there was still the old Unicode version 10.0.0 in the files.
    
        * localedata/charmaps/UTF-8: Use correct Unicode version 11.0.0 in 
comment.
        * localedata/locales/i18n_ctype: Use correct Unicode version in comments
        and headers.
        * localedata/unicode-gen/utf8_gen.py: Add option to specify Unicode 
version
        * localedata/unicode-gen/Makefile: Use option to specify Unicode version
        for utf8_gen.py

commit fd70af45528d59a00eb3190ef6706cb299488fcd
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 10 16:14:45 2018 +0200

    Add the statx function

commit b444e8f7cc40265c9a20ce5de5f3f6795b7f5028
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jul 10 09:24:40 2018 -0300

    Comment tst-ofdlocks-compat expected failure in some Linux releases
    
    As pointed out in a libc-alpha thread [1], the misc/tst-ofdlocks-compat
    may fail in some specific Linux releases.  This patch adds a comment
    along with a link to discussion in the test source code.
    
    No changes are expected.
    
        * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Add a comment about
        a kernel issue which lead to test failure in some cases.
    
    [1] https://sourceware.org/ml/libc-alpha/2018-07/msg00243.html

commit 7b2f4cedf044ea83f53f6b43a5bf6871eb9ce969
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 10 11:18:26 2018 +0200

    regexec: Fix off-by-one bug in weight comparison [BZ #23036]
    
    Each weight is prefixed by its length, and the length does not include
    itself in the count.  This can be seen clearly from the find_idx
    function in string/strxfrm_l.c, for example.  The old code behaved as if
    the length itself counted, thus comparing an additional byte after the
    weight, leading to spurious comparison failures and incorrect further
    partitioning of character equivalence classes.

commit 4fa34da6793c442255fc003cf659c85b197ab29a
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 10 11:03:08 2018 +0200

    Fix copyright years in recent commits

commit 916124ed841745b7a1e0fbc43f9909340b47d373
Author: Florian Weimer <address@hidden>
Date:   Fri Jul 6 14:23:15 2018 +0200

    nss_files: Fix re-reading of long lines [BZ #18991]
    
    Use the new __libc_readline_unlocked function to pick up
    reading at the same line in case the buffer needs to be enlarged.

commit 3f5e3f5d066dcffb80af48ae2cf35a01a85a8f10
Author: Florian Weimer <address@hidden>
Date:   Fri Jul 6 16:53:48 2018 +0200

    libio: Implement internal function __libc_readline_unlocked
    
    This is a variant of fgets which fails with ERANGE if the
    buffer is too small, and the buffer length is given as an
    argument of type size_t.
    
    This function will be useful for implementing NSS file reading
    operations.  Compared to a direct implementation using the public API,
    it avoids an lseek system call in case the line terminator can be
    found in the internal read buffer.

commit 397c54c1afa531242602fe3ac7bb47eff0e909f9
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Jun 28 15:30:32 2018 +0100

    aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT
    
    This enables searching shared libraries in atomics/ when the hardware
    supports LSE atomics of armv8.1 so one can provide optimized variants
    of libraries in a portable way.
    
    LSE atomics does not affect library abi, the new instructions can
    interoperate with old ones.
    
    I considered the earlier comments on the patch
    
    https://sourceware.org/ml/libc-alpha/2018-04/msg00400.html
    https://sourceware.org/ml/libc-alpha/2018-04/msg00625.html
    
    It turns out that the way glibc dynamic linker decides on the search
    path is not very flexible: it wants to use hwcap bits and associated
    strings.  So some targets reuse hwcap bits for glibc internal purposes
    to affect the search logic.  But hwcap is an interface with the kernel,
    glibc should not allocate bits in it for its internal logic as that
    limits future hwcap extensions and confusing to users who expect to see
    hwcap bits in ifunc resolvers.  Instead of rewriting the dynamic linker
    path logic (which affects all targets) this patch just uses the existing
    mechanism, however this means that the path name has to be the hwcap
    name "atomics" and cannot be changed to something more meaningful to
    users.
    
    It is hard to tell how much performance benefit this can give, in
    principle armv8.1 atomics can be better optimized in the hardware, so it
    can make a difference for synchronization heavy code.  On some systems
    such multilib setup may be the only viable way to get optimized
    libraries used.
    
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT): Add
        HWCAP_ATOMICS.

commit d0cd79807157e399ff58e67cb51651f90442122e
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Jun 28 14:43:07 2018 +0100

    aarch64: Remove HWCAP_CPUID from HWCAP_IMPORTANT
    
    This partially reverts
    
    commit f82e9672ad89ea1ef40bbe1af71478e255e87c5e
    Author:     Siddhesh Poyarekar <address@hidden>
    
        aarch64: Allow overriding HWCAP_CPUID feature check using HWCAP_MASK
    
    The idea was to make it possible to disable cpuid based ifunc resolution
    in glibc by changing the hwcap mask which the user could already control.
    
    However the hwcap mask has an orthogonal role: it specifies additional
    library search paths for the dynamic linker.  So "cpuid" got added to
    the search paths when it was set in the default mask (HWCAP_IMPORTANT),
    which is not useful behaviour, the hwcap masking should not be reused
    in the cpu features code.
    
    Meanwhile there is a tunable to set the cpu explicitly so it is possible
    to disable the cpuid based dispatch without using a hwcap mask:
    
      GLIBC_TUNABLES=glibc.tune.cpu=generic
    
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (init_cpu_features):
        Use dl_hwcap without masking.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h (HWCAP_IMPORTANT):
        Remove HWCAP_CPUID.

commit ddb3c626b0a159de3547d901420198b626c29554
Author: Florian Weimer <address@hidden>
Date:   Fri Jul 6 16:31:24 2018 +0200

    conform/conformtest.pl: Escape literal braces in regular expressions
    
    This suppresses Perl warnings like these:
    
    Unescaped left brace in regex is deprecated here (and will be fatal in
    Perl 5.32), passed through in regex; marked by <-- HERE in m/^element
    *({ <-- HERE ([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*)
    *(.*)/ at conformtest.pl line 370.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit bce5911b67392717b44f857a97bb348747be50e7
Author: Amit Pawar <address@hidden>
Date:   Fri Jul 6 09:55:36 2018 -0400

    Use AVX_Fast_Unaligned_Load from Zen onwards.
    
    From Zen onwards this will be enabled. It was disabled for the
    Excavator case and will remain disabled.
    
    Reviewd-by: Carlos O'Donell <address@hidden>

commit 3a885c1f51b18852869a91cf59a1b39da1595c7a
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 5 22:57:45 2018 +0200

    Build csu/elf-init.c and csu/static-reloc.c with stack protector
    
    This does not change generated code (with -fstack-protector-strong), but
    is important for formal compiler flags compliance.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 38cade0c461e58770749d7e8973f85c79532838a
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 5 19:28:11 2018 +0200

    Compile debug/stack_chk_fail_local.c with stack protector
    
    The resulting object file is statically linked into applications, so
    it is desirable to have (formal) stack protector coverage there.

commit 9449a295ad7e30f3a787421cb22aaa475f950549
Author: Maciej W. Rozycki <address@hidden>
Date:   Thu Jul 5 18:06:43 2018 +0100

    libc-abis: Define ABSOLUTE ABI [BZ #19818][BZ #23307]
    
    Define a new ABSOLUTE ABI for static linker's use with EI_ABIVERSION
    where correct absolute (SHN_ABS) symbol run-time load semantics is
    required.  This way it can be ensured at static link time that a program
    or DSO will not suffer from previous semantics where absolute symbols
    were relocated by the base address, or symbols whose `st_value' is zero
    silently ignored leading to a confusing "undefined symbol" error message
    at load time, and instead "ELF file ABI version invalid" is printed with
    old dynamic loaders, making it clear that there is an ABI version
    incompatibility.
    
        [BZ #19818]
        [BZ #23307]
        * libc-abis (ABSOLUTE): New ABI.
        * sysdeps/unix/sysv/linux/mips/libc-abis (ABSOLUTE): New ABI.
        * NEWS: Mention the new ABI.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit d6da5cb6a8e0e8a9ce92b7d951a254cf325248d7
Author: Florian Weimer <address@hidden>
Date:   Thu Jul 5 18:59:02 2018 +0200

    Add renameat2 function [BZ #17662]
    
    The implementation falls back to renameat if renameat2 is not available
    in the kernel (or in the kernel headers) and the flags argument is zero.
    Without kernel support, a non-zero argument returns EINVAL, not ENOSYS.
    This mirrors what the kernel does for invalid renameat2 flags.

commit 1002d708232dda9ebff65f6c1409fa067a01b6e0
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 4 17:26:22 2018 -0300

    posix: Fix bug-regex33 after regex sync
    
    On some platforms the inclusion of regex-internal.h in bug-regex33
    testcase show a MAX redefinition if test-skeleton.c is include later.
    This patch fixes by removing regex-internal.h inclusion and using
    SBC_MAX value directly.
    
    Checked on aarch64-linux-gnu.
    
        * posix/bug-regex33.c: Fix build after regex sync.

commit 34fdb893e0cec55bdfc83ce56ab29b8f5eeaef9d
Author: Carlos O'Donell <address@hidden>
Date:   Mon May 14 08:25:46 2018 -0400

    locale: XFAIL newlocale usage in static binary (Bug 23164)
    
    There is a glibc optimization which allows for locale categories
    to be removed during static compilation. There have been various
    bugs for this support over the years, with bug 16915 being the
    most recent. The solution there was to emit a reference to all the
    categories to avoid any being removed. This fix, although it's in
    the generic __nl_langinfo_l function, doesn't appear to be enough
    to fix the case for a statically linked program that uses newlocale
    and nl_langinfo_l. This commit doesn't fix the problem, but it does
    add a XFAIL'd test case such that a fix can be applied against this
    and the XFAIL removed. It's not entirely clear that the problem is
    the same as that which was seen in bug 16915.

commit f2873d2da0ac9802e0b570e8e0b9e7e04a82bf55
Author: Florian Weimer <address@hidden>
Date:   Wed Jul 4 15:27:24 2018 +0200

    testrun.sh: Implement --tool=strace, --tool=valgrind
    
    $(file …) appears to be the only convenient way to create files
    with newlines and make substitution variables.  This needs make 4.0
    (released in 2013), so update the requirement to match.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit eb04c21373e2a2885f3d52ff192b0499afe3c672
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Dec 20 09:47:44 2017 -0200

    posix: Sync gnulib regex implementation
    
    This patch syncs the regex implementation with gnulib (commit 0ee5212).
    Only two changes in GLIBC regex testing are required:
    
      1. posix/bug-regex28.c: as previously discussed [1] the change of
         expected results on the pattern should be safe.
    
      2. posix/PCRE.tests: the ERE (a)|\1 is malformed (in the sense that
         the \1 doesn't mean anything) and although current GLIBC accepts
         it has undefined behavior.  This patch removes the specific test.
    
    This sync contains some patches from thread 'Regex: Make libc regex
    more usable outside GLIBC.' [2] which have been pushed upstream in
    gnulib.  This patches also fixes some regex issues (BZ #23233,
    BZ #21163, BZ #18986, BZ #13762) and I did not add testcases for
    both #23233 and #13762 because I couldn't think a simple way to
    trigger the expected failure path to trigger them.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        [BZ #23233]
        [BZ #21163]
        [BZ #18986]
        [BZ #13762]
        * posix/Makefile (tests): Add bug-regex37 and bug-regex38.
        * posix/PCRE.tests: Remove invalid test.
        * posix/bug-regex28.c: Fix expected values for used syntax.
        * posix/bug-regex37.c: New file.
        * posix/bug-regex38.c: Likewise.
        * posix/regcomp.c: Sync with gnulib.
        * posix/regex.c: Likewise.
        * posix/regex.h: Likewise.
        * posix/regex_internal.c: Likewise.
        * posix/regex_internal.h: Likewise.
        * posix/regexec.c: Likewise.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-12/msg00807.html
    [2] https://sourceware.org/ml/libc-alpha/2017-12/msg00237.html

commit b11643c21c5c9d67a69c8ae952e5231ce002e7f1
Author: Mike FABIAN <address@hidden>
Date:   Mon Jun 18 18:23:44 2018 +0200

    Bug 23308: Update to Unicode 11.0.0
    
    Unicode 11.0.0 Support: Character encoding, character type info, and
    transliteration tables are all updated to Unicode 11.0.0, using
    the generator scripts contributed by Mike FABIAN (Red Hat).
    
    Some info about the number of characters added:
    
    Total added characters in newly generated CHARMAP: 684
    Total added characters in newly generated WIDTH: 119
    alpha: Added 380 characters in new ctype which were not in old ctype
    combining: Added 56 characters in new ctype which were not in old ctype
    combining_level3: Added 37 characters in new ctype which were not in old 
ctype
    graph: Added 684 characters in new ctype which were not in old ctype
    lower: Added 82 characters in new ctype which were not in old ctype
    print: Added 684 characters in new ctype which were not in old ctype
    punct: Added 304 characters in new ctype which were not in old ctype
    tolower: Added 79 characters in new ctype which were not in old ctype
    totitle: Added 33 characters in new ctype which were not in old ctype
    toupper: Added 79 characters in new ctype which were not in old ctype
    upper: Added 79 characters in new ctype which were not in old ctype
    
    No characters were removed.
    
        [BZ #23308]
        * unicode-gen/Makefile (UNICODE_VERSION): Set to 11.0.0.
        * localedata/unicode-gen/DerivedCoreProperties.txt: Update to Unicode 
11.0.0.
        * localedata/unicode-gen/EastAsianWidth.txt: likewise.
        * localedata/unicode-gen/PropList.txt: likewise.
        * localedata/unicode-gen/UnicodeData.txt: likewise.
        * localedata/charmaps/UTF-8: Regenerate.
        * localedata/locales/i18n_ctype: likewise.
        * localedata/locales/tr_TR: likewise.
        * localedata/locales/translit_circle: likewise.
        * localedata/locales/translit_cjk_compat: likewise.
        * localedata/locales/translit_combining: likewise.
        * localedata/locales/translit_compat: likewise.
        * localedata/locales/translit_font: likewise.
        * localedata/locales/translit_fraction: likewise.

commit 5a357506659f9a00fcf5bc9c5d8fc676175c89a7
Author: Florian Weimer <address@hidden>
Date:   Tue Jul 3 18:29:16 2018 +0200

    stdio-common/tst-printf.c: Remove part under a non-free license [BZ #23363]
    
    The license does not allow modification.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 7279af007c420a9d5f88a6909d11e7cb712c16a4
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 2 16:45:53 2018 -0300

    Fix hurd expected fcntl version
    
    Different than Linux, hurd does not need the OFD locks fix from
    06ab719d30b (since OFD locks are current Linux specific). This in
    turn allows hurd to not provide a fcntl compat symbol.
    
    Checked on a i686-gnu with check-abi.
    
        * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl): Remove
        symbol.

commit b7b88cea4151d85eafd7ababc2e4b7ae1daeedf5
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Thu Jun 28 22:38:55 2018 -0300

    ldbl-128ibm-compat: Add printf_size
    
    Since the addition of the _Float128 API, strfromf128 and printf_size use
    __printf_fp to print _Float128 values.  This is achieved by setting the
    'is_binary128' member of the 'printf_info' structure to one.  Now that
    the format of long double on powerpc64le is getting a third option, this
    mechanism is reused for long double values that have binary128 format
    (i.e.: when -mabi=ieeelongdouble).
    
    This patch adds __printf_sizeieee128 as an exported symbol, but doesn't
    provide redirections from printf_size, yet.  All redirections will be
    installed in a future commit, once all other functions that print or
    read long double values with binary128 format are ready.  In
    __printf_fp, when 'is_binary128' is one, the floating-point argument is
    treated as if it was of _Float128 type, regardless of the value of
    'is_long_double', thus __printf_sizeieee128 sets 'is_binary128' to the
    same value of 'is_long_double'.  Otherwise, double values would not be
    printed correctly.
    
    Tested for powerpc64le.

commit 2b445206a1a450af0e6e66d78652e1ffd80685e2
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Jun 13 15:07:21 2018 +0100

    Use uint32_t sign in single precision math error handling functions
    
    Ideally sign should be bool, but sometimes (e.g. in powf) it's more
    efficient to pass a non-zero value than 1 to indicate that the sign
    should be set.  The fixed size int is less ambigous than unsigned
    long.
    
        * sysdeps/ieee754/flt-32/e_powf.c (__powf): Use uint32_t.
        (exp2f_inline): Likewise.
        * sysdeps/ieee754/flt-32/math_config.h (__math_oflowf): Likewise.
        (__math_uflowf): Likewise.
        (__math_may_uflowf): Likewise.
        (__math_divzerof): Likewise.
        (__math_invalidf): Likewise.
        * sysdeps/ieee754/flt-32/math_errf.c (xflowf): Likewise.
        (__math_oflowf): Likewise.
        (__math_uflowf): Likewise.
        (__math_may_uflowf): Likewise.
        (__math_divzerof): Likewise.
        (__math_invalidf): Likewise.

commit 2827ab990aefbb0e53374199b875d98f116d6390
Author: Carlos O'Donell <address@hidden>
Date:   Fri Jun 22 09:28:47 2018 -0400

    libc: Extend __libc_freeres framework (Bug 23329).
    
    The __libc_freeres framework does not extend to non-libc.so objects.
    This causes problems in general for valgrind and mtrace detecting
    unfreed objects in both libdl.so and libpthread.so.  This change is
    a pre-requisite to properly moving the malloc hooks out of malloc
    since such a move now requires precise accounting of all allocated
    data before destructors are run.
    
    This commit adds a proper hook in libc.so.6 for both libdl.so and
    for libpthread.so, this ensures that shm-directory.c which uses
    freeit () to free memory is called properly.  We also remove the
    nptl_freeres hook and fall back to using weak-ref-and-check idiom
    for a loaded libpthread.so, thus making this process similar for
    all DSOs.
    
    Lastly we follow best practice and use explicit free calls for
    both libdl.so and libpthread.so instead of the generic hook process
    which has undefined order.
    
    Tested on x86_64 with no regressions.
    
    Signed-off-by: DJ Delorie <address@hidden>
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 37d3d244e1a0ca7e7ac89b8e768e665adbb2e2d8
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Sat Jun 30 06:54:34 2018 +0530

    Add long double input for strfmon test
    
    This patch adds long double type inputs in strfmon_l test
    which will help in long double migration.
    
    Tested for powerpc64le.

commit a1e0c5fa88939f3d2fd19518d514b936f5105f3c
Author: Michael Wolf <address@hidden>
Date:   Fri Jun 8 01:26:43 2018 +0200

    New locale: Lower Sorbian (dsb_DE) [BZ #23208]
    
        [BZ #23208]
        * localedata/SUPPORTED (dsb_DE/UTF-8): New entry.
        * localedata/locales/dsb_DE: New file.

commit 2e0c5de622749a5e1f2b01afa19ec58199cc0bdf
Author: Rafal Luzynski <address@hidden>
Date:   Fri Feb 24 03:13:15 2017 +0100

    hy_AM: Add alternative month names (bug 23140).
    
    This locale already contained correct data in mon array.  Updated from
    CLDR to start the month names with the lowercase letters.
    
    alt_mon is a new import from CLDR.  The change has been consulted
    off-list with a native speaker.
    
        [BZ #23140]
        * localedata/locales/hy_AM (mon): Synchronize with CLDR (lowercase,
        genitive case).
        (alt_mon): New entry, import from CLDR (nominative case).

commit cdb52c71821d8d7d814daf7d01fbd003daef9c22
Author: Sylvain Lesage <address@hidden>
Date:   Fri Jun 29 20:55:59 2018 +0200

    es_BO locale: Change LC_PAPER to en_US (bug 22996).
    
        [BZ #22996]
        * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”.

commit 0aec4c1d1801e8016ebe89281d16597e0557b8be
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Jun 29 22:45:59 2018 +0530

    aarch64,falkor: Use vector registers for memcpy
    
    Vector registers perform better than scalar register pairs for copying
    data so prefer them instead.  This results in a time reduction of over
    50% (i.e. 2x speed improvemnet) for some smaller sizes for memcpy-walk.
    Larger sizes show improvements of around 1% to 2%.  memcpy-random shows
    a very small improvement, in the range of 1-2%.
    
        * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor):
        Use vector registers.

commit ce76a5cb8d3658cc4fc935cf774e8bb5836796dc
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Jun 29 22:45:07 2018 +0530

    aarch64,falkor: Use vector registers for memmove
    
    Vector registers perform much better for moves compared to pairs of
    registers on falkor, so use them instead.  This results in a time
    reduction of up to 50% (i.e. 2x improvement) for a lot of the smaller
    sizes, i.e. up to 1K in memmove-walk.  Improvements for larger sizes are
    smaller, at about 1%-2%.
    
        * sysdeps/aarch64/multiarch/memmove_falkor.S
        (__memcpy_falkor): Use vector registers.

commit 7e8989d03b5b3eea4f4225445c60413d36f2d710
Author: Martin Sebor <address@hidden>
Date:   Fri Jun 29 10:45:19 2018 -0600

    Document interaction with GCC built-ins in the Customizing Printf
    section of the manual.

commit bac15a72fcf0ed143dd959604d9317c4bb94160a
Author: Maciej W. Rozycki <address@hidden>
Date:   Fri Jun 29 17:10:43 2018 +0100

    elf: Accept absolute (SHN_ABS) symbols whose value is zero [BZ #23307]
    
    We have this condition in `check_match' (in elf/dl-lookup.c):
    
      if (__glibc_unlikely ((sym->st_value == 0 /* No value.  */
                             && stt != STT_TLS)
                            || ELF_MACHINE_SYM_NO_MATCH (sym)
                            || (type_class & (sym->st_shndx == SHN_UNDEF))))
        return NULL;
    
    which causes all !STT_TLS symbols whose value is zero to be silently
    ignored in lookup.  This may make sense for regular symbols, however not
    for absolute (SHN_ABS) ones, where zero is like any value, there's no
    special meaning attached to it.
    
    Consequently legitimate programs fail, for example taking the
    `elf/tst-absolute-sym' test case, substituting 0 for 0x55aa in
    `elf/tst-absolute-sym-lib.lds' and then trying to run the resulting
    program we get this:
    
    $ .../elf/tst-absolute-sym
    .../elf/tst-absolute-sym: symbol lookup error: 
.../elf/tst-absolute-sym-lib.so: undefined symbol: absolute
    $
    
    even though the symbol clearly is there:
    
    $ readelf --dyn-syms .../elf/tst-absolute-sym-lib.so | grep '\babsolute\b'
         7: 00000000     0 NOTYPE  GLOBAL DEFAULT  ABS absolute
    $
    
    The check for the zero value has been there since forever or commit
    d66e34cd4234/08162fa88891 ("Implemented runtime dynamic linker to
    support ELF shared libraries.") dating back to May 2nd 1995, and the
    problem triggers regardless of commit e7feec374c63 ("elf: Correct
    absolute (SHN_ABS) symbol run-time calculation [BZ #19818]") being
    present or not.
    
    Fix the issue then, by permitting `sym->st_value' to be 0 for SHN_ABS
    symbols in lookup.
    
        [BZ #23307]
        * elf/dl-lookup.c (check_match): Do not reject a symbol whose
        `st_value' is 0 if `st_shndx' is SHN_ABS.
        * elf/tst-absolute-zero.c: New file.
        * elf/tst-absolute-zero-lib.c: New file.
        * elf/tst-absolute-zero-lib.lds: New file.
        * elf/Makefile (tests): Add `tst-absolute-zero'.
        (modules-names): Add `tst-absolute-zero-lib'.
        (LDLIBS-tst-absolute-zero-lib.so): New variable.
        ($(objpfx)tst-absolute-zero-lib.so): New dependency.
        ($(objpfx)tst-absolute-zero: New dependency.

commit e69d994a63afc2d367f286a2a7df28cbf710f0fe
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 29 16:53:47 2018 +0200

    New configure option --disable-crypt.
    
    Some Linux distributions are experimenting with a new, separately
    maintained and hopefully more agile implementation of the crypt
    API.  To facilitate this, add a configure option which disables
    glibc's embedded libcrypt.  When this option is given, libcrypt.*
    and crypt.h will not be built nor installed.

commit 841785bad14dfad81a0af94900310141c59f26a4
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 29 16:53:37 2018 +0200

    manual: Revise crypt.texi.
    
    This is a major rewrite of the description of 'crypt', 'getentropy',
    and 'getrandom'.
    
    A few highlights of the content changes:
    
     - Throughout the manual, public headers, and user-visible messages,
       I replaced the term "password" with "passphrase", the term
       "password database" with "user database", and the term
       "encrypt(ion)" with "(one-way) hashing" whenever it was applied to
       passphrases.  I didn't bother making this change in internal code
       or tests.  The use of the term "password" in ruserpass.c survives,
       because that refers to a keyword in netrc files, but it is adjusted
       to make this clearer.
    
       There is a note in crypt.texi explaining that they were
       traditionally called passwords but single words are not good enough
       anymore, and a note in users.texi explaining that actual passphrase
       hashes are found in a "shadow" database nowadays.
    
     - There is a new short introduction to the "Cryptographic Functions"
       section, explaining how we do not intend to be a general-purpose
       cryptography library, and cautioning that there _are_, or have
       been, legal restrictions on the use of cryptography in many
       countries, without getting into any kind of detail that we can't
       promise to keep up to date.
    
     - I added more detail about what a "one-way function" is, and why
       they are used to obscure passphrases for storage.  I removed the
       paragraph saying that systems not connected to a network need no
       user authentication, because that's a pretty rare situation
       nowadays.  (It still says "sometimes it is necessary" to
       authenticate the user, though.)
    
     - I added documentation for all of the hash functions that glibc
       actually supports, but not for the additional hash functions
       supported by libxcrypt.  If we're going to keep this manual section
       around after the transition is more advanced, it would probably
       make sense to add them then.
    
     - There is much more detailed discussion of how to generate a salt,
       and the failure behavior for crypt is documented.  (Returning an
       invalid hash on failure is what libxcrypt does; Solar Designer's
       notes say that this was done "for compatibility with old programs
       that assume crypt can never fail".)
    
     - As far as I can tell, the header 'crypt.h' is entirely a GNU
       invention, and never existed on any other Unix lineage.  The
       function 'crypt', however, was in Issue 1 of the SVID and is now
       in the XSI component of POSIX.  I tried to make all of the
       @standards annotations consistent with this, but I'm not sure I got
       them perfectly right.
    
     - The genpass.c example has been improved to use getentropy instead
       of the current time to generate the salt, and to use a SHA-256 hash
       instead of MD5. It uses more random bytes than is strictly
       necessary because I didn't want to complicate the code with proper
       base64 encoding.
    
     - The testpass.c example has three hardwired hashes now, to
       demonstrate that different one-way functions produce different
       hashes for the same input.  It also demonstrates how DES hashing
       only pays attention to the first eight characters of the input.
    
     - There is new text explaining in more detail how a CSPRNG differs
       from a regular random number generator, and how
       getentropy/getrandom are not exactly a CSPRNG.  I tried not to make
       specific falsifiable claims here.  I also tried to make the
       blocking/cancellation/error behavior of both getentropy and
       getrandom clearer.

commit 6ab902e4decd89c1a9206497d14ddba7680bfc37
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 29 16:53:29 2018 +0200

    manual: Reorganize crypt.texi.
    
    In preparation for a major revision of the documentation for
    crypt(_r), getentropy, and getrandom, reorganize crypt.texi.  This
    patch does not change any text; it only deletes and moves text.
    
    The description of 'getpass' moves to terminal.texi, since all it does
    is read a password from the controlling terminal with echo disabled.
    The "Legal Problems" section of crypt.texi is dropped, and the
    introductory text is shifted down to the "Encrypting Passwords"
    section; the next patch will add some new introductory text.
    
    Also, it is no longer true that crypt.texi's top @node needs to have
    no pointers.  That was a vestige of crypt/ being an add-on.  (makeinfo
    itself doesn't need @node pointers anymore, but the scripts that
    assemble the libc manual's topmost node rely on each chapter-level
    node having them.)

commit b10a0accee709a5efff2fadf0b0bbb79ff0ad759
Author: Zack Weinberg <address@hidden>
Date:   Fri Jun 29 16:53:18 2018 +0200

    Disallow use of DES encryption functions in new programs.
    
    The functions encrypt, setkey, encrypt_r, setkey_r, cbc_crypt,
    ecb_crypt, and des_setparity should not be used in new programs,
    because they use the DES block cipher, which is unacceptably weak by
    modern standards.  Demote all of them to compatibility symbols, and
    remove their prototypes from installed headers.  cbc_crypt, ecb_crypt,
    and des_setparity were already compat symbols when glibc was
    configured with --disable-obsolete-rpc.
    
    POSIX requires encrypt and setkey to be available when _XOPEN_CRYPT
    is defined, so this change also removes the definition of X_OPEN_CRYPT
    from <unistd.h>.
    
    The entire "DES Encryption" section is dropped from the manual, as is
    the mention of AUTH_DES and FIPS 140-2 in the introduction to
    crypt.texi.  The documentation of 'memfrob' cross-referenced the DES
    Encryption section, which is replaced by a hyperlink to libgcrypt, and
    while I was in there I spruced up the actual documentation of
    'memfrob' and 'strfry' a little.  It's still fairly jokey, because
    those functions _are_ jokes, but they do also have real use cases, so
    people trying to use them for real should have all the information
    they need.
    
    DES-based authentication for Sun RPC is also insecure and should be
    deprecated or even removed, but maybe that can be left as TI-RPC's
    problem.

commit 524d796d5f52913d5d33edede74a5075dbda25ca
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 29 14:54:59 2018 +0200

    malloc: Update heap dumping/undumping comments [BZ #23351]
    
    Also remove a few now-unused declarations and definitions.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 339124ab429ce917dfbcd75e2acc4299d27340f9
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 30 12:31:12 2018 +0100

    ast_ES: Add alternative month names (bug 23140).
    
        [BZ #23140]
        * localedata/locales/ast_ES (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).

commit c1f86a33ca32e26a9d6e29fc961e5ecb5e2e5eb4
Author: Daniel Alvarez <address@hidden>
Date:   Fri Jun 29 09:44:55 2018 +0200

    getifaddrs: Don't return ifa entries with NULL names [BZ #21812]
    
    A lookup operation in map_newlink could turn into an insert because of
    holes in the interface part of the map.  This leads to incorrectly set
    the name of the interface to NULL when the interface is not present
    for the address being processed (most likely because the interface was
    added between the RTM_GETLINK and RTM_GETADDR calls to the kernel).
    When such changes are detected by the kernel, it'll mark the dump as
    "inconsistent" by setting NLM_F_DUMP_INTR flag on the next netlink
    message.
    
    This patch checks this condition and retries the whole operation.
    Hopes are that next time the interface corresponding to the address
    entry is present in the list and correct name is returned.

commit 0b11b6491cc01b5ce5fea1302f8591f25e8c4d80
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Jun 28 13:27:31 2018 +0100

    Fix documentation build with old makeinfo
    
    With old makeinfo '@code {' fails because of the extra space.
    
        * manual/llio.texi: Remove spurious space.

commit c1c2848b572ea7f92b7fa81dd5b1b9ef7c69b83b
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 28 13:12:16 2018 +0200

    Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]
    
    After commit d76d3703551a362b472c866b5b6089f66f8daa8e ("Fix missing
    timespec definition for sys/stat.h (BZ #21371)") in combination with
    kernel UAPI changes, GCC sanitizer builds start to fail due to a
    conflicting definition of struct timespec in <linux/time.h>.  Use
    _STRUCT_TIMESPEC as the header file inclusion guard, which is already
    checked in the kernel header, to support including <linux/time.h> and
    <sys/stat.h> in the same translation unit.

commit 86a0f56158bd9cbaf2d640e2e6c66539f4cbbcc1
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Thu Jun 28 13:57:50 2018 +0530

    ldbl-128ibm-compat: Introduce ieee128 symbols
    
    This patch adds __*ieee128 symbols for strfrom, strtold, strtold_l, wcstold
    and wcstold_l functions.  Redirection from *l to *ieee128 will be handled
    in separate patch once we start building these new files.
    
    2018-06-28  Rajalakshmi Srinivasaraghavan  <address@hidden>
    
        * sysdeps/ieee754/ldbl-128ibm-compat/Versions: Add __strfromieee128,
         __strtoieee128, __strtoieee128_l,__wcstoieee128 and __wcstoieee128_l.
        * sysdeps/ieee754/ldbl-128ibm-compat/strfromf128.c: New file.
        * sysdeps/ieee754/ldbl-128ibm-compat/strtof128.c: New file.
        * sysdeps/ieee754/ldbl-128ibm-compat/strtof128_l.c: New file.
        * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128.c: New file.
        * sysdeps/ieee754/ldbl-128ibm-compat/wcstof128_l.c: New file.

commit 780684eb04298977bc411ebca1eadeeba4877833
Author: Maciej W. Rozycki <address@hidden>
Date:   Wed Jun 27 21:12:16 2018 +0100

    nisplus: Correct pwent parsing issue and resulting build error [BZ #23266]
    
    Copy and null-terminate NIS+ password file UID and GID entries whose
    length is non-zero and are not terminated, in addition to empty ones,
    fixing a bug and a compilation issue causing an error with GCC 8:
    
    nss_nisplus/nisplus-parser.c: In function '_nss_nisplus_parse_pwent':
    nss_nisplus/nisplus-parser.c:90:7: error: 'strncpy' destination unchanged 
after copying no bytes [-Werror=stringop-truncation]
           strncpy (first_unused, numstr, len);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    nss_nisplus/nisplus-parser.c:106:7: error: 'strncpy' destination unchanged 
after copying no bytes [-Werror=stringop-truncation]
           strncpy (first_unused, numstr, len);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    introduced with commit ac05397075f6:
    
    commit ac05397075f621cfdbe1db527c96167a58b6d18e
    Author: Ulrich Drepper <address@hidden>
    Date:   Sun Apr 30 07:01:26 2006 +0000
    
        * nis/nss_nisplus/nisplus-parser.c: Minor optimizations and
        cleanups.  Avoid copying data if it can be used in the old place.
    
    (no mailing list reference available).  Obviously regardless of the
    recently added compiler diagnostics causing a build error this code has
    been long non-functional, so I guess NIS+ servers have been supplying
    strings that are non-empty and have already been null-terminated.
    Which in turn made it unnecessary to make a null-terminated copy,
    masking this bug.
    
        [BZ #23266]
        * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
        Copy and null-terminate entries that are not terminated, in
        addition to empty ones.

commit c49e18222e4c40f21586dabced8a49732d946917
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 27 18:39:05 2018 +0200

    Remove macros extend_alloca, extend_alloca_account [BZ #18023]
    
    The unused macro definition in posix/glob.c comes from gnulib and will
    have to be removed there.

commit a833e627c3ef6a5d62ae3838e6838b24b8ffd1c6
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 27 17:01:06 2018 +0000

    Remove nptl/sockperf.c.
    
    This patch removes nptl/sockperf.c, an unused, x86-specific program
    with a hardcoded path in /tmp.  If someone finds some of this code in
    future for adding a proper benchmark, that does not of course rule out
    adding it back in that form, but for now I think it's best to
    eliminate this code with the hardcoded /tmp path.
    
    Tested for x86_64.
    
        * nptl/sockperf.c: Remove file.

commit 92d6aa8528f2ddab2361bc160a96b9cd3c497a11
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 27 17:55:55 2018 +0200

    _dl_map_object_deps: Use struct scratch_buffer [BZ #18023]
    
    The function comment suggests that _dl_map_object_deps cannot use
    malloc, but it already allocates the l_initfini array on the heap, so
    the additional allocation should be acceptable.

commit 890c2ced35cfbf2de7d787fd37caf23d250da531
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 27 17:55:38 2018 +0200

    gethostid (Linux variant): Switch to struct scratch_buffer [BZ #18023]
    
    Previously, extend_alloca was used without alloca accounting,
    which could have been problematic with large NSS results.

commit 4272059de256fb20a7b19b5f8509e0c8d27beaf4
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 27 17:54:44 2018 +0200

    wordexp: Rewrite parse_tilde to use struct scratch_buffer [BZ #18023]

commit 95f8ae8c83a049a100c7750d3496c59ba47626cd
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jun 26 20:09:17 2018 -0300

    Revert hurd errno.h changes
    
    Patch 06ab719d30b01 wrongly added mach errno.h changes.

commit 27f10a09630cac9bc0816e2a46cd9912379aaea8
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 26 21:48:48 2018 +0000

    Fix hardcoded /tmp paths in testing (bug 13888).
    
    As noted in bug 13888, and as I noted previously in
    <https://sourceware.org/ml/libc-alpha/2000-10/msg00111.html>, various
    tests used hardcoded paths in /tmp, so posing issues for simultaneous
    test runs from different build directories.
    
    This patch fixes such uses of hardcoded file names to put them in the
    build directory instead (in the case of stdio-common/bug5 the file
    names are changed as well, to avoid a conflict with the name bug5.out
    also used for the automatic test output redirection).  It also fixes
    test-installation.pl likewise (that was using filenames with $$ in
    them rather than strictly hardcoded names, but that's still not good
    practice for temporary file naming).
    
    Note that my list of files changed is not identical to that in bug
    13888.  I added tst-spawn3.c and test-installation.pl, and removed
    some tests that seem to me (now) to create temporary files securely
    (simply using /tmp is not itself a problem if the temporary files are
    handled properly with mkstemp; I haven't checked whether those tests
    used to do things insecurely).  conformtest is not changed because the
    makefiles always pass a --tmpdir option so the /tmp default is
    irrelevant, and for the same reason there is no actual problem with
    nptl/tst-umask1.c because again the makefiles always override the
    default.
    
    nptl/sockperf.c is ignored because there is no code to run it;
    probably that file should actually be removed.
    
    Some tests use the mktemp function, but I think they all use it in a
    way that *is* secure (for generating names for directories / sockets /
    fifos / symlinks, where the operation using the name will not follow
    symlinks and so there is no potential for a symlink attack on the
    account running the testsuite).
    
    Some tests use the tmpnam function to generate temporary file names.
    This is in principle insecure, but not addressed by this patch (I
    consider it a separate issue from the fully hardcoded paths).
    
    Tested for x86_64.
    
        [BZ #13888]
        * posix/Makefile (CFLAGS-tst-spawn3.c): New variable.
        * posix/tst-spawn3.c (do_test): Put tst-spwan3.pid in OBJPFX, not
        /tmp.
        * scripts/test-installation.pl: Put temporary files in build
        directory, not /tmp.
        * stdio-common/Makefile (CFLAGS-bug3.c): New variable.
        (CFLAGS-bug4.c): Likewise.
        (CFLAGS-bug5.c): Likewise.
        (CFLAGS-test-fseek.c): Likewise.
        (CFLAGS-test-popen.c): Likewise.
        (CFLAGS-test_rdwr.c): Likewise.
        * stdio-common/bug3.c (main): Put temporary file in OBJPFX, not
        /tmp.
        * stdio-common/bug4.c (main): Likewise.
        * stdio-common/bug5.c (main): Likewise.
        * stdio-common/test-fseek.c (TESTFILE): Likewise.
        * stdio-common/test-popen.c (do_test): Likewise.
        * stdio-common/test_rdwr.c (main): Likewise.

commit 05598a0907cad1350962e89b781215209a785d92
Author: Patsy Franklin <address@hidden>
Date:   Tue Jun 26 10:35:03 2018 -0400

    In sem_open.c,  pad was not initialized when __HAVE_64B_ATOMICS was
    true.  On some arches this caused valgrind to warn about uninitialized
    bytes when the struct was written to the file system.
    
    This patch moves the initialization of pad outside of the
    conditional.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 06ab719d30b01da401150068054d3b8ea93dd12f
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Apr 4 11:24:15 2018 -0300

    Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251)
    
    This patch fixes the OFD ("file private") locks for architectures that
    support non-LFS flock definition (__USE_FILE_OFFSET64 not defined). The
    issue in this case is both F_OFD_{GETLK,SETLK,SETLKW} and
    F_{SET,GET}L{W}K64 expects a flock64 argument and when using old
    F_OFD_* flags with a non LFS flock argument the kernel might interpret
    the underlying data wrongly.  Kernel idea originally was to avoid using
    such flags in non-LFS syscall, but since GLIBC uses fcntl with LFS
    semantic as default it is possible to provide the functionality and
    avoid the bogus struct kernel passing by adjusting the struct manually
    for the required flags.
    
    The idea follows other LFS interfaces that provide two symbols:
    
      1. A new LFS fcntl64 is added on default ABI with the usual macros to
         select it for FILE_OFFSET_BITS=64.
    
      2. The Linux non-LFS fcntl use a stack allocated struct flock64 for
         F_OFD_{GETLK,SETLK,SETLKW} copy the results on the user provided
         struct.
    
      3. Keep a compat symbol with old broken semantic for architectures
         that do not define __OFF_T_MATCHES_OFF64_T.
    
    So for architectures which defines __USE_FILE_OFFSET64, fcntl64 will
    aliased to fcntl and no adjustment would be required.  So to actually
    use F_OFD_* with LFS support the source must be built with LFS support
    (_FILE_OFFSET_BITS=64).
    
    Also F_OFD_SETLKW command is handled a cancellation point, as for
    F_SETLKW{64}.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        [BZ #20251]
        * NEWS: Mention fcntl64 addition.
        * csu/check_fds.c: Replace __fcntl_nocancel by __fcntl64_nocancel.
        * login/utmp_file.c: Likewise.
        * sysdeps/posix/fdopendir.c: Likewise.
        * sysdeps/posix/opendir.c: Likewise.
        * sysdeps/unix/pt-fcntl.c: Likewise.
        * include/fcntl.h (__libc_fcntl64, __fcntl64,
        __fcntl64_nocancel_adjusted): New prototype.
        (__fcntl_nocancel_adjusted): Remove prototype.
        * io/Makefile (routines): Add fcntl64.
        (CFLAGS-fcntl64.c): New rule.
        * io/Versions [GLIBC_2.28] (fcntl64): New symbol.
        [GLIBC_PRIVATE] (__libc_fcntl): Rename to __libc_fcntl64.
        * io/fcntl.h (fcntl64): Add prototype and redirect if
        __USE_FILE_OFFSET64 is defined.
        * io/fcntl64.c: New file.
        * manual/llio.text: Add a note for which commands fcntl acts a
        cancellation point.
        * nptl/Makefile (CFLAGS-fcntl64.c): New rule.
        * sysdeps/mach/hurd/fcntl.c: Alias fcntl to fcntl64 symbols.
        * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl, fcntl64):
        New symbols.
        * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Fix F_GETLK64,
        F_OFD_GETLK, F_SETLK64, F_SETLKW64, F_OFD_SETLK, and F_OFD_SETLKW for
        non-LFS case.
        * sysdeps/unix/sysv/linux/fcntl64.c: New file.
        * sysdeps/unix/sysv/linux/fcntl_nocancel.c (__fcntl_nocancel): Rename
        to __fcntl64_nocancel.
        (__fcntl_nocancel_adjusted): Rename to __fcntl64_nocancel_adjusted.
        * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Rename
        to __fcntl64_nocancel.
        * sysdeps/unix/sysv/linux/tst-ofdlocks.c: New file.
        * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise.
        * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-ofdlocks.
        (tests-internal): Add tst-ofdlocks-compat.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28]
        (fcntl64): New symbol.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.28] (fcntl,
        fcntl64): Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilis: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.

commit 124e025864bb39732c71fc60c1443d5680881a0a
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 26 15:13:54 2018 +0200

    Run thread shutdown functions in an explicit order
    
    This removes the __libc_thread_subfreeres hook in favor of explict
    calls.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 935d920e763626dbcbbf655117285d1d270791a1
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 26 15:27:03 2018 +0200

    sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro
    
    Header and C source file changes were generated using:
    
    unifdef -m -D_RPC_THREAD_SAFE_ include/rpc/rpc.h sunrpc/*.c

commit 29055464a03c72762969a2e8734d0d05d4d70e58
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 26 12:20:44 2018 +0200

    libio: Add tst-vtables, tst-vtables-interposed

commit 5c0202af4b3d588c04bcec7baf05706b21cd7416
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 26 12:05:21 2018 +0200

    support: Add TEST_NO_SETVBUF
    
    This is sometimes needed for testing stdio streams, where the
    setvbuf call in the test driver could interfere with the test.

commit c402355dfa7807b8e0adb27c009135a7e2b9f1b0
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 26 10:24:52 2018 +0200

    libio: Disable vtable validation in case of interposition [BZ #23313]

commit 43b1048ab9418e902aac8c834a7a9a88c501620a
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 19:29:11 2018 +0200

    nss_files: Use struct scratch_buffer instead of extend_alloca [BZ #18023]

commit 1599ed4e959e6e5b319d82389667f51d01d53da0
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 19:22:46 2018 +0200

    getent: Use dynarray in initgroups_keys [BZ #18023]

commit a26fe1638bf2fea58ddd44cc771896ad0c36de8c
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 19:14:09 2018 +0200

    _nss_nis_initgroups_dyn: Use struct scratch_buffer [BZ #18023]
    
    Remove extend_alloca usage.  Also adjusts the internal function get_uid.

commit 90d9d9ce2fbeef0f24a957efa83f5a78367a84d4
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 18:56:42 2018 +0200

    getgrent_next_nss (compat-initgroups): Remove alloca fallback [BZ #18023]
    
    If the caller-supplied buffer is not large enough, fall back directly
    malloc.
    
    The previous __libc_use_alloca check was incorrect because it did not
    take into account that extend_alloca may fail to merge allocations, so
    it would underestimate the stack space being used by roughly a factor
    of two.

commit 6b7b2abac75f969a86c537d64adf003378e24113
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 16:05:46 2018 +0200

    nscd: Switch to struct scratch_buffer in adhstaiX [BZ #18023]
    
    The pre-allocation of the three scratch buffers increased the initial
    stack size somewhat, but if retries are needed, the previous version
    used more stack space if extend_alloca could not merge allocations.
    Lack of alloca accounting also means could be problematic with
    extremely large NSS responses, too.
    
        [BZ #18023]
        * nscd/aicache.c (addhstaiX): Use struct scratch_buffer instead
        of extend_alloca.

commit 2f9f0d182eb87bfab49534d4f9ac102d6c0c0469
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 16:04:29 2018 +0200

    nscd: Use struct scratch_buffer, not extend_alloca in most caches [BZ 
#18023]
    
    This replaces the ERANGE retry loops with loops which have heap
    fallback.  Heap allocation might actually be required for extremely
    large NSS results.

commit 318bad78b084cd510c7b672a1a0859c0df08dbb7
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 25 17:10:15 2018 +0200

    nscd restart: Use malloc instead of extend_alloca [BZ #18023]
    
    This introduces a separate function, read_cmdline, which reads the
    contents of /proc/self/cmdline into a heap-allocated buffer.

commit 189699ab375111a25dac19f1b4f89e38d31c8b3d
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 30 12:31:12 2018 +0100

    csb_PL: Add alternative month names (bug 23140).
    
    Kashubian language is not supported by CLDR, data copied from Wikipedia
    and documents released by RJK (official Kashubian Language Council),
    also consulted with a native speaker.
    
    Note that this language also needs ab_alt_mon feature due to the month
    May: nominative "môj", genitive "maja"; abbreviated nominative "môj",
    abbreviated genitive "maj".
    
        [BZ #23140]
        * localedata/locales/csb_PL (mon): Rename to...
        (alt_mon): This.
        (abmon): Rename to...
        (ab_alt_mon): This.
        (mon): Add with proper genitive forms, copy from Wikipedia.
        (abmon): Likewise.

commit 0ea3f13cceaecdb3fb2219611876fdd49485e64d
Author: Rafal Luzynski <address@hidden>
Date:   Thu Jun 21 12:29:13 2018 +0200

    csb_PL: Update month translations + add yesstr/nostr (bug 19485).
    
    Thank you Michal Ostrowski for the feedback.
    
        [BZ #19485]
        * localedata/locales/csb_PL (mon): Fix typos:
        "łżëkwiôt" -> "łżëkwiat" (April); "lëpinc" -> "lëpińc" (July).
        (yesstr): Add, value is "jo".
        (nostr): Add, value is "nié".

commit d93f4ff16b75f77b99cb095c3e83c9b8281261f2
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jun 22 18:18:21 2018 -0300

    m68k: Reorganize log1p and significand implementations
    
    Commit 5e79e0292bfb03f40e43379fd92581ad8eae9cb8 broke m68k after
    s_significand.c became available in the build directory.  All m68k
    implementations of log1p and significand were including s_significand.c
    and stopped working after the inclusion of the the auto-generated file.
    
    This patch reorganizes the implementation of log1p and significand for
    m680x0 in order to avoid hitting this problem.
    
        * sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for
        all log1p and significand functions on m680x0.
        * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead
        of s_significand.c..
        * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to
        s_log1p.c and include it..
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit f6299d2a103efc46d8f75834f1e38f3eda9f4fcb
Author: Vincent Chen <address@hidden>
Date:   Thu Jun 21 20:44:43 2018 +0000

    Add Andes nds32 dynamic relocations to elf.h
    
        * elf/elf.h (R_NDS32_NONE): New define.
        (R_NDS32_32_RELA): Likewise.
        (R_NDS32_COPY): Likewise.
        (R_NDS32_GLOB_DAT): Likewise.
        (R_NDS32_JUMP_SLOT): Likewise.
        (R_NDS32_RELATIVE): Likewise.
        (R_NDS32_TLS_TPOFF): Likewise.
        (R_NDS32_TLS_DESC): Likewise.

commit 61ab61c2fdf23875a473281d9711ae35473d93f7
Author: Mark Wielaard <address@hidden>
Date:   Sat Jun 16 23:34:13 2018 +0200

    elf.h: Add BPF relocation types.
    
    The BPF ELF format has new relocation types R_BPF_64_64 and R_BPF_64_32.
    The existing R_BPF_MAP_FD was an extension that never got implemented.
    Remove it, because the constant conflicts with the official R_BPF_64_64.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit f496b28e61d0342f579bf794c71b80e9c7d0b1b5
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 21 08:04:29 2018 +0200

    math: Set 387 and SSE2 rounding mode for tgamma on i386 [BZ #23253]
    
    Previously, only the SSE2 rounding mode was set, so the assembler
    implementations using 387 were not following the expecting rounding
    mode.

commit 99c7adf99fd0ec4526e592816588d9e3de9a8a4e
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 20 22:19:50 2018 +0000

    Fix tst-cmp.c build with GCC mainline.
    
    Building the testsuite with GCC mainline fails with
    -Wstringop-overflow= errors in string/tst-cmp.c.  These are for calls
    to strncmp and strncasecmp with SIZE_MAX size argument.  The tests are
    deliberately using this size that would be dubious in normal code, so
    this patch disables the warning for the calls in question.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu.
    
        * string/tst-cmp.c: Include <libc-diag.h>.
        (strncmp_max): Disable -Wstringop-overflow= around call to
        strncmp.
        (strncasecmp_max): Disable -Wstringop-overflow= around call to
        strncasecmp.

commit 1760daadda047a5fac43c7902ca2cd924612dea7
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 20 22:18:22 2018 +0000

    Fix bug-strspn1.c, bug-strpbrk1.c build with GCC mainline.
    
    Building the testsuite with GCC mainline fails with:
    
    bug-strspn1.c: In function 'main':
    bug-strspn1.c:14:3: error: right-hand operand of comma expression has no 
effect [-Werror=unused-value]
       strspn (b++, "");
       ^~~~~~~~~~~~~~~~
    
    and a similar error for bug-strpbrk1.c.  I'm not sure what GCC change
    introduced this, and the wording of the message is a bit off (in the
    source it's not a comma expression, that must reflect GCC's IR).  But
    the warning is correct (strspn is a pure function, the call is
    useless, and if there wasn't an argument with a side effect much older
    GCC would have warned); the point of the test is to verify that the
    side effect in an argument still occurs for this useless call that can
    otherwise be optimized to an (unused) constant (testing for a bug
    there once was in an old strspn macro).  This patch duly arranges for
    the warning to be disabled for this code.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu.
    
        * string/bug-strpbrk1.c: Include <libc-diag.h>.
        (main): Disable -Wunused-value around call to strpbrk.
        * string/bug-strspn1.c: Include <libc-diag.h>.
        (main): Disable -Wunused-value around call to strspn.

commit 209ae17c60a905f2b6e951d6609a898f4b9891f6
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Wed Jun 20 18:35:35 2018 -0300

    ldbl-128ibm-compat: Create libm-alias-float128.h
    
    Add a new libm-alias-float128.h in order to provide the __*ieee128
    aliases for the existing *f128 that do not have a globally exported
    symbol.
    
        * sysdeps/ieee754/ldbl-128ibm-compat/Versions: New file.
        * sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h: New file.

commit 5e79e0292bfb03f40e43379fd92581ad8eae9cb8
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Wed Jun 20 18:15:06 2018 -0300

    Add a generic significand implementation
    
    Create a template for significand.
    
        * math/Makefile (libm-calls): Move s_significandF to...
        (gen-libm-calls): ... here.
        * math/s_significand_template.c: New file.
        * math/s_significand.c: Removed.
        * math/s_significandf.c: Removed.
        * math/s_significandl.c: Removed.
        * sysdeps/ieee754/ldbl-opt/s_significand.c: Removed.
        * sysdeps/ieee754/ldbl-opt/s_significandl.c: Removed.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit badba23cacdec4c63bb0ac20fa3f90cc629f884c
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Wed Jun 20 17:42:47 2018 -0300

    Move declare_mgen_finite_alias definition
    
    Move declare_mgen_finite_alias, declare_mgen_finite_alias_s and
    declare_mgen_finite_alias_x to a shared place in order to reuse them in
    other files that also declare _finite aliases.
    
        * math/e_exp2_template.c (declare_mgen_finite_alias,
        declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): Move to...
        * sysdeps/generic/math-type-macros.h (declare_mgen_finite_alias,
        declare_mgen_finite_alias_s, declare_mgen_finite_alias_x): ... here.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 2d1c89a5d7c872a1109768f50e2508cf9a4b0348
Author: Florian Weimer <address@hidden>
Date:   Wed Jun 20 09:45:19 2018 +0200

    libio: Avoid ptrdiff_t overflow in IO_validate_vtable
    
    If the candidate pointer is sufficiently far away from
    __start___libc_IO_vtables, the result might not fit into ptrdiff_t.

commit 646c2833ee84aa5ecc7e219f0cc6156e61c371d3
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 19 11:52:18 2018 +0000

    Fix scanf rounding of negative floating-point numbers (bug 23280).
    
    As reported in bug 23280, scanf functions produce incorrectly rounded
    result for floating-point formats in FE_UPWARD and FE_DOWNWARD modes,
    because they pass the input with sign removed to strtod functions, and
    then negate the result if there was a '-' at the start of the input.
    
    This patch fixes this by arranging for the sign to be passed to strtod
    rather than scanf doing the negation itself.  In turn, keeping the
    sign around in the buffer being built up for strtod requires updating
    places that examine char_buffer_size (&charbuf) to allow for the sign
    being there as an extra character.
    
    Tested for x86_64.
    
        [BZ #23280]
        * stdio-common/vfscanf.c (_IO_vfscanf_internal): Pass sign of
        floating-point number to strtod functions rather than possibly
        negating result of those functions.
        * stdio-common/tst-scanf-round.c: New file.
        * stdio-common/Makefile (tests): Add tst-scanf-round.
        ($(objpfx)tst-scanf-round): Depend on $(libm).

commit 152fbfb3ad6387051f97248747394d6798b383ba
Author: Samuel Thibault <address@hidden>
Date:   Tue Jun 19 02:37:23 2018 +0200

    hurd: fix localplt.data format
    
    * sysdeps/mach/hurd/i386/localplt.data: Drop empty line.

commit c77e4dc0f531caa8f3302a5aa5d755efb7c5725b
Author: Samuel Thibault <address@hidden>
Date:   Tue Jun 19 02:32:41 2018 +0200

    hurd: Fix "Missing required PLT reference"
    
        * sysdeps/mach/hurd/localplt.data: Move to...
        * sysdeps/mach/hurd/i386/localplt.data: new file. Add + REL
        R_386_GLOB_DAT like on Linux i386.

commit f2857da7cdb65bfad75ee30981f5b2fde5bbb1dc
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 18 13:37:57 2018 +0000

    Add SHM_STAT_ANY from Linux 4.17 to bits/shm.h.
    
    Linux 4.17 adds a SHM_STAT_ANY constant (ipcs command).  This patch
    adds it to the relevant bits/shm.h headers.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/alpha/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): New macro.
        * sysdeps/unix/sysv/linux/arm/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/generic/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/sh/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/x86/bits/shm.h [__USE_MISC]
        (SHM_STAT_ANY): Likewise.

commit 176c7fee517c11f628aed4ef4b9457e47fa976a1
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 18 13:36:41 2018 +0000

    Add SEM_STAT_ANY from Linux 4.17 to bits/sem.h.
    
    Linux 4.17 adds a SEM_STAT_ANY constant (ipcs command).  This patch
    adds it to the relevant bits/sem.h headers.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/alpha/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): New macro.
        * sysdeps/unix/sysv/linux/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/generic/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/x86/bits/sem.h [__USE_MISC]
        (SEM_STAT_ANY): Likewise.

commit 86bf0019ed9c0d1e19916448454c3f7df0479ac6
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 18 13:34:52 2018 +0000

    Add MSG_STAT_ANY from Linux 4.17 to bits/msq.h.
    
    Linux 4.17 adds a MSG_STAT_ANY constant (ipcs command).  This patch
    adds it to the relevant bits/msq.h headers.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/alpha/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): New macro.
        * sysdeps/unix/sysv/linux/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/generic/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.
        * sysdeps/unix/sysv/linux/x86/bits/msq.h [__USE_MISC]
        (MSG_STAT_ANY): Likewise.

commit 91b2f3e5dd9940d81c424dc35cd182d7631fc3c4
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 18 13:33:52 2018 +0000

    Update MAP_TYPE value for hppa from Linux 4.17.
    
    This patch updates the hppa definition of MAP_TYPE to reflect a
    corresponding change in the Linux kernel in 4.17 (so the value now has
    four bits set, as it does on other architectures, although they are
    different from other architectures because of hppa differences in
    other MAP_* bits).
    
    Tested with build-many-glibcs.py for hppa.
    
        * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC]
        (MAP_TYPE): Change value to 0x2b.

commit 3fe8fc793f2e98c28c07428fabdeaf2f3c3480c7
Author: Florian Weimer <address@hidden>
Date:   Mon Jun 18 13:08:08 2018 +0200

    Linux: Create Netlink socket with SOCK_CLOEXEC in __check_pf [BZ #15722]

commit 809dc95d14b7c0245c9ec102c51fd72c42108973
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 18 11:27:51 2018 +0000

    Fix powerpc64le build of nan-sign tests (bug 23303).
    
    My recent nan-sign tests fail to build for powerpc64le with GCC 8
    because of the special compile / link options needed there for any
    test using _Float128.  This patch arranges for these tests to be
    handled on powerpc64le similarly to other such tests.
    
    Tested with build-many-glibcs.py for powerpc64le.
    
        [BZ #23303]
        * sysdeps/powerpc/powerpc64/le/Makefile
        (CFLAGS-tst-strtod-nan-sign.c): Add -mfloat128.
        (CFLAGS-tst-wcstod-nan-sign.c): Likewise.
        (gnulib-tests): Also add $(f128-loader-link) for
        tst-strtod-nan-sign abd tst-wcstod-nan-sign.

commit 4d0ac0375ba54da7d36aae6b7932e8813b2c89af
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 14:07:23 2018 +0000

    hurd: Fix reference to _hurd_self_sigstate
    
        * sysdeps/hurd/include/hurd/signal.h (_hurd_self_sigstate): Add hidden
        prototype and definition.
        * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Use
        hidden target for _hurd_self_sigstate.

commit f96a85e0fe83abdc30c73e6f01b995baf733e97b
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 10:52:04 2018 +0200

    hurd: Fix missing __pthread_get_cleanup_stack symbol
    
    Rework 57e1651557e8 ("hurd: Avoid PLT ref for __pthread_get_cleanup_stack")
    to keep the __pthread_get_cleanup_stack symbol.
    
            * htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to
            ___pthread_get_cleanup_stack.
            (__pthread_get_cleanup_stack): Remove hidden def, add alias.
            * htl/pt-exit.c (__pthread_exit): Use ___pthread_get_cleanup_stack
            instead of __pthread_get_cleanup_stack.
            * sysdeps/htl/pthread-functions.h [libpthread]
            (__pthread_get_cleanup_stack): Remove hidden proto.
            * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add
            prototype.
        * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Add hidden
        attribute.
        * htl/pt-join.c (__pthread_get_cleanup_stack): Define to
        ___pthread_get_cleanup_stack.

commit 8c9d53428e463da0ab99ff5162d94c3a043b3a2d
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 02:59:14 2018 +0200

    hurd: Whitelist PLT refs which are difficult to avoid
    
        * sysdeps/mach/hurd/localplt.data (siglongjmp, longjmp,
        __libc_lseek64, _IO_funlockfile): Whitelist PLT references.

commit b0344cf5c55b4ca83f383c7a1896a016dfe66687
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 02:47:51 2018 +0200

    hurd: Avoid PLT references to syscalls
    
        * mach/Makefile ($(mach-syscalls:%=$(objpfx))): Add hidden definition.
        * sysdeps/mach/include/mach/mach_traps.h (__mach_reply_port,
        __mach_thread_self, __mach_task_self, __mach_host_self, __swtch,
        __swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes.

commit 7a646a93fadef8841c724501fe723b383069191e
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 02:35:17 2018 +0200

    hurd: Avoid PLT ref to __mach_msg
    
        * sysdeps/mach/include/mach.h (__mach_msg): Add hidden prototype.
        * mach/msg.c: Include <mach.h>.
        (__mach_msg): Add hidden definition.

commit c1b7586c544957998c0f53711fa91e5de72cc819
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 02:19:47 2018 +0200

    hurd: Avoid PLT references to shortcuts
    
        * sysdeps/mach/include/mach-shortcuts-hidden.h: New file.
        * mach/shortcut.awk: Make syscall stubs include
        <mach-shortcuts-hidden.h> and add hidden definition.
        * sysdeps/mach/include/mach.h: Include <mach-shortcuts-hidden.h>.

commit 932d05f0dc89b905570bf8bd69bfe7fda2821ccf
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 01:49:29 2018 +0200

    hurd: Avoid missing PLT ref from ld.so requirement
    
        * sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional.

commit 57e1651557e833744d345deff0cd595b31e621ff
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 01:22:43 2018 +0200

    hurd: Avoid PLT ref for __pthread_get_cleanup_stack
    
        * htl/pt-cleanup.c (___pthread_get_cleanup_stack): Rename to
        __pthread_get_cleanup_stack.
        (__pthread_get_cleanup_stack): Remove alias, add hidden def.
        * htl/pt-exit.c (__pthread_exit): Use __pthread_get_cleanup_stack
        instead of ___pthread_get_cleanup_stack.
        * sysdeps/htl/pthread-functions.h [libpthread]
        (__pthread_get_cleanup_stack): Add hidden proto.
        * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Remove
        prototype.

commit faf7bbc2d051f7351af5761e3f84f1c3c8b6479f
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 01:00:00 2018 +0200

    hurd: Detect 32bit overflow in value returned by lseek
    
        * sysdeps/mach/hurd/lseek.c: Include <errno.h>.
        * sysdeps/mach/hurd/lseek.c (__libc_lseek): Check that the value 
returned
        by __lseek64 can fit off_t, return EOVERFLOW otherwise.

commit 298a8b59d43cf9a75c44e9b2836e07282a6d34ed
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 16 00:44:17 2018 +0200

    hurd: avoid PLT ref between sendfile and sendfile64
    
        * include/sys/sendfile.h (__sendfile64): Declare hidden prototype.
        * sysdeps/mach/hurd/sendfile.c (sendfile): Call __sendfile64 instead
        of sendfile.
        * sysdeps/mach/hurd/sendfile64.c (sendfile64): Rename to __sendfile64.
        (sendfile64): New strong alias.

commit b12c1e7991cbde3d6fc70abfdf72abecce8b318c
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 15 17:36:21 2018 +0000

    Add tests for sign of NaN returned by strtod (bug 23007).
    
    This patch adds tests for bug 23007, strtod ignoring any sign in the
    input string in the case of a NaN result.
    
    Tested for x86_64.
    
        [BZ #23007]
        * stdlib/tst-strtod-nan-sign-main.c: New file.
        * stdlib/tst-strtod-nan-sign.c: Likewise.
        * wcsmbs/tst-wcstod-nan-sign.c: Likewise.
        * stdlib/Makefile (tests): Add tst-strtod-nan-sign.
        ($(objpfx)tst-strtod-nan-sign): Depend on $(libm).
        * wcsmbs/Makefile (tests) Add tst-wcstod-nan-sign.
        ($(objpfx)tst-wcstod-nan-sign): Depend on $(libm).

commit b0debe14fcfe690eee8b5e693554dd258603805d
Author: Herman ten Brugge <address@hidden>
Date:   Fri Jun 15 17:35:17 2018 +0000

    Fix sign of NaN returned by strtod (bug 23007).
    
    As reported in bug 23007, strtod ignores any sign in the input string
    in the case of a NaN result.  Thes patch fixes this.
    
    Tested for x86_64 (in conjunction with tests to be added separately).
    
        [BZ #23007]
        * stdlib/strtod_l.c (____STRTOF_INTERNAL): Return NaN of
        appropriate sign.

commit 14beef7575099f6373f9a45b4656f1e3675f7372
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 14 22:34:09 2018 +0200

    localedata: Make IBM273 compatible with ISO-8859-1 [BZ #23290]
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit c596630bbdcab1520f0f2ebe065bc7b7eb508e99
Author: Samuel Thibault <address@hidden>
Date:   Thu Jun 14 17:09:18 2018 +0200

    hurd: Fix htl link failure
    
    126b3ec370f0 ("hurd: Avoid PLTs for __mach_thread_self and
    __mach_reply_port") made mach traps hidden, but htl actually uses two of
    them. Re-expose them for now. Exposing them properly will be more involved
    since their definition is generated.
    
        * sysdeps/mach/include/mach/mach_traps.h (__mach_thread_self,
        __mach_task_self): Remove attribute_hidden.

commit 35ebb6b0c48bc671d9c54e089884f9bf6fca540e
Author: Joseph Myers <address@hidden>
Date:   Thu Jun 14 14:20:00 2018 +0000

    Ignore -Wrestrict for one strncat test.
    
    With current GCC mainline, one strncat test involving a size close to
    SIZE_MAX results in a -Wrestrict warning that that buffer size would
    imply that the two buffers must overlap.  This patch fixes the build
    by adding disabling of -Wrestrict (for GCC versions supporting that
    option) to the already-present disabling of -Wstringop-overflow= and
    -Warray-bounds for this test.
    
    Tested with build-many-glibcs.py that this restores the testsuite
    build with GCC mainline for aarch64-linux-gnu.
    
        * string/tester.c (test_strncat) [__GNUC_PREREQ (7, 0)]: Also
        ignore -Wrestrict for one test.

commit 3c7b9f1fc37c8a639df7406af100a2d389ff843a
Author: Steve Ellcey <address@hidden>
Date:   Thu Jun 14 08:18:42 2018 +0100

    aarch64: Use an ifunc/VDSO to implement gettimeofday in shared glibc.
    
    This patch uses an ifunc to implement gettimeofday in the shared libc.
    This is faster compared to the vsyscall mechanism that has to check a
    global pointer, demangle it and call it indirectly when the VDSO is
    present. Resolving the gettimeofday symbol directly to the VDSO code
    is safe because there are no failures that the libc has to handle by
    setting errno like in a generic vsyscall (the only failure when the
    VDSO code falls back to a syscall is EFAULT, but passing an invalid
    pointer is undefined behaviour so returning -EFAULT is fine).
    
    If the kernel supports the VDSO interface we use it for extern calls,
    otherwise the old vsyscall method is used which falls back to a syscall.
    The static version of gettimeofday continues to use a syscall, libc.so
    internal calls use the old vsyscall method.
    
        * sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: New file.

commit c59ee916a66299f23d81568c77d7af3be17d4b6c
Author: Florian Weimer <address@hidden>
Date:   Thu Jun 14 09:37:31 2018 +0200

    scripts/update-abilist.sh: Accept empty list of files to patch
    
    Commit b289cd9db8286fa6c670104dd5dfcfc68d5d00d6 (“Ignore absolute
    symbols in ABI tests.”) broke “make update-all-abi” because an empty
    list of files is now passed to scripts/update-abilist.sh.

commit 06d1a8263d72dfb3e638cb98c92bee3405262f44
Author: Samuel Thibault <address@hidden>
Date:   Thu Jun 14 01:43:04 2018 +0200

    hurd: Avoid a PLT reference
    
        * sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk): Do not
        use PLT to call _hurd_self_sigstate.

commit 126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d
Author: Samuel Thibault <address@hidden>
Date:   Thu Jun 14 01:01:57 2018 +0200

    hurd: Avoid PLTs for __mach_thread_self and __mach_reply_port
    
        * mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self,
        __mach_task_self, __mach_host_self, __swtch, __swtch_pri,
        __thread_switch, __evc_wait): Move declarations to...
        * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add
        attribute_hidden.

commit c8c6e6d6d0859e5e9b3c6f8b3daa4e6b6e709873
Author: Samuel Thibault <address@hidden>
Date:   Thu Jun 14 00:28:03 2018 +0200

    hurd: Avoid PLTs for _hurd_port_locked_get/set
    
        * sysdeps/hurd/include/hurd/port.h: New file.

commit c8c910ed9cbff8c75e74149f227adf3c960f1dbc
Author: Samuel Thibault <address@hidden>
Date:   Thu Jun 14 00:22:20 2018 +0200

    hurd: update localplt.data
    
    after 329ea513b451 ("Avoid cancellable I/O primitives in ld.so.")
    
        * sysdeps/mach/hurd/localplt.data (ld.so): Add __open64, rename
        __libc_read and __libc_write to __read and __write.

commit 43b5ff50b5002b035ee9cd9d1c1f908b7cd4c370
Author: Samuel Thibault <address@hidden>
Date:   Wed Jun 13 21:12:23 2018 +0200

    hurd: xfail missing abilist for libmachuser and libhurduser
    
    They need more work to implement, see bug 23286.
    
        * sysdeps/mach/hurd/i386/Makefile (test-xfail-check-abi-libhurduser,
        test-xfail-check-abi-libmachuser): Add.

commit fcd6b5ac36a49e83e27e9186ded04329d3b0b0d9
Author: Joseph Myers <address@hidden>
Date:   Wed Jun 13 16:06:14 2018 +0000

    Fix strtod overflow detection (bug 23279).
    
    As shown by bug 23279, strtod's round_and_return has an off-by-one
    error in its overflow detection, only counting an exponent greater
    than MAX_EXP as overflowing when an exponent of MAX_EXP also means
    overflow (recall the ISO C definition of DBL_MAX_EXP etc. is based on
    a floating-point model where 2^exp is multiplied by a value in the
    interval [0.5, 1), so 2^MAX_EXP is not representable).
    
    For decimal arguments to strtod, a separate overflow check in the main
    implementation covers the case where the integer part of the argument
    (truncated to the nearest integer towards zero) has more than MAX_EXP
    bits, meaning that this issue in round_and_return only affects cases
    (arguments with absolute value strictly between the maximum
    representable value and 2^MAX_EXP) where overflow depends on the
    rounding mode; in such cases, the returned value would still have been
    correct on overflow but without the overflow exception being raised or
    errno being set to ERANGE.  For hex float arguments, however, other
    cases can arise, as shown in bug 23279, where a value with exponent
    already set to MAX_EXP is passed into round_and_return and a result
    can wrongly end up being NaN, or infinity instead of the largest
    finite value.
    
    This patch fixes the off-by-one error, adds testing of overflow
    exceptions to the tst-strtod-round framework, and adds tests of these
    issues.
    
    Tested for x86_64.  Also ran the tst-strtod-round tests for powerpc to
    make sure the new tests didn't introduce any new failures for IBM long
    double.
    
        [BZ #23279]
        * stdlib/strtod_l.c (round_and_return): Handle an exponent of
        MAX_EXP as overflowing.
        * stdlib/gen-tst-strtod-round.c (string_to_fp): Clear MPFR
        overflow flag.
        (round_str): Output also whether result overflows in each rounding
        mode.
        * stdlib/tst-strtod-round-data: Add more tests.
        * stdlib/tst-strtod-round-data.h: Regenerated.
        * stdlib/tst-strtod-round-skeleton.c (_XNTRY): Update comment.
        (TEST): Handle extra arguments for overflow flags.
        (struct test_overflow): New type.
        [!FE_OVERFLOW] (FE_OVERFLOW): Define to 0.
        (GEN_ONE_TEST): Clear all exceptions.  Test overflow flag.
        (test_in_one_mode): Take argument with overflow information.
        (do_test): Update calls to test_in_one_mode.

commit a745c837cb51c2efe8900740548cb68ec2a2f7ab
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jun 12 23:31:02 2018 -0400

    Fix comments in _dl_dst_count and _dl_dst_substitute.
    
    The comments in _dl_dst_count is adjusted to match what the code does
    which is count DSTs from the start of the string. With the removal of
    DL_DST_COUNT we no longer accept an input that starts at the first $.
    
    In _dl_dst_substitute we adjust the comment to indicate that both
    conditions must be true for the SUID/SGID $ORIGIN exception.

commit 35df5a77f3ad2a35761631928440d2994a9e4bc5
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jun 12 16:17:05 2018 -0400

    Fix fallback path in __pthread_mutex_timedlock ().
    
    Fix the typo in the fallback path in __pthread_mutex_timedlock ()
    whic hcalls lll_futex_timed_wait ().  This is only useful for cases
    where the patch is being backported to older distributions where
    only lll_futex_timed_wait () is available.

commit 48b12ed54ceb605ec3566249c0387612fd9c0ced
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 12 16:57:26 2018 +0000

    Do not use const attribute for nan functions (bug 23277).
    
    As in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86113 for
    __builtin_nan, bits/mathcalls.h wrongly declares the nan function with
    the __const__ attribute.  Because the function reads memory pointed to
    by an argument, it's only pure, not const.  This patch removes the
    incorrect attribute and adds a testcase for the bug.  No __pure__
    attribute is added to replace the incorrect __const__ one, since that
    would introduce problems when using GCC versions that have the
    incorrect built-in __const__ attribute and warn for the combination of
    those two attributes.
    
    Tested for x86_64.
    
        [BZ #23277]
        * math/bits/mathcalls.h [__USE_ISOC99] (nan): Do not use __const__
        attribute.
        * math/test-nan-const.c: New file.
        * math/Makefile (tests): Add test-nan-const.
        (CFLAGS-test-nan-const.c): New variable.

commit cb8f6affed52d81819037b2f5d6f3a089abb8811
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 12 09:10:28 2018 -0700

    benchtests: Add -f/--functions argument
    
    On x86-64, there may be multiple IFUNC implementations for a given
    function.  But we may be only interested in a subset of them.  This
    patch adds -f/--functions argument to compare a subset of IFUNC
    implementations.
    
        * benchtests/scripts/compare_strings.py (process_results): Add
        funcs argument.  Compare only functions which are selected.
        (main): Check if base function is among selected functions.
        Pass selected functions to process_results.
        (__main__): Add -f/--functions argument.

commit fc2ba8037dec486c0557eba0b807060ace857701
Author: Hongbo Zhang <address@hidden>
Date:   Tue Jun 12 21:29:11 2018 +0530

    aarch64: add HXT Phecda core memory operation ifuncs
    
    Phecda is HXT semiconductor's CPU core, this patch adds memory operation
    ifuncs for it: sharing the same optimized implementation with Qualcomm's
    Falkor core.
    
    2018-06-07  Minfeng Kang <address@hidden>
            Hongbo Zhang <address@hidden>
    
        * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): reuse
        __memcpy_falkor for phecda core.
        * sysdeps/aarch64/multiarch/memmove.c (libc_ifunc): reuse
        __memmove_falkor for phecda core.
        * sysdeps/aarch64/multiarch/memset.c (libc_ifunc): reuse
        __memset_falkor for phecda core.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c: add MIDR entry
        for phecda core.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_PHECDA): add
        macro to identify phecda core.

commit 5aad5f617892e75d91d4c8fb7594ff35b610c042
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jun 5 23:55:17 2018 -0400

    Improve DST handling (Bug 23102, Bug 21942, Bug 18018, Bug 23259).
    
    This commit improves DST handling significantly in the following
    ways: firstly is_dst () is overhauled to correctly process DST
    sequences that would be accepted given the ELF gABI.  This means that
    we actually now accept slightly more sequences than before.  Now we
    accept $ORIGIN$ORIGIN, but in the past we accepted only $ORIGIN\0 or
    $ORIGIN/..., but this kind of behaviour results in unexpected
    and uninterpreted DST sequences being used as literal search paths
    leading to security defects.  Therefore the first step in correcting
    this defect is making is_dst () properly account for all DSTs
    and making the function context free in the sense that it counts
    DSTs without knowledge of path, or AT_SECURE.  Next, _dl_dst_count ()
    is also simplified to count all DSTs regardless of context.
    Then in _dl_dst_substitute () we reintroduce context-dependent
    processing for such things as AT_SECURE handling.  At the level of
    _dl_dst_substitute we can have access to things like the true start
    of the string sequence to validate $ORIGIN-based paths rooted in
    trusted directories.  Lastly, we tighten up the accepted sequences
    in AT_SECURE, and avoid leaving known unexpanded DSTs, this is
    noted in the NEWS entry.
    
    Verified with a sequence of 68 tests on x86_64 that cover
    non-AT_SECURE and AT_SECURE testing using a sysroot (requires root
    to run).  The tests cover cases for bug 23102, bug 21942, bug 18018,
    and bug 23259.  These tests are not yet appropriate for the glibc
    regression testsuite, but with the upcoming test-in-container testing
    framework it should be possible to include these tests upstream soon.
    
    See the mailing list for the tests:
    https://www.sourceware.org/ml/libc-alpha/2018-06/msg00251.html

commit 329ea513b451ae8322aa7a24ed84da13992af2dd
Author: Zack Weinberg <address@hidden>
Date:   Tue Apr 3 18:26:44 2018 -0400

    Avoid cancellable I/O primitives in ld.so.
    
    Neither the <dlfcn.h> entry points, nor lazy symbol resolution, nor
    initial shared library load-up, are cancellation points, so ld.so
    should exclusively use I/O primitives that are not cancellable.  We
    currently achieve this by having the cancellation hooks compile as
    no-ops when IS_IN(rtld); this patch changes to using exclusively
    _nocancel primitives in the source code instead, which makes the
    intent clearer and significantly reduces the amount of code compiled
    under IS_IN(rtld) as well as IS_IN(libc) -- in particular,
    elf/Makefile no longer thinks we require a copy of unwind.c in
    rtld-libc.a.  (The older mechanism is preserved as a backstop.)
    
    The bulk of the change is splitting up the files that define the
    _nocancel I/O functions, so they don't also define the variants that
    *are* cancellation points; after which, the existing logic for picking
    out the bits of libc that need to be recompiled as part of ld.so Just
    Works.  I did this for all of the _nocancel functions, not just the
    ones used by ld.so, for consistency.
    
    fcntl was a little tricky because it's only a cancellation point for
    certain opcodes (F_SETLKW(64), which can block), and the existing
    __fcntl_nocancel wasn't applying the FCNTL_ADJUST_CMD hook, which
    strikes me as asking for trouble, especially as the only nontrivial
    definition of FCNTL_ADJUST_CMD (for powerpc64) changes F_*LK* opcodes.
    To fix this, fcntl_common moves to fcntl_nocancel.c along with
    __fcntl_nocancel, and changes its name to the extern (but hidden)
    symbol __fcntl_nocancel_adjusted, so that regular fcntl can continue
    calling it.  __fcntl_nocancel now applies FCNTL_ADJUST_CMD; so that
    both both fcntl.c and fcntl_nocancel.c can see it, the only nontrivial
    definition moves from sysdeps/u/s/l/powerpc/powerpc64/fcntl.c to
    .../powerpc64/sysdep.h and becomes entirely a macro, instead of a macro
    that calls an inline function.
    
    The nptl version of libpthread also changes a little, because its
    "compat-routines" formerly included files that defined all the
    _nocancel functions it uses; instead of continuing to duplicate them,
    I exported the relevant ones from libc.so as GLIBC_PRIVATE.  Since the
    Linux fcntl.c calls a function defined by fcntl_nocancel.c, it can no
    longer be used from libpthread.so; instead, introduce a custom
    forwarder, pt-fcntl.c, and export __libc_fcntl from libc.so as
    GLIBC_PRIVATE.  The nios2-linux ABI doesn't include a copy of vfork()
    in libpthread, and it was handling that by manipulating
    libpthread-routines in .../linux/nios2/Makefile; it is cleaner to do
    what other such ports do, and have a pt-vfork.S that defines no symbols.
    
    Right now, it appears that Hurd does not implement _nocancel I/O, so
    sysdeps/generic/not-cancel.h will forward everything back to the
    regular functions.  This changed the names of some of the functions
    that sysdeps/mach/hurd/dl-sysdep.c needs to interpose.
    
        * elf/dl-load.c, elf/dl-misc.c, elf/dl-profile.c, elf/rtld.c
        * sysdeps/unix/sysv/linux/dl-sysdep.c
        Include not-cancel.h.  Use __close_nocancel instead of __close,
        __open64_nocancel instead of __open, __read_nocancel instead of
        __libc_read, and __write_nocancel instead of __libc_write.
    
        * csu/check_fds.c (check_one_fd)
        * sysdeps/posix/fdopendir.c (__fdopendir)
        * sysdeps/posix/opendir.c (__alloc_dir): Use __fcntl_nocancel
            instead of __fcntl and/or __libc_fcntl.
    
        * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np)
        * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np)
            * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system):
        Use __open64_nocancel instead of __open_nocancel.
    
        * sysdeps/unix/sysv/linux/not-cancel.h: Move all of the
        hidden_proto declarations to the end and issue them if either
        IS_IN(libc) or IS_IN(rtld).
        * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
        Add close_nocancel, fcntl_nocancel, nanosleep_nocancel,
        open_nocancel, open64_nocancel, openat_nocancel, pause_nocancel,
        read_nocancel, waitpid_nocancel, write_nocancel.
    
            * io/Versions [GLIBC_PRIVATE]: Add __libc_fcntl,
            __fcntl_nocancel, __open64_nocancel, __write_nocancel.
            * posix/Versions: Add __nanosleep_nocancel, __pause_nocancel.
    
            * nptl/pt-fcntl.c: New file.
            * nptl/Makefile (pthread-compat-wrappers): Remove fcntl.
            (libpthread-routines): Add pt-fcntl.
            * include/fcntl.h (__fcntl_nocancel_adjusted): New function.
            (__libc_fcntl): Remove attribute_hidden.
        * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Call
        __fcntl_nocancel_adjusted, not fcntl_common.
            (__fcntl_nocancel): Move to new file fcntl_nocancel.c.
        (fcntl_common): Rename to __fcntl_nocancel_adjusted; also move
        to fcntl_nocancel.c.
        * sysdeps/unix/sysv/linux/fcntl_nocancel.c: New file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Remove file.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h:
        Define FCNTL_ADJUST_CMD here, as a self-contained macro.
    
        * sysdeps/unix/sysv/linux/close.c: Move __close_nocancel to...
        * sysdeps/unix/sysv/linux/close_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/nanosleep.c: Move __nanosleep_nocancel to...
        * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/open.c: Move __open_nocancel to...
        * sysdeps/unix/sysv/linux/open_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/open64.c: Move __open64_nocancel to...
        * sysdeps/unix/sysv/linux/open64_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/openat.c: Move __openat_nocancel to...
        * sysdeps/unix/sysv/linux/openat_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/openat64.c: Move __openat64_nocancel to...
        * sysdeps/unix/sysv/linux/openat64_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/pause.c: Move __pause_nocancel to...
        * sysdeps/unix/sysv/linux/pause_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/read.c: Move __read_nocancel to...
        * sysdeps/unix/sysv/linux/read_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/waitpid.c: Move __waitpid_nocancel to...
        * sysdeps/unix/sysv/linux/waitpid_nocancel.c: ...this new file.
        * sysdeps/unix/sysv/linux/write.c: Move __write_nocancel to...
        * sysdeps/unix/sysv/linux/write_nocancel.c: ...this new file.
    
            * sysdeps/unix/sysv/linux/nios2/Makefile: Don't override
            libpthread-routines.
            * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: New file which
            defines nothing.
    
            * sysdeps/mach/hurd/dl-sysdep.c: Define __read instead of
            __libc_read, and __write instead of __libc_write.  Define
            __open64 in addition to __open.

commit 0221ce2a90be2d40fc90f0b5dcec77a1ec013f53
Author: H.J. Lu <address@hidden>
Date:   Tue Jun 12 06:23:28 2018 -0700

    i386: Change offset of __private_ss to 0x30 [BZ #23250]
    
    sysdeps/i386/nptl/tls.h has
    
    typedef struct
    {
      void *tcb;            /* Pointer to the TCB.  Not necessarily the
                               thread descriptor used by libpthread.  */
      dtv_t *dtv;
      void *self;           /* Pointer to the thread descriptor.  */
      int multiple_threads;
      uintptr_t sysinfo;
      uintptr_t stack_guard;
      uintptr_t pointer_guard;
      int gscope_flag;
      int __glibc_reserved1;
      /* Reservation of some values for the TM ABI.  */
      void *__private_tm[4];
      /* GCC split stack support.  */
      void *__private_ss;
    } tcbhead_t;
    
    The offset of __private_ss is 0x34.  But GCC defines
    
    /* We steal the last transactional memory word.  */
     #define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
    
    and libgcc/config/i386/morestack.S has
    
        cmpl    %gs:0x30,%eax           # See if we have enough space.
        movl    %eax,%gs:0x30           # Save the new stack boundary.
        movl    %eax,%gs:0x30           # Save the new stack boundary.
        movl    %ecx,%gs:0x30           # Save new stack boundary.
        movl    %eax,%gs:0x30
        movl    %gs:0x30,%eax
        movl    %eax,%gs:0x30
    
    Since update TARGET_THREAD_SPLIT_STACK_OFFSET changes split stack ABI,
    this patch updates tcbhead_t to match GCC.
    
        [BZ #23250]
        [BZ #10686]
        * sysdeps/i386/nptl/tls.h (tcbhead_t): Change __private_tm[4]
        to _private_tm[3] and add __glibc_reserved2.
        Add _Static_assert of offset of __private_ss == 0x30.
        * sysdeps/x86_64/nptl/tls.h: Add _Static_assert of offset of
        __private_ss == 0x40 for ILP32 and == 0x70 for LP64.

commit e826574c985a15a500262f2fbd21c7e9259d3d11
Author: Florian Weimer <address@hidden>
Date:   Tue Jun 12 15:00:33 2018 +0200

    x86: Make strncmp usable from rtld
    
    Due to the way the conditions were written, the rtld build of strncmp
    ended up with no definition of the strncmp symbol at all: The
    implementations were renamed for use within an IFUNC resolver, but the
    IFUNC resolver itself was missing (because rtld does not use IFUNCs).
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit c4ad5782c44f4fa23d3ca9bec1e288c24cf2e6df
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 30 12:31:12 2018 +0100

    gd_GB, hsb_DE, wa_BE: Add alternative month names (bug 23140).
    
    As a followup of fixing bug 10871, these three languages now support two
    grammatical cases of the month names.
    
    This commit does not resolve the bug because there are more languages
    to be committed.
    
        [BZ #23140]
        * localedata/locales/gd_GB (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).
        * localedata/locales/hsb_DE (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).
        * localedata/locales/wa_BE (mon): Rename to...
        (alt_mon): This.
        (mon): Add, fill with the proper genitive forms, but CLDR data
        is incomplete; completed according to the comments in this file.
        (d_t_fmt): Do not use "di" before the month name, no longer needed.
    
        * localedata/locales/wa_BE (country_name): Reword
        "Beljike" -> "Beldjike".

commit ca121b117f2c9c97a4c121334481a96c94fef3a0
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 11 16:33:42 2018 +0000

    Fix ldbl-96 fma (Inf, Inf, finite) (bug 23272).
    
    As reported in bug 23272, the ldbl-96 implementation of fma (fma for
    double, in terms of ldbl-96 as the internal arithmetic type, as used
    on 32-bit x86) is missing some of the special-case handling for
    non-finite arguments, resulting in incorrect NaN results when the
    first two arguments are infinities, the third is finite and so the
    infinities go through the logic for finite arguments.  This patch
    fixes it by handling all cases of non-finite arguments up front, with
    additional fma tests for the problem cases being added to the
    testsuite.
    
    Tested for x86_64 and x86.
    
        [BZ #23272]
        * sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Start by handling all
        cases of non-finite arguments.
        * math/libm-test-fma.inc (fma_test_data): Add more tests.

commit 2b69fecb9d0681a124662dfba89291ad473aa55f
Author: John David Anglin <address@hidden>
Date:   Sun Jun 10 13:57:32 2018 -0400

    The hppa-linux target still requires an executable stack for kernel
    syscall restarts and signal returns.  Thus, we need to xfail the
    check-execstack test.
    
            [BZ #23174]
            * sysdeps/unix/sysv/linux/hppa/Makefile: xfail check-execstack.

commit 283d98512272a12cb84e7798c23edbdf1adb287d
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jun 6 14:07:34 2018 -0300

    posix: Fix posix_spawnp to not execute invalid binaries in non compat mode 
(BZ#23264)
    
    Current posix_spawnp implementation wrongly tries to execute invalid
    binaries (for instance script without shebang) as a shell script in
    non compat mode.  It was a regression introduced by
    9ff72da471a509a8c19791efe469f47fa6977410 when __spawni started to use
    __execvpe instead of __execve (glibc __execvpe try to execute ENOEXEC
    as shell script regardless).
    
    This patch fixes it by using an internal symbol (__execvpex) with the
    faulty semantic (since compat mode is handled by spawni.c itself).
    
    It was reported by Daniel Drake on libc-help [1].
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        [BZ #23264]
        * include/unistd.h (__execvpex): New prototype.
        * posix/Makefile (tests): Add tst-spawn4.
        (tests-internal): Add tst-spawn4-compat.
        * posix/execvpe.c (__execvpe_common, __execvpex): New functions.
        * posix/tst-spawn4-compat.c: New file.
        * posix/tst-spawn4.c: Likewise.
        * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid
        binaries as shell scripts.
        * sysdeps/posix/spawni.c (__spawni): Likewise.
    
    [1] https://sourceware.org/ml/libc-help/2018-06/msg00012.html

commit 67c0579669ba1fc265d770252fab31babf887329
Author: H.J. Lu <address@hidden>
Date:   Fri Jun 8 10:28:38 2018 -0700

    Mark _init and _fini as hidden [BZ #23145]
    
    _init and _fini are special functions provided by glibc for linker to
    define DT_INIT and DT_FINI in executable and shared library.  They
    should never be put in dynamic symbol table.  This patch marks them as
    hidden to remove them from dynamic symbol table.
    
    Tested with build-many-glibcs.py.
    
        [BZ #23145]
        * elf/Makefile (tests-special): Add $(objpfx)check-initfini.out.
        ($(all-built-dso:=.dynsym): New target.
        (common-generated): Add $(all-built-dso:$(common-objpfx)%=%.dynsym).
        ($(objpfx)check-initfini.out): New target.
        (generated): Add check-initfini.out.
        * scripts/check-initfini.awk: New file.
        * sysdeps/aarch64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/alpha/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/arm/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/hppa/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/i386/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/ia64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/m68k/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/microblaze/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/mips/mips32/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/mips/mips64/n32/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/mips/mips64/n64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/nios2/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/powerpc/powerpc32/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/powerpc/powerpc64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/s390/s390-32/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/s390/s390-64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/sh/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/sparc/crti.S (_init): Mark as hidden.
        (_fini): Likewise.
        * sysdeps/x86_64/crti.S (_init): Mark as hidden.
        (_fini): Likewise.

commit 1c09524e4db3efd797ebcfcd8241bdb78f0b06f0
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Wed Jun 6 12:27:39 2018 -0300

    powerpc64le: Fix TFtype in sqrtf128 when using -mabi=ieeelongdouble
    
    When building with -mlong-double-128 or -mabi=ibmlongdouble, TFtype
    represents the IBM 128-bit extended floating point type, while KFtype
    represents the IEEE 128-bit floating point type.
    The soft float implementation of e_sqrtf128 had to redefine TFtype and
    TF in order to workaround this issue.  However, this behavior changes
    when -mabi=ieeelongdouble is used and the macros are not necessary.
    
        * sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c
        [__HAVE_FLOAT128_UNLIKE_LDBL] (TFtype, TF): Restrict TFtype
        and TF redirection to KFtype and KF only when the default
        long double type is not the IEEE 128-bit floating point type.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 0c1c33b2f5269cce6499ef8f8d1a291f2674a8fd
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 5 15:51:12 2018 +0000

    Add AArch64 hwcap values from Linux 4.17.
    
    Linux 4.17 adds four new AArch64 hwcap values.  This patch adds them
    to glibc's AArch64 bits/hwcap.h, with corresponding dl-procinfo.c
    updates.
    
    Tested with build-many-glibcs.py for aarch64.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DIT): New
        macro.
        (HWCAP_USCAT): Likewise.
        (HWCAP_ILRCPC): Likewise.
        (HWCAP_FLAGM): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT):
        Increase to 28.
        (_dl_aarch64_cap_flags): Add new flag names.

commit bef1cbf4da54aeb213e2542ccfdfebb22fb15820
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 5 11:04:46 2018 +0000

    Add MAP_FIXED_NOREPLACE from Linux 4.17 to bits/mman.h.
    
    Linux 4.17 adds MAP_FIXED_NOREPLACE (value 0x100000 on most
    architectures, 0x200000 on alpha).  This patch adds that macro to
    glibc's bits/mman.h headers.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): New macro.
        * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.
        * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC]
        (MAP_FIXED_NOREPLACE): Likewise.

commit 0e0577c93fcdd8922ca83763400f74ca10e46019
Author: Joseph Myers <address@hidden>
Date:   Tue Jun 5 11:03:22 2018 +0000

    Update kernel version in syscall-names.list to 4.17.
    
    As far as I can tell, Linux 4.17 does not add any new syscalls; this
    patch updates the version number in syscall-names.list to reflect that
    it's still current for 4.17.
    
    Tested for x86_64-linux-gnu with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
        version to 4.17.

commit ab3a0da0b59d4a2c5be70c8d17437c0bad1a6230
Author: Joseph Myers <address@hidden>
Date:   Mon Jun 4 17:11:11 2018 +0000

    Use Linux 4.17 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
        version to 4.17

commit d2d9dfb663f76f9b929252a88ad196c9fcacd1e1
Author: Samuel Thibault <address@hidden>
Date:   Sat Jun 2 21:52:43 2018 +0200

    hurd: Fix shmid_ds's shm_segsz field type
    
        * bits/shm.h (struct shmid_ds): Make shm_segsz field size_t instead of
        int.
        * sysdeps/gnu/bits/shm.h (struct shmid_ds): Likewise.

commit a650b05ebee8fb8d0df03396002e680b3a79918d
Author: Leonardo Sandoval <address@hidden>
Date:   Tue May 29 12:13:11 2018 -0500

    benchtests: Catch exceptions in input arguments
    
    Catch runtime exceptions in case the user provided: wrong base
    function, attribute(s) or input file. In any of the latter, quit
    immediately with non-zero return code.
    
        * benchtests/scripts/compare_string.py: (process_results) Catch
        exception in non-existent base_func and catch exception in
        non-existent attribute.
        (parse_file) Catch exception in non-existent input file.

commit 195abbf4cd635fcaaf60016da488768b6e9d7e85
Author: Leonardo Sandoval <address@hidden>
Date:   Wed May 23 11:23:14 2018 -0500

    benchtests: Add --no-diff and --no-header options
    
    Having a string comparison report with neither diff numbers nor header
    yields a more useful output to be consumed by other tools.
    
        * benchtests/scripts/compare_string.py: Add --no-diff and --no-header
        options to avoid diff calculation and omit header, respectively.
        (main): process --no-diff and --no-header

commit 1457016337072d1b6739f571846b619596990cb7
Author: Leonardo Sandoval <address@hidden>
Date:   Thu May 3 11:09:30 2018 -0500

    x86-64: Optimize strcmp/wcscmp and strncmp/wcsncmp with AVX2
    
    Optimize x86-64 strcmp/wcscmp and strncmp/wcsncmp with AVX2. It uses vector
    comparison as much as possible. Peak performance observed on a SkyLake
    machine: 9x, 3x, 2.5x and 5.5x for strcmp, strncmp, wcscmp and wcsncmp,
    respectively. The larger the comparison length, the more benefit using
    avx2 functions, except on the strcmp, where peak is observed at length
    == 32 bytes. Select AVX2 strcmp/wcscmp on AVX2 machines where vzeroupper
    is preferred and AVX unaligned load is fast.
    
    NB: It uses TZCNT instead of BSF since TZCNT produces the same result
    as BSF for non-zero input.  TZCNT is faster than BSF and is executed
    as BSF if machine doesn't support TZCNT.
    
        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcmp-avx2, strncmp-avx2, wcscmp-avx2, wcscmp-sse2, wcsncmp-avx2 and
        wcsncmp-sse2.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __strcmp_avx2,
        __strncmp_avx2, __wcscmp_avx2, __wcsncmp_avx2, __wcscmp_sse2
        and __wcsncmp_sse2.
        * sysdeps/x86_64/multiarch/strcmp.c (OPTIMIZE (avx2)):
        (IFUNC_SELECTOR): Return OPTIMIZE (avx2) on AVX 2 machines if
        AVX unaligned load is fast and vzeroupper is preferred.
        * sysdeps/x86_64/multiarch/strncmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-avx2.S: New file.
        * sysdeps/x86_64/multiarch/strncmp-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcscmp-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcscmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcscmp.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsncmp-avx2.S: Likewise.
        * sysdeps/x86_64/multiarch/wcsncmp-sse2.c: Likewise.
        * sysdeps/x86_64/multiarch/wcsncmp.c: Likewise.
        * sysdeps/x86_64/wcscmp.S (__wcscmp): Add alias only if __wcscmp
        is undefined.

commit e02c026f38505cd474ff1bdaa88fc671804f5805
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 1 22:37:55 2018 +0200

    math: Update i686 ulps (--disable-multi-arch configuration)
    
    The results are from configuring with --disable-multi-arch,  building
    with “-march=x86-64 -mtune=generic -mfpmath=sse” and running the
    testsuite on a Haswell-era CPU.

commit d8c19275617496628966c624cbc930ce2048ed09
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 1 19:31:45 2018 +0200

    math: Update i686 ulps
    
    The results are from building with “-march=x86-64 -mtune=generic
    -mfpmath=sse” and running the testsuite on a Haswell-era CPU.

commit 0d2163ebf2fbedda09fdebe33243441d89f68b05
Author: Joseph Myers <address@hidden>
Date:   Fri Jun 1 17:25:12 2018 +0000

    Make powerpc-nofpu __sqrtsf2, __sqrtdf2 compat symbols (bug 18473).
    
    powerpc-nofpu libc exports __sqrtsf2 and __sqrtdf2 symbols.  The
    export of these soft-fp symbols is a mistake; they aren't part of the
    libgcc interface and GCC will never generate code that calls them.
    This patch makes them into compat symbols (no code built for static
    libc), moving their sources from the generic soft-fp sources to
    sysdeps/powerpc/nofpu (the underlying soft-fp FP_SQRT functionality
    remains of use to implement actual sqrt public interfaces, such as
    sqrtl / sqrtf128 for which it is used on various platforms, but
    __sqrt[sdt]f2 are not such interfaces).
    
    Tested with build-many-glibcs.py for relevant platforms.
    
        [BZ #18473]
        * soft-fp/sqrttf2.c: Remove file.
        * soft-fp/sqrtdf2.c: Move to ....
        * sysdeps/powerpc/nofpu/sqrtdf2.c: ... here.  Include
        <shlib-compat.h>.
        (__sqrtdf2): Make conditional on
        [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)].  Define as compat
        symbol.
        * soft-fp/sqrtsf2.c: Move to ....
        * sysdeps/powerpc/nofpu/sqrtsf2.c: ... here.  Include
        <shlib-compat.h>.
        (__sqrtsf2): Make conditional on
        [SHLIB_COMPAT (libc, GLIBC_2_3_2, GLIBC_2_28)].  Define as compat
        symbol.
        * soft-fp/Makefile (gcc-single-routines): Remove sqrtsf2.
        (gcc-double-routines): Remove sqrtdf2.
        (gcc-quad-routines): Remove sqrttf2.
        * sysdeps/nios2/Makefile [$(subdir) = soft-fp] (sysdep_routines):
        Do not filter out sqrtsf2 and sqrtdf2.
        * sysdeps/powerpc/nofpu/Makefile [$(subdir) = soft-fp]
        (sysdep_routines): Add sqrtsf2 and sqrtdf2.

commit 104502102c6fa322515ba0bb3c95c05c3185da7a
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 1 11:25:41 2018 +0200

    Remove sysdeps/generic/libcidn.abilist
    
    This file was left behind by the libidn removal in commit
    7f9f1ecb710eac4d65bb02785ddf288cac098323.

commit 4e8a6346cd3da2d88bbad745a1769260d36f2783
Author: Florian Weimer <address@hidden>
Date:   Fri Jun 1 10:41:03 2018 +0200

    libio: Avoid _allocate_buffer, _free_buffer function pointers [BZ #23236]
    
    These unmangled function pointers reside on the heap and could
    be targeted by exploit writers, effectively bypassing libio vtable
    validation.  Instead, we ignore these pointers and always call
    malloc or free.
    
    In theory, this is a backwards-incompatible change, but using the
    global heap instead of the user-supplied callback functions should
    have little application impact.  (The old libstdc++ implementation
    exposed this functionality via a public, undocumented constructor
    in its strstreambuf class.)

commit 50d004c91c942221b862a4a13a4b5f78cfb0d595
Author: Paul Pluzhnikov <address@hidden>
Date:   Wed May 30 09:17:47 2018 -0700

    Update ulps with "make regen-ulps" on AMD Ryzen 7 1800X.
    
    2018-05-30  Paul Pluzhnikov  <address@hidden>
    
        * sysdeps/x86_64/fpu/libm-test-ulps (log_vlen8_avx2): Update for
        AMD Ryzen 7 1800X.

commit 2c93fce76a8e672abfdf7771c97be9ea49b7222b
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Wed May 30 21:31:27 2018 +0530

    powerpc: Add multiarch sqrtf128 for ppc64le
    
    This patch creates ifunc for sqrtf128() to make use of new xssqrtqp
    instruction for POWER9 when --enable-multi-arch and --with-cpu=power8
    options are used on power9 system.  This is achieved by explicitly
    adding -mcpu=power9 flag for sqrtf128-power9.

commit 0ce2fa6973810b2b99c85f446f79c505cfbf5652
Author: Florian Weimer <address@hidden>
Date:   Tue May 29 10:48:46 2018 +0200

    support: Add wrappers for pthread_barrierattr_t

commit 7f7b5d8ded77db90c1fbfeaaeb3d58b6db84da47
Author: H.J. Lu <address@hidden>
Date:   Tue May 29 06:33:42 2018 -0700

    static-PIE: Update DT_DEBUG for debugger [BZ #23206]
    
    This is needed to support debugging dlopened shared libraries in static
    PIE.
    
        [BZ #23206]
        * elf/dl-reloc-static-pie.c (_dl_relocate_static_pie): Initialize
        _r_debug and update DT_DEBUG for debugger.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit e48903000b248f6cdc78238b006b86b63fcdbf8c
Author: Florian Weimer <address@hidden>
Date:   Tue May 29 10:34:52 2018 +0200

    stdlib: Additional tests need generated locale dependencies
    
    Without these dependencies, the tests fail at high make parallelism
    levels if the locale data has not been generated for other reasons.

commit b5453d9f7a95545f3941ad439b4fb9af3585ab83
Author: Joseph Myers <address@hidden>
Date:   Fri May 25 20:00:51 2018 +0000

    Remove sysdeps/sparc/sparc64/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.  This patch eliminates the
    sysdeps/sparc/sparc64/soft-fp directory accordingly, merging its
    contents into sysdeps/sparc/sparc64.  This completes removing the
    unnecessary <arch>/soft-fp sysdeps directories.
    
    sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c is removed rather than moved.
    It was not in fact used previously - the ldbl-128 version of
    e_ilogbl.c was used instead - and moving it into sysdeps/sparc/sparc64
    results in it being used, but causing a build failure because of
    FP_DECL_EX declaring an unused variable (as I noted in
    <https://sourceware.org/ml/libc-alpha/2013-10/msg00457.html> that file
    doesn't appear to use FP_DECL_EX).  Given that the file was previously
    unused and so presumably not tested recently, removing it is the safe
    way to avoid this patch changing what actually gets built into glibc
    (if this file should turn out more efficient than the ldbl-128
    e_ilogbl.c, it can always be added back in future with the build
    failure fixed).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for sparc configurations are unchanged by this patch.
    
        * sysdeps/sparc/sparc64/Implies: Remove sparc/sparc64/soft-fp.
        * sysdeps/sparc/sparc64/Makefile [$(subdir) = soft-fp]
        (sparc64-quad-routines): New variable.  Moved from ....
        [$(subdir) = soft-fp] (sysdep_routines): Add
        $(sparc64-quad-routines).  Moved from ....
        [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp/.  Moved from ....
        * sysdeps/sparc/sparc64/soft-fp/Makefile: ... here.  Remove file.
        * sysdeps/sparc/sparc64/Versions (libc): Add GLIBC_2.2 symbols
        moved from ....
        * sysdeps/sparc/sparc64/soft-fp/Versions: ... here.  Remove file.
        * sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c: Remove file.
        * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Move to ....
        * sysdeps/sparc/sparc64/qp_add.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Move to ....
        * sysdeps/sparc/sparc64/qp_cmp.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Move to ....
        * sysdeps/sparc/sparc64/qp_cmpe.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_div.c: Move to ....
        * sysdeps/sparc/sparc64/qp_div.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_dtoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_feq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Move to ....
        * sysdeps/sparc/sparc64/qp_fge.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Move to ....
        * sysdeps/sparc/sparc64/qp_fgt.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Move to ....
        * sysdeps/sparc/sparc64/qp_fle.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Move to ....
        * sysdeps/sparc/sparc64/qp_flt.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Move to ....
        * sysdeps/sparc/sparc64/qp_fne.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_itoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Move to ....
        * sysdeps/sparc/sparc64/qp_mul.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_neg.S: Move to ....
        * sysdeps/sparc/sparc64/qp_neg.S: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtod.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtoi.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtos.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtoui.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtoux.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Move to ....
        * sysdeps/sparc/sparc64/qp_qtox.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Move to ....
        * sysdeps/sparc/sparc64/qp_sqrt.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_stoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Move to ....
        * sysdeps/sparc/sparc64/qp_sub.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_uitoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_util.c: Move to ....
        * sysdeps/sparc/sparc64/qp_util.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_uxtoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Move to ....
        * sysdeps/sparc/sparc64/qp_xtoq.c: ... here.
        * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/sparc/sparc64/sfp-machine.h: ... here.

commit 2c753f3e8406495862d9db1347ea61271c18ace1
Author: Joseph Myers <address@hidden>
Date:   Fri May 25 16:51:15 2018 +0000

    Remove sysdeps/sparc/sparc32/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.  This patch eliminates the
    sysdeps/sparc/sparc32/soft-fp directory accordingly, merging its
    contents into sysdeps/sparc/sparc32.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for sparc configurations are unchanged by this patch.
    
        * sysdeps/sparc/sparc32/Implies: Remove sparc/sparc32/soft-fp.
        * sysdeps/sparc/sparc32/Makefile [$(subdir) = soft-fp]
        (sparc32-quad-routines): New variable.  Moved from ....
        [$(subdir) = soft-fp] (sysdep_routines): Add
        $(sparc32-quad-routines).  Moved from ....
        * sysdeps/sparc/sparc32/soft-fp/Makefile: ... here.  Remove file.
        * sysdeps/sparc/sparc32/Versions (libc): Add GLIBC_2.4 symbols
        moved from ....
        * sysdeps/sparc/sparc32/soft-fp/Versions: ... here.  Remove file.
        * sysdeps/sparc/sparc32/soft-fp/q_add.c: Move to ....
        * sysdeps/sparc/sparc32/q_add.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_cmp.c: Move to ....
        * sysdeps/sparc/sparc32/q_cmp.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_cmpe.c: Move to ....
        * sysdeps/sparc/sparc32/q_cmpe.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_div.c: Move to ....
        * sysdeps/sparc/sparc32/q_div.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_dtoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_feq.c: Move to ....
        * sysdeps/sparc/sparc32/q_feq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_fge.c: Move to ....
        * sysdeps/sparc/sparc32/q_fge.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_fgt.c: Move to ....
        * sysdeps/sparc/sparc32/q_fgt.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_fle.c: Move to ....
        * sysdeps/sparc/sparc32/q_fle.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_flt.c: Move to ....
        * sysdeps/sparc/sparc32/q_flt.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_fne.c: Move to ....
        * sysdeps/sparc/sparc32/q_fne.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_itoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_lltoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_mul.c: Move to ....
        * sysdeps/sparc/sparc32/q_mul.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_neg.c: Move to ....
        * sysdeps/sparc/sparc32/q_neg.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtod.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtod.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtoi.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtoll.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtos.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtos.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtou.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: Move to ....
        * sysdeps/sparc/sparc32/q_qtoull.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_sqrt.c: Move to ....
        * sysdeps/sparc/sparc32/q_sqrt.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_stoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_stoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_sub.c: Move to ....
        * sysdeps/sparc/sparc32/q_sub.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_ulltoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_util.c: Move to ....
        * sysdeps/sparc/sparc32/q_util.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Move to ....
        * sysdeps/sparc/sparc32/q_utoq.c: ... here.
        * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/sparc/sparc32/sfp-machine.h: ... here.

commit c1dc1e1b34873db79dfbfa8f2f0a2abbe28c0514
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Thu May 24 18:20:40 2018 -0300

    powerpc: Move around math-related Implies
    
    Currently, powerpc, powerpc64, and powerpc64le imply the same set of
    subdirectories from sysdeps/ieee754: flt-32, dbl-64, ldbl-128ibm, and
    ldbl-opt.  In preparation for the transition of the long double format -
    from IBM Extended Precision to IEEE 754 128-bits floating-point - on
    powerpc64le, this patch splits the shared Implies file into three
    separate files (one for each of the powerpc architectures), without
    changing their contents.  Future patches will modify powerpc64le.
    
        * sysdeps/powerpc/Implies: Removed.  Previous contents copied to...
        * sysdeps/powerpc/powerpc32/Implies-after: ... here.
        * sysdeps/powerpc/powerpc64/be/Implies-after: ... here.
        * sysdeps/powerpc/powerpc64/le/Implies-before: ... and here.

commit 14186e8d1f3ee91f7b685a4e011607ce990d5649
Author: Joseph Myers <address@hidden>
Date:   Thu May 24 22:02:32 2018 +0000

    Remove sysdeps/powerpc/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.
    
    sysdeps/powerpc/soft-fp isn't quite such a case, as the Implies files
    pointing to it are
    sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies and
    sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies (and
    indeed there is a different sfp-machine.h used for powerpc64le).
    However, the same principle applies: there is no need for this
    directory because sfp-machine.h, the only file in it, can most
    naturally go in sysdeps/powerpc/nofpu, which is used by exactly the
    same configurations (and there is a close dependence between the files
    there and the sfp-machine.h implementation).  This patch eliminates
    the sysdeps/powerpc/soft-fp directory accordingly.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for powerpc configurations are unchanged by this patch.
    
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies: Remove
        powerpc/soft-fp.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies:
        Likewise.
        * sysdeps/powerpc/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/powerpc/nofpu/sfp-machine.h: ... here.

commit fb0e10b8eb1ebb68c57d4551f7a95118f3c54837
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon May 14 09:04:28 2018 -0300

    Fix parameter type in C++ version of iseqsig (bug 23171)
    
    The commit
    
      commit c85e54ac6cef0faed7b7ffc722f52523dec59bf5
      Author: Gabriel F. T. Gomes <address@hidden>
      Date:   Fri Nov 3 10:44:36 2017 -0200
    
          Provide a C++ version of iseqsig (bug 22377)
    
    mistakenly used double parameters in the long double version of iseqsig,
    thus causing spurious conversions to double, as reported on bug 23171.
    
    Tested for powerpc64le and x86_64.

commit 43d4f3d5ad94e1fa5e56d7a7200d0e9f3d8e2f02
Author: Florian Weimer <address@hidden>
Date:   Thu May 24 12:19:11 2018 +0200

    Add references to CVE-2017-18269, CVE-2018-11236, CVE-2018-11237

commit 1dfeb17e67a194b48c78c09b1b4f788ab0bec938
Author: Joseph Myers <address@hidden>
Date:   Wed May 23 20:05:31 2018 +0000

    Remove sysdeps/sh/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.  This patch eliminates the sysdeps/sh/soft-fp
    directory accordingly, merging its contents into sysdeps/sh.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for sh configurations are unchanged by this patch.
    
        * sysdeps/sh/Implies: Remove sh/soft-fp.
        * sysdeps/sh/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/sh/sfp-machine.h: ... here.

commit 727b38df054b26d7410c275930f72135061ab9e1
Author: H.J. Lu <address@hidden>
Date:   Wed May 23 11:25:20 2018 -0700

    x86-64: Skip zero length in __mem[pcpy|move|set]_erms
    
    This patch skips zero length in __mempcpy_erms, __memmove_erms and
    __memset_erms.
    
    Tested on x86-64.
    
        * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
        (__mempcpy_erms): Skip zero length.
        (__memmove_erms): Likewise.
        * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
        (__memset_erms): Likewise.

commit 2834fb46109a8a7c9161eb8d0d9ddc707a717144
Author: Joseph Myers <address@hidden>
Date:   Wed May 23 17:29:20 2018 +0000

    Remove sysdeps/alpha/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.  This patch eliminates the
    sysdeps/alpha/soft-fp directory accordingly, merging its contents
    into sysdeps/alpha.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for alpha-linux-gnu are unchanged by this patch.
    
        * sysdeps/alpha/Implies: Remove alpha/soft-fp.
        * sysdeps/alpha/Makefile [$(subdir) = soft-fp] (sysdep_routines):
        Add functions moved from ....
        [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp.  Moved from ....
        * sysdeps/alpha/soft-fp/Makefile: ... here.  Remove file.
        * sysdeps/alpha/Versions (libc): Add GLIBC_2.3.4 symbols moved
        from ....
        * sysdeps/alpha/soft-fp/Versions: ... here.  Remove file.
        * sysdeps/alpha/soft-fp/e_sqrtl.c: Move to ....
        * sysdeps/alpha/e_sqrtl.c: ... here.
        * sysdeps/alpha/soft-fp/local-soft-fp.h: Move to ....
        * sysdeps/alpha/local-soft-fp.h: ... here.
        * sysdeps/alpha/soft-fp/ots_add.c: Move to ....
        * sysdeps/alpha/ots_add.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cmp.c: Move to ....
        * sysdeps/alpha/ots_cmp.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cmpe.c: Move to ....
        * sysdeps/alpha/ots_cmpe.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cvtqux.c: Move to ....
        * sysdeps/alpha/ots_cvtqux.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cvtqx.c: Move to ....
        * sysdeps/alpha/ots_cvtqx.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cvttx.c: Move to ....
        * sysdeps/alpha/ots_cvttx.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cvtxq.c: Move to ....
        * sysdeps/alpha/ots_cvtxq.c: ... here.
        * sysdeps/alpha/soft-fp/ots_cvtxt.c: Move to ....
        * sysdeps/alpha/ots_cvtxt.c: ... here.
        * sysdeps/alpha/soft-fp/ots_div.c: Move to ....
        * sysdeps/alpha/ots_div.c: ... here.
        * sysdeps/alpha/soft-fp/ots_mul.c: Move to ....
        * sysdeps/alpha/ots_mul.c: ... here.
        * sysdeps/alpha/soft-fp/ots_nintxq.c: Move to ....
        * sysdeps/alpha/ots_nintxq.c: ... here.
        * sysdeps/alpha/soft-fp/ots_sub.c: Move to ....
        * sysdeps/alpha/ots_sub.c: ... here.
        * sysdeps/alpha/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/alpha/sfp-machine.h: ... here.

commit 7f9f1ecb710eac4d65bb02785ddf288cac098323
Author: Florian Weimer <address@hidden>
Date:   Wed May 23 15:26:19 2018 +0200

    Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247]
    
    This provides an implementation of the IDNA2008 standard and fixes
    CVE-2016-6261, CVE-2016-6263, CVE-2017-14062.

commit 5f7b841d3aebdccc2baed27cb4b22ddb08cd7c0c
Author: Florian Weimer <address@hidden>
Date:   Wed May 23 14:16:18 2018 +0200

    Implement allocate_once for atomic initialization with allocation

commit ed983107bbc62245b06b99f02e69acf36a0baa3e
Author: H.J. Lu <address@hidden>
Date:   Wed May 23 03:59:56 2018 -0700

    Add a test case for [BZ #23196]
    
        [BZ #23196]
        * string/test-memcpy.c (do_test1): New function.
        (test_main): Call it.

commit 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e
Author: Andreas Schwab <address@hidden>
Date:   Tue May 22 10:37:59 2018 +0200

    Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196)
    
    When compiled as mempcpy, the return value is the end of the destination
    buffer, thus it cannot be used to refer to the start of it.

commit 8f145c77123a565b816f918969e0e35ee5b89153
Author: Joseph Myers <address@hidden>
Date:   Tue May 22 17:23:34 2018 +0000

    Remove sysdeps/aarch64/soft-fp directory.
    
    As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>,
    there should not be separate sysdeps/<arch>/soft-fp directories when
    those are used by all configurations that use sysdeps/<arch>, and,
    more generally, should not be sysdeps/foo/Implies files pointing to a
    subdirectory foo/bar.  This patch eliminates the
    sysdeps/aarch64/soft-fp directory accordingly, merging its contents
    into sysdeps/aarch64.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for aarch64 configurations are unchanged by this patch.
    
        * sysdeps/aarch64/Implies: Remove aarch64/soft-fp.
        * sysdeps/aarch64/Makefile [$(subdir) = math] (CPPFLAGS): Add
        -I../soft-fp.  Moved from ....
        * sysdeps/aarch64/soft-fp/Makefile: ... here.  Remove file.
        * sysdeps/aarch64/soft-fp/e_sqrtl.c: Move to ....
        * sysdeps/aarch64/e_sqrtl.c: ... here.
        * sysdeps/aarch64/soft-fp/sfp-machine.h: Move to ....
        * sysdeps/aarch64/sfp-machine.h: ... here.

commit 3d6302a5467035077ecfe02cdb73d3d467a9e004
Author: Joseph Myers <address@hidden>
Date:   Tue May 22 16:55:04 2018 +0000

    Fix i686-linux-gnu build with GCC mainline.
    
    Building with recent GCC mainline for i686-linux-gnu is failing with:
    
    ../sysdeps/ieee754/flt-32/k_rem_pio2f.c: In function '__kernel_rem_pio2f':
    ../sysdeps/ieee754/flt-32/k_rem_pio2f.c:186:28: error: 'fq[0]' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
       fv = math_narrow_eval (fq[0]-fv);
                                ^
    
    and
    
    ../sysdeps/ieee754/dbl-64/k_rem_pio2.c: In function '__kernel_rem_pio2':
    ../sysdeps/ieee754/dbl-64/k_rem_pio2.c:333:32: error: 'fq[0]' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
           fv = math_narrow_eval (fq[0] - fv);
                                    ^
    
    These are similar to -Warray-bounds cases for which the DIAG_* macros
    are already used in those files: the array element is in fact always
    initialized, but the reasoning that it is depends on another array not
    having been all zero at an earlier point, which depends on the
    functions not being called with zero arguments.  Thus, this patch uses
    DIAG_* to disable -Wmaybe-uninitialized for this code.
    
    (The warning may be i686-specific because of math_narrow_eval somehow
    perturbing what the compiler does with this code enough to cause the
    warning.  I don't know why it doesn't appear for i686-gnu.)
    
    Tested with build-many-glibcs.py that this fixes the i686 build in
    this configuration.
    
        * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): Ignore
        -Wmaybe-uninitialized around access to fq[0].
        * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f):
        Likewise.

commit 5c5c0dd747070db624c8e2c43691cec854f114ef
Author: Joseph Myers <address@hidden>
Date:   Tue May 22 15:44:01 2018 +0000

    Make llseek a compat symbol (bug 18471).
    
    The llseek function name is an obsolete, Linux-specific, unprototyped
    name for lseek64 with a link-time warning.  This patch completes the
    obsoletion of this function name by making it into a compat symbol,
    not available for newly linked programs and not included in the ABI
    for new ports.
    
    When a compat symbol is defined in syscalls.list, the code for that
    function is not built at all for static linking unless some non-compat
    symbol for that function is also defined with an explicit symbol
    version, so an explicit symbol version for lseek64 is added to the
    MIPS n32 syscalls.list.  The case in make-syscalls.sh that handles
    such explicit non-compat symbol versions then needs to be changed to
    use weak_alias instead of strong_alias when the syscall is built
    outside of libc, to avoid linknamespace failures from a strong lseek64
    symbol in static libpthread.
    
    The x32 llseek.S was as far as I could tell already unused (nothing
    builds an llseek.* source file, at least since the lseek / lseek64 /
    llseek consolidation), so is removed in this patch as well.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        [BZ #18471]
        * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Use weak
        aliases for non-libc case of versioned symbols.
        * sysdeps/unix/sysv/linux/lseek64.c: Include <shlib-compat.h>.
        (llseek): Define as compat symbol if
        [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_28)], not as weak alias
        with link warning.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (llseek):
        Make into a compat symbol, disabled for minimum symbol version
        GLIBC_2.28 and later.
        * sysdeps/unix/sysv/linux/x86_64/x32/llseek.S: Remove file.

commit ed0d698870720752986f855a2b3da50e3c89bad5
Author: Florian Weimer <address@hidden>
Date:   Tue May 22 14:44:14 2018 +0200

    i386: Drop -mpreferred-stack-boundary=4
    
    The flag was a left-over from when the -mpreferred-stack-boundary=2 flag
    was removed in commit db290cf59207aff09d1794e666e2854a93775f32.

commit e28e9b1ec40d5b545d980b0a36cbe41f3d1dbf6a
Author: H.J. Lu <address@hidden>
Date:   Mon May 21 16:54:46 2018 -0700

    x86-64: Check Prefer_FSRM in ifunc-memmove.h
    
    Although the REP MOVSB implementations of memmove, memcpy and mempcpy
    aren't used by the current processors, this patch adds Prefer_FSRM
    check in ifunc-memmove.h so that they can be used in the future.
    
        * sysdeps/x86/cpu-features.h (bit_arch_Prefer_FSRM): New.
        (index_arch_Prefer_FSRM): Likewise.
        * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
        Also check Prefer_FSRM.
        * sysdeps/x86_64/multiarch/ifunc-memmove.h (IFUNC_SELECTOR):
        Also return OPTIMIZE (erms) for Prefer_FSRM.

commit 1af30adcd59fae929371d3a56b239861b1088a6e
Author: H.J. Lu <address@hidden>
Date:   Mon May 21 10:54:20 2018 -0700

    Initial Fast Short REP MOVSB (FSRM) support
    
    The newer Intel processors support Fast Short REP MOVSB which has a
    feature bit in CPUID.  This patch adds the Fast Short REP MOVSB (FSRM)
    bit to x86 cpu-features.
    
        * sysdeps/x86/cpu-features.h (bit_cpu_FSRM): New.
        (index_cpu_FSRM): Likewise.
        (reg_FSRM): Likewise.

commit 7c67e6e8b9815d18f548f9c54444adaef17c0a6e
Author: Joseph Myers <address@hidden>
Date:   Fri May 18 17:30:18 2018 +0000

    Split test-tgmath3 by function.
    
    It has been noted that test-tgmath3 is slow to compile, and to link on
    some systems
    <https://sourceware.org/ml/libc-alpha/2018-02/msg00477.html>, because
    of the size of the test.
    
    I'm working on tgmath.h support for the TS 18661-1 / 18661-3 functions
    that round their results to a narrower type.  For the functions
    already present in glibc, this wouldn't make test-tgmath3 much bigger,
    because those functions only have two arguments.  For the narrowing
    versions of fma (for which I've not yet added the functions to glibc),
    however, it would result in many configurations building tests of the
    type-generic macros f32fma, f64fma, f32xfma, f64xfma, each with 21
    possible types for each of three arguments (float, double, long double
    aren't valid argument types for these macros when they return a
    _FloatN / _FloatNx type), so substantially increasing the size of the
    testcase.
    
    To avoid further increasing the size of a single test when adding the
    type-generic narrowing fma macros, this patch arranges for the
    test-tgmath3 tests to be run separately for each function tested.  The
    fma tests are still by far the largest (next is pow, as that has two
    arguments that can be real or complex; after that, the two-argument
    real-only functions), but each type-generic fma macro for a different
    return type would end up with its tests being run separately, rather
    than increasing the size of a single test.
    
    To avoid accidentally missing testing a macro because
    gen-tgmath-tests.py supports testing it but the makefile fails to call
    it for that function, a test is also added that verifies that the
    lists of macros in the makefile and gen-tgmath-tests.py agree.
    
    Tested for x86_64.
    
        * math/gen-tgmath-tests.py: Import sys.
        (Tests.__init__): Initialize macros_seen.
        (Tests.add_tests): Add macro to macros_seen.  Only generate tests
        if requested to do so for this macro.
        (Tests.add_all_tests): Take argument for macro for which to
        generate tests.
        (Tests.check_macro_list): New function.
        (main): Handle check-list argument and argument specifying macro
        for which to generate tests.
        * math/Makefile [PYTHON] (tgmath3-macros): New variable.
        [PYTHON] (tgmath3-macro-tests): Likewise.
        [PYTHON] (tests): Add $(tgmath3-macro-tests) not test-tgmath3.
        [PYTHON] (generated): Add $(addsuffix .c,$(tgmath3-macro-tests))
        not test-tgmath3.c.
        [PYTHON] (CFLAGS-test-tgmath3.c): Remove.
        [PYTHON] ($(tgmath3-macro-tests:%=$(objpfx)%.o): Add -fno-builtin
        to CFLAGS.
        [PYTHON] ($(objpfx)test-tgmath3.c): Replace rule by....
        [PYTHON] ($(foreach
        m,$(tgmath3-macros),$(objpfx)test-tgmath3-$(m).c): ... this.  New
        rule.
        [PYTHON] (tests-special): Add
        $(objpfx)test-tgmath3-macro-list.out.
        [PYTHON] ($(objpfx)test-tgmath3-macro-list.out): New rule.

commit ebc129fd17e8110eb76fb5ebdbb2dc395507ceeb
Author: Joseph Myers <address@hidden>
Date:   Fri May 18 16:50:44 2018 +0000

    Obsolete nfsservctl.
    
    The Linux nfsservctl syscall was removed in Linux 3.1.  Since the
    minimum kernel version for use with glibc is 3.2, the glibc wrapper
    for this syscall can no longer usefully be called.  This patch makes
    it into a compat symbol, not provided at all for static linking or new
    ports.  (It was already the case that there was no header declaration
    of this function.)
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/syscalls.list (nfsservctl): Make into a
        compat symbol, disabled for minimum symbol version GLIBC_2.28 and
        later.

commit 78274dc8ceb21bb7efd8baef29e1f00031b9c1c6
Author: Joseph Myers <address@hidden>
Date:   Fri May 18 11:57:15 2018 +0000

    Fix year 2039 bug for localtime with 64-bit time_t (bug 22639).
    
    Bug 22639 reports localtime failing to handle time offset transitions
    correctly in 2039 and later on platforms with 64-bit time_t.
    
    The problem is the use of SECSPERDAY (constant 86400) in calculations
    such as
    
        t = ((year - 1970) * 365
         + /* Compute the number of leapdays between 1970 and YEAR
              (exclusive).  There is a leapday every 4th year ...  */
         + ((year - 1) / 4 - 1970 / 4)
         /* ... except every 100th year ... */
         - ((year - 1) / 100 - 1970 / 100)
         /* ... but still every 400th year.  */
         + ((year - 1) / 400 - 1970 / 400)) * SECSPERDAY;
    
    where t is of type time_t and year is of type int.  Before my commit
    92bd70fb85bce57ac47ba5d8af008736832c955a (an update from tzcode,
    included in 2.26 and later releases), SECSPERDAY was obtained from a
    file imported from tzcode, where the value included a cast to
    int_fast32_t.  On 64-bit platforms, glibc defines int_fast32_t to be
    long int, so 64-bit, but my patch resulted in it changing to int.
    (The bug would probably have existed even before my patch for x32,
    which has 64-bit time_t but 32-bit int_fast32_t, but I haven't
    verified that.)
    
    This patch fixes the problem by including a cast to time_t in the
    definition of SECSPERDAY.  (64-bit time support for 32-bit systems
    should move such code that isn't a public interface to using the
    internal 64-bit version of time_t throughout.)
    
    Tested for x86_64 and x86.
    
        [BZ #22639]
        * time/tzset.c (SECSPERDAY): Cast to time_t.
        * time/tst-y2039.c: New file.
        * time/Makefile (tests): Add tst-y2039.

commit 6f7fdeeb69776d0d2f67fb26f92ad2807445ca5e
Author: Leonardo Sandoval <address@hidden>
Date:   Thu May 17 10:11:45 2018 -0500

    Add missing changelog from previous commit

commit e4ebc1380d03c64eba9089dc8adef2c0af03a9e1
Author: Leonardo Sandoval <address@hidden>
Date:   Tue May 15 11:56:03 2018 -0500

    x86-64: remove duplicate line on PREFETCH_ONE_SET macro
    
    Tested on 64-bit AVX machine
    
           * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
           (PREFETCH_ONE_SET): Remove duplicate line

commit e363a91c21881be548bc40290e837aa202c1341f
Author: Florian Weimer <address@hidden>
Date:   Thu May 17 14:53:19 2018 +0200

    math: Reverse include order in <math-type-macros-*.h>
    
    _Float128 is defined for certain compilers indirectly from
    <libm-alias-double.h>, and <ieee754_float128.h> (included from
    <math-nan-payload-float128.h>) needs this definition.

commit dae6c43c33ed2d29d6d7089958ad707759a48517
Author: Andreas Schwab <address@hidden>
Date:   Thu May 17 13:04:46 2018 +0200

    Remove unneeded setting of errno after malloc failure
    
    The errno value has alread been set by malloc.

commit 0068c08588389c4586f0481455bb2af9b44cee4e
Author: H.J. Lu <address@hidden>
Date:   Thu May 17 04:24:24 2018 -0700

    nptl: Remove __ASSUME_PRIVATE_FUTEX
    
    Since __ASSUME_PRIVATE_FUTEX is always defined, this patch removes the
    !__ASSUME_PRIVATE_FUTEX paths.
    
    Tested with build-many-glibcs.py.
    
        * nptl/allocatestack.c (allocate_stack): Remove the
        !__ASSUME_PRIVATE_FUTEX paths.
        * nptl/descr.h (header): Remove the !__ASSUME_PRIVATE_FUTEX path.
        * nptl/nptl-init.c (__pthread_initialize_minimal_internal):
        Likewise.
        * sysdeps/i386/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Removed.
        * sysdeps/powerpc/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise.
        * sysdeps/sh/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise.
        * sysdeps/x86_64/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise.
        * sysdeps/i386/nptl/tls.h: (tcbhead_t): Remve the
        !__ASSUME_PRIVATE_FUTEX path.
        * sysdeps/s390/nptl/tls.h (tcbhead_t): Likewise.
        * sysdeps/sparc/nptl/tls.h (tcbhead_t): Likewise.
        * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise.
        * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Remove the
        !__ASSUME_PRIVATE_FUTEX macros.
        * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
        * sysdeps/unix/sysv/linux/kernel-features.h
        (__ASSUME_PRIVATE_FUTEX): Removed.

commit 632a6cbe44cdd41dba7242887992cdca7b42922a
Author: Joseph Myers <address@hidden>
Date:   Thu May 17 00:40:52 2018 +0000

    Add narrowing divide functions.
    
    This patch adds the narrowing divide functions from TS 18661-1 to
    glibc's libm: fdiv, fdivl, ddivl, f32divf64, f32divf32x, f32xdivf64
    for all configurations; f32divf64x, f32divf128, f64divf64x,
    f64divf128, f32xdivf64x, f32xdivf128, f64xdivf128 for configurations
    with _Float64x and _Float128; __nldbl_ddivl for ldbl-opt.
    
    The changes are mostly essentially the same as for the other narrowing
    functions, so the description of those generally applies to this patch
    as well.
    
    Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft
    float) and powerpc, and with build-many-glibcs.py.
    
        * math/Makefile (libm-narrow-fns): Add div.
        (libm-test-funcs-narrow): Likewise.
        * math/Versions (GLIBC_2.28): Add narrowing divide functions.
        * math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW.
        * math/gen-auto-libm-tests.c (test_functions): Add div.
        * math/math-narrow.h (CHECK_NARROW_DIV): New macro.
        (NARROW_DIV_ROUND_TO_ODD): Likewise.
        (NARROW_DIV_TRIVIAL): Likewise.
        * sysdeps/ieee754/float128/float128_private.h (__fdivl): New
        macro.
        (__ddivl): Likewise.
        * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and
        ddiv.
        (CFLAGS-nldbl-ddiv.c): New variable.
        (CFLAGS-nldbl-fdiv.c): Likewise.
        * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
        __nldbl_ddivl.
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New
        prototype.
        * manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl,
        ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx.
        * math/auto-libm-test-in: Add tests of div.
        * math/auto-libm-test-out-narrow-div: New generated file.
        * math/libm-test-narrow-div.inc: New file.
        * sysdeps/i386/fpu/s_f32xdivf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise.
        * sysdeps/ieee754/float128/s_f32divf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64divf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise.
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.
        * sysdeps/mach/hurd/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: 
Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit 8c78faa9ef5c6cae455739f162e4b9d690e32eca
Author: Adhemerval Zanella <address@hidden>
Date:   Wed May 16 10:51:15 2018 -0300

    Fix concurrent changes on nscd aware files (BZ #23178)
    
    As indicated by BZ#23178, concurrent access on some files read by nscd
    may result non expected data send through service requisition.  This is
    due 'sendfile' Linux implementation where for sockets with zero-copy
    support, callers must ensure the transferred portions of the the file
    reffered by input file descriptor remain unmodified until the reader
    on the other end of socket has consumed the transferred data.
    
    I could not find any explicit documentation stating this behaviour on
    Linux kernel documentation.  However man-pages sendfile entry [1] states
    in NOTES the aforementioned remark.  It was initially pushed on man-pages
    with an explicit testcase [2] that shows changing the file used in
    'sendfile' call prior the socket input data consumption results in
    previous data being lost.
    
    From commit message it stated on tested Linux version (3.15) only TCP
    socket showed this issues, however on recent kernels (4.4) I noticed the
    same behaviour for local sockets as well.
    
    Since sendfile on HURD is a read/write operation and the underlying
    issue on Linux, the straightforward fix is just remove sendfile use
    altogether.  I am really skeptical it is hitting some hotstop (there
    are indication over internet that sendfile is helpfull only for large
    files, more than 10kb) here to justify that extra code complexity or
    to pursuit other possible fix (through memory or file locks for
    instance, which I am not sure it is doable).
    
    Checked on x86_64-linux-gnu.
    
        [BZ #23178]
        * nscd/nscd-client.h (sendfileall): Remove prototype.
        * nscd/connections.c [HAVE_SENDFILE] (sendfileall): Remove function.
        (handle_request): Use writeall instead of sendfileall.
        * nscd/aicache.c (addhstaiX): Likewise.
        * nscd/grpcache.c (cache_addgr): Likewise.
        * nscd/hstcache.c (cache_addhst): Likewise.
        * nscd/initgrcache.c (addinitgroupsX): Likewise.
        * nscd/netgroupcache.c (addgetnetgrentX, addinnetgrX): Likewise.
        * nscd/pwdcache.c (cache_addpw): Likewise.
        * nscd/servicescache.c (cache_addserv): Likewise.
        * sysdeps/unix/sysv/linux/Makefile [$(subdir) == nscd]
        (sysdep-CFLAGS): Remove -DHAVE_SENDFILE.
        * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SENDFILE):
        Remove define.
    
    [1] http://man7.org/linux/man-pages/man2/sendfile.2.html
    [2] 
https://github.com/mkerrisk/man-pages/commit/7b6a3299776b5c1c4f169a591434a855d50c68b4#diff-efd6af3a70f0f07c578e85b51e83b3c3

commit 04958880e04264da97873b4d41d9bc34567afaef
Author: H.J. Lu <address@hidden>
Date:   Wed May 16 09:03:45 2018 -0700

    x86-64: Use IFUNC strncat inside libc.so
    
    Unlike i386, we can call hidden IFUNC functions inside libc.so since
    x86-64 PLT is always PIC.
    
    Tested on x86-64.
    
        * sysdeps/x86_64/multiarch/strncat-c.c (STRNCAT_PRIMARY): Removed.
        Include <string/strncat.c>.
        * sysdeps/x86_64/multiarch/strncat.c (__strncat): New strong
        alias.
        (__GI___strncat): New hidden alias.

commit c9992d13c4160edd5449ee6c8f407663f2ac6dbd
Author: Joseph Myers <address@hidden>
Date:   Wed May 16 15:35:26 2018 +0000

    Update MIPS libm-test-ulps.
    
        * sysdeps/mips/mips32/libm-test-ulps: Update.
        * sysdeps/mips/mips64/libm-test-ulps: Likewise.

commit 2afece36f6006844e87d7cb2fcb1ad8b220b2623
Author: Florian Weimer <address@hidden>
Date:   Wed May 16 17:00:35 2018 +0200

    support: Add TEST_COMPARE_BLOB, support_quote_blob
    
    The declaration of support_test_compare_blob uses unsigned long int,
    to avoid including <stddef.h>.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 9761bf4dfae04016bccaa82414719523b090dd60
Author: Florian Weimer <address@hidden>
Date:   Wed May 16 06:03:08 2018 +0200

    math: Merge strtod_nan_*.h into math-type-macros-*.h
    
    This change will eventually make it possible to compile
    stdlib/strtod_nan_main.c as part of math/s_nan_template.c.

commit 69a01461ee1417578d2ba20aac935828b50f1118
Author: Joseph Myers <address@hidden>
Date:   Wed May 16 00:05:28 2018 +0000

    Add narrowing multiply functions.
    
    This patch adds the narrowing multiply functions from TS 18661-1 to
    glibc's libm: fmul, fmull, dmull, f32mulf64, f32mulf32x, f32xmulf64
    for all configurations; f32mulf64x, f32mulf128, f64mulf64x,
    f64mulf128, f32xmulf64x, f32xmulf128, f64xmulf128 for configurations
    with _Float64x and _Float128; __nldbl_dmull for ldbl-opt.
    
    The changes are mostly essentially the same as for the narrowing add
    functions, so the description of those generally applies to this patch
    as well.  f32xmulf64 for i386 cannot use precision control as used for
    add and subtract, because that would result in double rounding for
    subnormal results, so that uses round-to-odd with long double
    intermediate result instead.  The soft-fp support involves adding a
    new FP_TRUNC_COOKED since soft-fp multiplication uses cooked inputs
    and outputs.
    
    Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft
    float) and powerpc, and with build-many-glibcs.py.
    
        * math/Makefile (libm-narrow-fns): Add mul.
        (libm-test-funcs-narrow): Likewise.
        * math/Versions (GLIBC_2.28): Add narrowing multiply functions.
        * math/bits/mathcalls-narrow.h (mul): Use __MATHCALL_NARROW.
        * math/gen-auto-libm-tests.c (test_functions): Add mul.
        * math/math-narrow.h (CHECK_NARROW_MUL): New macro.
        (NARROW_MUL_ROUND_TO_ODD): Likewise.
        (NARROW_MUL_TRIVIAL): Likewise.
        * soft-fp/op-common.h (FP_TRUNC_COOKED): Likewise.
        * sysdeps/ieee754/float128/float128_private.h (__fmull): New
        macro.
        (__dmull): Likewise.
        * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fmul and
        dmul.
        (CFLAGS-nldbl-dmul.c): New variable.
        (CFLAGS-nldbl-fmul.c): Likewise.
        * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
        __nldbl_dmull.
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dmull): New
        prototype.
        * manual/arith.texi (Misc FP Arithmetic): Document fmul, fmull,
        dmull, fMmulfN, fMmulfNx, fMxmulfN and fMxmulfNx.
        * math/auto-libm-test-in: Add tests of mul.
        * math/auto-libm-test-out-narrow-mul: New generated file.
        * math/libm-test-narrow-mul.inc: New file.
        * sysdeps/i386/fpu/s_f32xmulf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_f32xmulf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fmul.c: Likewise.
        * sysdeps/ieee754/float128/s_f32mulf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64mulf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64xmulf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_dmull.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_f64xmulf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_fmull.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_dmull.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fmull.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_dmull.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_fmull.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-dmul.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-fmul.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fmul.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise.
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.
        * sysdeps/mach/hurd/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: 
Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit a15529fda8d132621328c3fe32997a3d9c55aef4
Author: H.J. Lu <address@hidden>
Date:   Mon May 14 09:23:55 2018 -0700

    i386: Replace address@hidden with *%eax in call
    
    Since we have loaded address of PREINIT_FUNCTION into %eax, we can
    avoid extra branch to PLT slot.
    
        * sysdeps/i386/crti.S (_init): Replace address@hidden
        with *%eax in call.
    
    Acked-by: Christian Brauner (Ubuntu) <address@hidden>

commit 98ee36c7a44e140e2a85a2c4306e06176fb9e395
Author: H.J. Lu <address@hidden>
Date:   Mon May 14 09:19:12 2018 -0700

    x86: Add sysdeps/x86/ldsodefs.h
    
    Merge sysdeps/i386/ldsodefs.h and sysdeps/x86_64/ldsodefs.h into
    sysdeps/x86/ldsodefs.h.
    
    Tested on i686 and x86-64.
    
        * sysdeps/i386/ldsodefs.h: Removed.
        * sysdeps/x86_64/ldsodefs.h: Moved to ...
        * sysdeps/x86/ldsodefs.h: This.
        (La_i86_regs): New.
        (La_i86_retval): Likewise.
        (ARCH_PLTENTER_MEMBERS): Add i86_gnu_pltenter.
        (ARCH_PLTEXIT_MEMBERS): i86_gnu_pltexit.
    
    Acked-by: Christian Brauner (Ubuntu) address@hidden

commit e322ec3282648e9f05265d4636719ded754a1c3c
Author: H.J. Lu <address@hidden>
Date:   Mon May 14 03:41:22 2018 -0700

    x86-64: Remove the unnecessary testl in strlen-avx2.S
    
    Since the result of testl is never used, this patch removes it.
    
    Tested on 64-bit AVX2 machine.
    
        * sysdeps/x86_64/multiarch/strlen-avx2.S (STRLEN): Remove the
        unnecessary testl.

commit 0937e209a7080d52cf7e5a6605532ea081a542ff
Author: Alan Modra <address@hidden>
Date:   Sat Apr 21 12:41:29 2018 +0930

    R_PARISC_TLS_DTPOFF32 reloc handling
    
        * sysdeps/hppa/dl-machine.h (elf_machine_rela): Add
        R_PARISC_TLS_DTPOFF32 reloc addend.

commit 5db7d705db472f47a349fe342a8d7150ec922786
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri May 11 18:05:03 2018 -0300

    powerpc: Fix the compiler type used with C++ when -mabi=ieeelongdouble
    
    When compiling C++ code with -mabi=ieeelongdouble, KCtype is
    unavailable and the long double type should be used instead.
    
    This is also providing macro __HAVE_FLOAT128_UNLIKE_LDBL in order to
    identify the kind of long double type is being used in the current
    compilation unit.
    Notice that bits/floatn.h cannot benefit from the new macro due to order
    of header inclusion.
    
        * bits/floatn-common.h: Define __HAVE_FLOAT128_UNLIKE_LDBL.
        * math/math.h: Restrict the prototype definition for the functions
        issignaling(_Float128) and iszero(_Float128); and template
        __iseqsig_type<_Float128>, from __HAVE_DISTINCT_FLOAT128 to
        __HAVE_FLOAT128_UNLIKE_LDBL.
        * sysdeps/powerpc/bits/floatn.h [__HAVE_FLOAT128
        && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
        && __LDBL_MANT_DIG__ == 113]: Use long double suffix for
        __f128() constants; define the type _Float128 as long double;
        and reuse long double in __CFLOAT128.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit b4d5b8b02133e0c317e6c836b51bbee3b00877b8
Author: Joseph Myers <address@hidden>
Date:   Fri May 11 15:11:38 2018 +0000

    Do not include math-barriers.h in math_private.h.
    
    This patch continues the math_private.h cleanup by stopping
    math_private.h from including math-barriers.h and making the users of
    the barrier macros include the latter header directly.  No attempt is
    made to remove any math_private.h includes that are now unused, except
    in strtod_l.c where that is done to avoid line number changes in
    assertions, so that installed stripped shared libraries can be
    compared before and after the patch.  (I think the floating-point
    environment support in math_private.h should also move out - some
    architectures already have fenv_private.h as an architecture-internal
    header included from their math_private.h - and after moving that out
    might be a better time to identify unused math_private.h includes.)
    
    Tested for x86_64 and x86, and tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/generic/math_private.h: Do not include
        <math-barriers.h>.
        * stdlib/strtod_l.c: Include <math-barriers.h> instead of
        <math_private.h>.
        * math/fromfp.h: Include <math-barriers.h>.
        * math/math-narrow.h: Likewise.
        * math/s_nextafter.c: Likewise.
        * math/s_nexttowardf.c: Likewise.
        * sysdeps/aarch64/fpu/s_llrint.c: Likewise.
        * sysdeps/aarch64/fpu/s_llrintf.c: Likewise.
        * sysdeps/aarch64/fpu/s_lrint.c: Likewise.
        * sysdeps/aarch64/fpu/s_lrintf.c: Likewise.
        * sysdeps/i386/fpu/s_nextafterl.c: Likewise.
        * sysdeps/i386/fpu/s_nexttoward.c: Likewise.
        * sysdeps/i386/fpu/s_nexttowardf.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_j0.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fma.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise.
        * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_j0f.c: Likewise.
        * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
        * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
        * sysdeps/ieee754/k_standardl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_fma.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_fmal.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_nextafterl.c: Likewise.

commit fc79706a3233b02909b1a75b1e43e40915eb5a04
Author: Florian Weimer <address@hidden>
Date:   Fri May 11 16:30:30 2018 +0200

    time: Use 64-bit time values for time zone parsing

commit 89aacb513eb77549a29df2638913a0f8178cf3f5
Author: Florian Weimer <address@hidden>
Date:   Fri May 11 15:36:50 2018 +0200

    sunrpc: Remove stray exports without --enable-obsolete-rpc [BZ #23166]
    
    This is needed to avoid a warning when linking against libtirpc:
    
    /lib64/libc.so.6: warning: common of `rpc_createerr@@TIRPC_0.3.0' 
overridden by definition
    /usr/lib64/libtirpc.so: warning: defined here
    
    This ld warning is not enabled by default; -Wl,--warn-common enables it.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit bb066cb806dfe55511cf2fb59bf013751152608f
Author: Rafal Luzynski <address@hidden>
Date:   Wed May 9 03:06:32 2018 +0200

    gd_GB: Fix typo in abbreviated "May" (bug 23152).
    
        [BZ #23152]
        * localedata/locales/gd_GB (abmon): Fix typo in May:
        "Mhàrt" -> "Cèit".  Adjust the comment according to the change.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit db725a458e1cb0e17204daa543744faf08bb2e06
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri May 11 00:11:52 2018 +0530

    aarch64,falkor: Ignore prefetcher tagging for smaller copies
    
    For smaller and medium sized copies, the effect of hardware
    prefetching are not as dominant as instruction level parallelism.
    Hence it makes more sense to load data into multiple registers than to
    try and route them to the same prefetch unit.  This is also the case
    for the loop exit where we are unable to latch on to the same prefetch
    unit anyway so it makes more sense to have data loaded in parallel.
    
    The performance results are a bit mixed with memcpy-random, with
    numbers jumping between -1% and +3%, i.e. the numbers don't seem
    repeatable.  memcpy-walk sees a 70% improvement (i.e. > 2x) for 128
    bytes and that improvement reduces down as the impact of the tail copy
    decreases in comparison to the loop.
    
        * sysdeps/aarch64/multiarch/memcpy_falkor.S (__memcpy_falkor):
        Use multiple registers to copy data in loop tail.

commit 70c97f8493ab2a215c2543d78f212abb23f151ed
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri May 11 00:08:01 2018 +0530

    aarch64,falkor: Ignore prefetcher hints for memmove tail
    
    The tail of the copy loops are unable to train the falkor hardware
    prefetcher because they load from a different base compared to the hot
    loop.  In this case avoid serializing the instructions by loading them
    into different registers.  Also peel the last iteration of the loop
    into the tail (and have them use different registers) since it gives
    better performance for medium sizes.
    
    This results in performance improvements of between 3% and 20% over
    the current falkor implementation for sizes between 128 bytes and 1K
    on the memmove-walk benchmark, thus mostly covering the regressions
    seen against the generic memmove.
    
        * sysdeps/aarch64/multiarch/memmove_falkor.S
        (__memmove_falkor): Use multiple registers to move data in
        loop tail.

commit 8f5b00d375dbd7f5e15e57b24fec3bd5a4b1e98d
Author: Joseph Myers <address@hidden>
Date:   Thu May 10 00:53:04 2018 +0000

    Move math_check_force_underflow macros to separate math-underflow.h.
    
    This patch continues cleaning up math_private.h by moving the
    math_check_force_underflow set of macros to a separate header
    math-underflow.h.
    
    This header is included by the files that need it rather than from
    math_private.h.  Moving these macros to a separate file removes the
    math_private.h uses of macros from float.h, so the inclusion of
    float.h in math_private.h is also removed; files that were depending
    on that inclusion are fixed to include float.h directly.  The
    inclusion of math-barriers.h from math_private.h will be removed in a
    separate patch.
    
    Tested for x86_64 and x86.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by this patch.
    
        * math/math-underflow.h: New file.
        * sysdeps/generic/math_private.h: Do not include <float.h>.
        (fabs_tg): Remove macro.  Moved to math-underflow.h.
        (min_of_type_f): Likewise.
        (min_of_type_): Likewise.
        (min_of_type_l): Likewise.
        (min_of_type_f128): Likewise.
        (min_of_type): Likewise.
        (math_check_force_underflow): Likewise.
        (math_check_force_underflow_nonneg): Likewise.
        (math_check_force_underflow_complex): Likewise.
        * math/e_exp2_template.c: Include <math-underflow.h>.
        * math/k_casinh_template.c: Likewise.
        * math/s_catan_template.c: Likewise.
        * math/s_catanh_template.c: Likewise.
        * math/s_ccosh_template.c: Likewise.
        * math/s_cexp_template.c: Likewise.
        * math/s_clog10_template.c: Likewise.
        * math/s_clog_template.c: Likewise.
        * math/s_csin_template.c: Likewise.
        * math/s_csinh_template.c: Likewise.
        * math/s_csqrt_template.c: Likewise.
        * math/s_ctan_template.c: Likewise.
        * math/s_ctanh_template.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_hypot.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_j1.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_jn.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_asinh.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_erf.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_sincos.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_tanh.c: Likewise.
        * sysdeps/ieee754/flt-32/e_asinf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
        * sysdeps/ieee754/flt-32/e_j1f.c: Likewise.
        * sysdeps/ieee754/flt-32/e_jnf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise.
        * sysdeps/ieee754/flt-32/k_sinf.c: Likewise.
        * sysdeps/ieee754/flt-32/k_tanf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_asinhf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_atanf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_erff.c: Likewise.
        * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
        * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_tanhf.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_powl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/k_sincosl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/k_sinl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_erfl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_hypotl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/e_sinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/k_sinl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/k_tanl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_asinhl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_tanhl.c: Likewise.
        * sysdeps/powerpc/fpu/e_hypot.c: Likewise.
        * sysdeps/x86/fpu/powl_helper.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_nextup.c: Include <float.h>.
        * sysdeps/ieee754/flt-32/s_nextupf.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_nextupl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_nextupl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_nextupl.c: Likewise.

commit 9ed2e15ff4c9ff27c09103fa13a051e3605cbe5f
Author: Joseph Myers <address@hidden>
Date:   Wed May 9 19:45:47 2018 +0000

    Move math_opt_barrier, math_force_eval to separate math-barriers.h.
    
    This patch continues cleaning up math_private.h by moving the
    math_opt_barrier and math_force_eval macros to a separate header
    math-barriers.h.
    
    At present, those macros are inside a "#ifndef math_opt_barrier" in
    math_private.h to allow architectures to override them and then use
    a separate math-barriers.h header, no such #ifndef or #include_next is
    needed; architectures just have their own alternative version of
    math-barriers.h when providing their own optimized versions that avoid
    going through memory unnecessarily.  The generic math-barriers.h has a
    comment added to document these two macros.
    
    In this patch, math_private.h is made to #include <math-barriers.h>,
    so files using these macros do not need updating yet.  That is because
    of uses of math_force_eval in math_check_force_underflow and
    math_check_force_underflow_nonneg, which are still defined in
    math_private.h.  Once those are moved out to a separate header, that
    separate header can be made to include <math-barriers.h>, as can the
    other files directly using these barrier macros, and then the include
    of <math-barriers.h> from math_private.h can be removed.
    
    Tested for x86_64 and x86.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by this patch.
    
        * sysdeps/generic/math-barriers.h: New file.
        * sysdeps/generic/math_private.h [!math_opt_barrier]
        (math_opt_barrier): Move to math-barriers.h.
        [!math_opt_barrier] (math_force_eval): Likewise.
        * sysdeps/aarch64/fpu/math-barriers.h: New file.
        * sysdeps/aarch64/fpu/math_private.h (math_opt_barrier): Move to
        math-barriers.h.
        (math_force_eval): Likewise.
        * sysdeps/alpha/fpu/math-barriers.h: New file.
        * sysdeps/alpha/fpu/math_private.h (math_opt_barrier): Move to
        math-barriers.h.
        (math_force_eval): Likewise.
        * sysdeps/x86/fpu/math-barriers.h: New file.
        * sysdeps/i386/fpu/fenv_private.h (math_opt_barrier): Move to
        math-barriers.h.
        (math_force_eval): Likewise.
        * sysdeps/m68k/m680x0/fpu/math_private.h: Move to....
        * sysdeps/m68k/m680x0/fpu/math-barriers.h: ... here.  Adjust
        multiple-include guard for rename.
        * sysdeps/powerpc/fpu/math-barriers.h: New file.
        * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): Move to
        math-barriers.h.
        (math_force_eval): Likewise.

commit 5460617d1567657621107d895ee2dd83bc1f88f2
Author: Paul Pluzhnikov <address@hidden>
Date:   Tue May 8 18:12:41 2018 -0700

    Fix BZ 22786: integer addition overflow may cause stack buffer overflow
    when realpath() input length is close to SSIZE_MAX.
    
    2018-05-09  Paul Pluzhnikov  <address@hidden>
    
        [BZ #22786]
        * stdlib/canonicalize.c (__realpath): Fix overflow in path length
        computation.
        * stdlib/Makefile (test-bz22786): New test.
        * stdlib/test-bz22786.c: New test.

commit aaee3cd88ed58f332f261021d78d071db6265e85
Author: Joseph Myers <address@hidden>
Date:   Wed May 9 00:15:10 2018 +0000

    Move math_narrow_eval to separate math-narrow-eval.h.
    
    This patch continues cleaning up the math_private.h header, which
    contains lots of different definitions many of which are only needed
    by a limited subset of files using that header (and some of which are
    overridden by architectures that only want to override selected parts
    of the header), by moving the math_narrow_eval macro out to a separate
    math-narrow-eval.h header, only included by those files that need it.
    That header is placed in include/ (since it's used in stdlib/, not
    just files built in math/, but no sysdeps variants are needed at
    present).
    
    Tested for x86_64, and with build-many-glibcs.py.  (Installed stripped
    shared libraries change because of line numbers in assertions in
    strtod_l.c.)
    
        * include/math-narrow-eval.h: New file.  Contents moved from ....
        * sysdeps/generic/math_private.h: ... here.
        (math_narrow_eval): Remove macro.  Moved to math-narrow-eval.h.
        [FLT_EVAL_METHOD != 0] (excess_precision): Likewise.
        * math/s_fdim_template.c: Include <math-narrow-eval.h>.
        * stdlib/strtod_l.c: Likewise.
        * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise.
        * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise.
        * sysdeps/i386/fpu/s_fdim.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_cosh.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_j1.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_jn.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise.
        * sysdeps/ieee754/dbl-64/gamma_productf.c: Likewise.
        * sysdeps/ieee754/dbl-64/k_rem_pio2.c: Likewise.
        * sysdeps/ieee754/dbl-64/lgamma_neg.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_erf.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_llrint.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_lrint.c: Likewise.
        * sysdeps/ieee754/flt-32/e_coshf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise.
        * sysdeps/ieee754/flt-32/e_expf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
        * sysdeps/ieee754/flt-32/e_j1f.c: Likewise.
        * sysdeps/ieee754/flt-32/e_jnf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
        * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise.
        * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise.
        * sysdeps/ieee754/flt-32/lgamma_negf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_erff.c: Likewise.
        * sysdeps/ieee754/flt-32/s_llrintf.c: Likewise.
        * sysdeps/ieee754/flt-32/s_lrintf.c: Likewise.
        * sysdeps/ieee754/ldbl-96/gamma_product.c: Likewise.

commit 0555c47719d1f75b0fb378f0578367a8ea112d29
Author: Andreas Schwab <address@hidden>
Date:   Tue May 8 14:57:33 2018 +0200

    Fix comment typo

commit 50d7d351b564b347cb653cdc3cb1187a363d094e
Author: H.J. Lu <address@hidden>
Date:   Mon May 7 11:01:38 2018 -0700

    x86-64/memset: Mark the debugger symbol as hidden
    
    When MEMSET_SYMBOL (__memset, erms) is provided for debugger, mark it
    as hidden so that it will be local to the library.
    
        * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
        (MEMSET_SYMBOL (__memset, erms)): Mark the debugger symbol as
        hidden.

commit 543477f78b9163dc1d74596c726043d7611a8740
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon May 7 20:54:31 2018 +0530

    benchtests: Move iterator declaration into loop header
    
    This is a minor style change to move the definition of I to its usage
    scope instead of at the top of the function.  This is consistent with
    glibc style guidelines and more importantly it was getting in the way
    of my testing.
    
        * benchtests/bench-memcpy-walk.c (do_test): Move declaration
        of I into loop header.
        * benchtests/bench-memmove-walk.c (do_test): Likewise.

commit ffa81c22a3ac0fb75ad9bf2b1c3cdbf9eafa0bc9
Author: Alexandre Oliva <address@hidden>
Date:   Mon May 7 01:37:37 2018 -0300

    Revert:
    2018-04-30  Raymond Nicholson <address@hidden>
    * manual/startup.texi (Aborting a Program): Remove inappropriate joke.
    
    This complies with the decision of the project leader and primary and
    ultimate maintainer, who partially delegated maintainership to myself
    and others under certain constraints.
    
    This is also in line with the community-agreed procedures.
    
    It is obvious that we didn't have consensus on a decision to install
    that patch, since both sides are still arguing over it.
    
    As for the decision to reverse the deletion, if we even need one to
    counter a move that did not have consensus, although nobody else offered
    to install the reversal and restore the status prior to the fait
    accompli, and some explicitly refused to do so themselves, nobody
    objected when I offered to do so.  Therefore, by the same reasoning that
    led to the mistaken installation of the patch, and after a much longer
    wait for objections, I understand there is consensus on my reverting it.

commit 0065aaaaae51cd60210ec3a7e13dddd8e01ffe2c
Author: Paul Pluzhnikov <address@hidden>
Date:   Sat May 5 18:08:27 2018 -0700

    Fix BZ 20419.  A PT_NOTE in a binary could be arbitratily large, so using
    alloca for it may cause stack overflow.  If the note is larger than
    __MAX_ALLOCA_CUTOFF, use dynamically allocated memory to read it in.
    
    2018-05-05  Paul Pluzhnikov  <address@hidden>
    
        [BZ #20419]
        * elf/dl-load.c (open_verify): Fix stack overflow.
        * elf/Makefile (tst-big-note): New test.
        * elf/tst-big-note-lib.S: New.
        * elf/tst-big-note.c: New.

commit b289cd9db8286fa6c670104dd5dfcfc68d5d00d6
Author: Joseph Myers <address@hidden>
Date:   Fri May 4 15:46:32 2018 +0000

    Ignore absolute symbols in ABI tests.
    
    A recent binutils patch
    <https://sourceware.org/ml/binutils/2018-04/msg00336.html> stops the
    MIPS linker including the _gp_disp absolute symbol in dynamic symbol
    tables.
    
    With older binutils, it is included for MIPS o32 (despite the use of
    symbol versioning), and this means that all the ABI test baselines for
    MIPS o32 include "_gp_disp _gp_disp A".  This symbol is not
    meaningfully part of the ABI for shared libraries, since it always has
    to be resolved at static link time to the local definition for the
    linked object.
    
    All the other absolute symbols in ABI test baselines are the names of
    symbol versions.  I don't think the mere existence of a symbol version
    with a given name - as opposed to the contents of that version if
    nonempty - is part of the ABI either.  Thus, this patch allows the ABI
    tests to pass both before and after the binutils change by changing
    abilist.awk not to include absolute symbols in its output, and
    changing the baselines accordingly.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * scripts/abilist.awk: Ignore absolute symbols.
        * sysdeps/mach/hurd/i386/ld.abilist: Remove absolute symbols.
        * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libanl.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libc.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libcrypt.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libdl.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libm.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libnsl.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libpthread.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libresolv.abilist: Likewise.
        * sysdeps/mach/hurd/i386/librt.abilist: Likewise.
        * sysdeps/mach/hurd/i386/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libcidn.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_compat.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_dns.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_files.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_hesiod.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_nis.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libnss_nisplus.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libthread_db.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libpthread.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libresolv.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libthread_db.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/libmvec.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist: Likewise.

commit 1660901840dfc9fde6c5720a32f901af6f08f00a
Author: Stefan Liebler <address@hidden>
Date:   Fri May 4 10:00:59 2018 +0200

    Fix blocking pthread_join. [BZ #23137]
    
    On s390 (31bit) if glibc is build with -Os, pthread_join sometimes
    blocks indefinitely. This is e.g. observable with
    testcase intl/tst-gettext6.
    
    pthread_join is calling lll_wait_tid(tid), which performs the futex-wait
    syscall in a loop as long as tid != 0 (thread is alive).
    
    On s390 (and build with -Os), tid is loaded from memory before
    comparing against zero and then the tid is loaded a second time
    in order to pass it to the futex-wait-syscall.
    If the thread exits in between, then the futex-wait-syscall is
    called with the value zero and it waits until a futex-wake occurs.
    As the thread is already exited, there won't be a futex-wake.
    
    In lll_wait_tid, the tid is stored to the local variable __tid,
    which is then used as argument for the futex-wait-syscall.
    But unfortunately the compiler is allowed to reload the value
    from memory.
    
    With this patch, the tid is loaded with atomic_load_acquire.
    Then the compiler is not allowed to reload the value for __tid from memory.
    
    ChangeLog:
    
        [BZ #23137]
        * sysdeps/nptl/lowlevellock.h (lll_wait_tid):
        Use atomic_load_acquire to load __tid.

commit 15c19147a8361b7281519b9784b3b823c447cf7a
Author: H.J. Lu <address@hidden>
Date:   Thu Apr 26 05:01:20 2018 -0700

    x86-64/swapcontext: Restore the pointer into %rdx after syscall
    
    To prepare for shadow stack support, restore the pointer into %rdx after
    syscall and use %rdx, instead of %rsi, to restore context.  There is no
    functional change.
    
    Signed-off-by: H.J. Lu <address@hidden>
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/unix/sysv/linux/x86_64/swapcontext.S (__swapcontext):
        Restore the pointer into %rdx, after syscall and use %rdx,
        instead of %rsi, to restore context.

commit 556f5c46c78f094d03b5e3e48900b7e4f312cc5e
Author: H.J. Lu <address@hidden>
Date:   Wed May 2 06:26:04 2018 -0700

    cl

commit 8b8f32b2800a132b4d95053fad7c9b44309f1d6e
Author: H.J. Lu <address@hidden>
Date:   Wed May 2 06:21:09 2018 -0700

    x86-64/setcontext: Pop the pointer into %rdx after syscall
    
    To prepare for shadow stack support, pop the pointer into %rdx after
    syscall and use %rdx, instead of %rsi, to restore context.  There is
    no functional change.
    
    Signed-off-by: H.J. Lu <address@hidden>
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * sysdeps/unix/sysv/linux/x86_64/setcontext.S (__setcontext):
        Pop the pointer into %rdx after syscall and use %rdx, instead
        of %rsi, to restore context.

commit d6cc1829aa31b6fb060f24dffd28aa6705cdd33a
Author: H.J. Lu <address@hidden>
Date:   Wed May 2 06:17:20 2018 -0700

    x86: Use pad in pthread_unwind_buf to preserve shadow stack register
    
    The pad array in struct pthread_unwind_buf is used by setjmp to save
    shadow stack register.  We assert that size of struct pthread_unwind_buf
    is no less than offset of shadow stack pointer + shadow stack pointer
    size.
    
    Since functions, like LIBC_START_MAIN, START_THREAD_DEFN as well as
    these with thread cancellation, call setjmp, but never return after
    __libc_unwind_longjmp, __libc_unwind_longjmp, which is defined as
    __libc_longjmp on x86, doesn't need to restore shadow stack register.
    __libc_longjmp, which is a private interface for thread cancellation
    implementation in libpthread, is changed to call __longjmp_cancel,
    instead of __longjmp.  __longjmp_cancel is a new internal function
    in libc, which is similar to __longjmp, but doesn't restore shadow
    stack register.
    
    The compatibility longjmp and siglongjmp in libpthread.so are changed
    to call __libc_siglongjmp, instead of __libc_longjmp, so that they will
    restore shadow stack register.
    
    Tested with build-many-glibcs.py.
    
    Signed-off-by: H.J. Lu <address@hidden>
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * nptl/pthread_create.c (START_THREAD_DEFN): Clear previous
        handlers after setjmp.
        * setjmp/longjmp.c (__libc_longjmp): Don't define alias if
        defined.
        * sysdeps/unix/sysv/linux/x86/setjmpP.h: Include
        <libc-pointer-arith.h>.
        (_JUMP_BUF_SIGSET_BITS_PER_WORD): New.
        (_JUMP_BUF_SIGSET_NSIG): Changed to 96.
        (_JUMP_BUF_SIGSET_NWORDS): Changed to use ALIGN_UP and
        _JUMP_BUF_SIGSET_BITS_PER_WORD.
        * sysdeps/x86/Makefile (sysdep_routines): Add __longjmp_cancel.
        * sysdeps/x86/__longjmp_cancel.S: New file.
        * sysdeps/x86/longjmp.c: Likewise.
        * sysdeps/x86/nptl/pt-longjmp.c: Likewise.

commit b109fbfe4dd2ca77656157ddaded773e0da630a2
Author: Adhemerval Zanella <address@hidden>
Date:   Wed May 2 09:06:34 2018 -0300

    Fix ChangeLog from cf2478d53ad commit

commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
Author: Adhemerval Zanella <address@hidden>
Date:   Sun Mar 18 11:28:59 2018 +0800

    Deprecate ustat syscall interface
    
    As for sysctl, ustat has been deprecated in favor of {f}statfs.  Also
    some newer ports which uses generic interface builds a stub version that
    returns ENOSYS.
    
    This patch deprecates ustat interface by removing ustat.h related headers,
    adding a compatibility symbol, and avoiding new ports to build and provide
    the symbol.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.  Also checked with a
    check-abi on all affected ABIs.
    
        * NEWS: Add ustat.h deprecation entry.
        * bits/ustat.h: Remove file.
        * misc/sys/ustat.h: Likewise.
        * misc/ustat.h: Likewise.
        * sysdeps/unix/sysv/linux/generic/ustat.c: Likewise.
        * misc/Makefile (headers): Remove ustat.h and sys/ustat.h.
        * misc/ustat.c (__ustat): Rename to __old_ustat and export only in
        compatibility mode.
        * sysdeps/unix/sysv/linux/ustat.c (__ustat): Likewise.
        * sysdeps/unix/sysv/linux/mips/ustat.c: Define DEV_TO_KDEV and use
        generic Linux implementation.

commit dc115e1cdc369c31296b8287959758fb77f33aaa
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Mon Apr 30 11:45:42 2018 -0300

    Replace hidden_def with libm_hidden_def in math
    
    libm_hidden_def expand the parameters and do not require an extra layer
    of macros.
    These were the last 3 files in math/ still using hidden_def().
    
        * math/w_exp_compat.c: Replace hidden_def with libm_hidden_def..
        * math/w_expl_compat.c: Likewise.
        * math/w_exp_template.c: Likewise.  Remove hidden_def_x.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 340d9652b9d0e1d4136588f18b726662d195777c
Author: Raymond Nicholson <address@hidden>
Date:   Mon Apr 30 10:41:44 2018 -0400

    manual/startup.texi (Aborting a Program): Remove inappropriate joke.

commit c57bf7c15ba179168d01f7c6acde7ecbf5dd9cd8
Author: Adhemerval Zanella <address@hidden>
Date:   Sun Apr 22 17:55:11 2018 -0300

    Consolidate Linux readahead implementation
    
    This patch consolidate Linux readahead implementation on generic
    sysdeps/unix/sysv/linux/readahead.c one.  The changes are:
    
      - Assume __NR_readahead existence with current minimum kernel of 3.2
        for all architectures.
    
      - Use INLINE_SYSCALL_CALL, __ALIGNMENT_ARG, and SYSCALL_LL64 to pass
        the 64 bit offset.  This allows architectures with different abis
        to use the same implementation.
    
      - Remove arch-specific readahead implementations.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        * sysdeps/unix/sysv/linux/arm/readahead.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/mips32/readahead.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (readahead):
        Remove.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
        * sysdeps/unix/sysv/linux/readahead.c (__readahead): Assume
        __NR_readahead existence, and use INLINE_SYSCALL_CALL, __ALIGNMENT_ARG,
        and SYSCALL_LL64.

commit 33927914420ad1aec86551c8e5cf085d8ee80ebb
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Apr 27 09:56:48 2018 -0300

    Replace M_SUF (M_LN2) with M_MLIT (M_LN2)
    
    According to math-type-macros.h, M_SUF should be used to paste the
    suffix used by functions, while M_MLIT is used with macro constants.
    
        * math/e_exp2_template.c: Replace M_SUF (M_LN2) with M_MLIT (M_LN2).
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 06135c33b710c64334ff10d2fcc4780154b65776
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Apr 27 09:56:35 2018 -0300

    Replace M_SUF (fabs) with M_FABS
    
    math-type-macros.h provides the macro M_FABS in order to reference
    the correct fabs function for a specific type.
    In most of the cases, M_FABS is identical to M_SUF (fabs), but that
    may change in the future.
    
        * math/w_acos_template.c: Replace M_SUF (fabs) with M_FABS.
        * math/w_asin_template.c: Likewise.
        * math/w_atanh_template.c: Likewise.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 3a33b0696937d3c8324e517512f8dc952166a7ab
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Mar 9 16:59:14 2018 -0300

    powerpc64*: fix the order of implied sysdeps directories
    
    The creation of the divergent sysdeps directory for powerpc64le
    
    commit 2f7f3cd8cd302bb10908c86f3f7b349df0a78e6a
    Author: Paul E. Murphy <address@hidden>
    Date:   Fri Jul 15 18:04:40 2016 -0500
    
        powerpc64le: Create divergent sysdep directory for powerpc64le.
    
    allowed float128 to be enabled for powerpc64le (little-endian) and not
    for powerpc64 (big-endian).  Since the only intended difference between
    them was the presence or absence of the float128 interface, the sysdeps
    directory for powerpc64le explicitly reused the files from powerpc64
    (through the use of Implies files).
    
    Although this works, it also means that files under the powerpc64
    directory might be preferred over files under powerpc64le.  For
    instance, on a build for powerpc64le with target set to power9, a file
    from powerpc64/power5 might get built, even though a file with the same
    name exists in powerpc64le/power8.  That happens because the processor
    hierarchy was only defined in the sysdeps directory for powerpc64 (and
    borrowed by powerpc64le).
    
    This patch fixes this behavior, by creating new subdirectories under
    powerpc64 (i.e.: powerpc64/be and powerpc64/le) and creating new Implies
    files to provide the hierarchy of processors for powerpc64 and
    powerpc64le separately.  These changes have no effect on installed,
    stripped binaries (which remain unchanged).
    
    Tested that installed stripped binaries are unchanged and that there are
    no regressions on powerpc64 and powerpc64le.

commit a3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201
Author: Joseph Myers <address@hidden>
Date:   Fri Apr 27 19:11:24 2018 +0000

    Remove tilegx port.
    
    Since tile support has been removed from the Linux kernel for 4.17,
    this patch removes the (unmaintained) port to tilegx from glibc (the
    tilepro support having been previously removed).  This reflects the
    general principle that a glibc port needs upstream support for the
    architecture in all the components it build-depends on (so binutils,
    GCC and the Linux kernel, for the normal case of a port supporting the
    Linux kernel but no other OS), in order to be maintainable.
    
    Apart from removal of sysdeps/tile and sysdeps/unix/sysv/linux/tile,
    there are updates to various comments referencing tile for which
    removal of those references seemed appropriate.  The configuration is
    removed from README and from build-many-glibcs.py.  contrib.texi keeps
    mention of removed contributions, but I updated Chris Metcalf's entry
    to reflect that he also contributed the non-removed support for the
    generic Linux kernel syscall interface.
    __ASSUME_FADVISE64_64_NO_ALIGN support is removed, as it was only used
    by tile.
    
        * sysdeps/tile: Remove.
        * sysdeps/unix/sysv/linux/tile: Likewise.
        * README (tilegx-*-linux-gnu): Remove from list of supported
        configurations.
        * manual/contrib.texi (Contributors): Mention Chris Metcalf's
        contribution of support for generic Linux kernel syscall
        interface.
        * scripts/build-many-glibcs.py (Context.add_all_configs): Remove
        tilegx configurations.
        (Config.install_linux_headers): Do not handle tile.
        * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile
        in comment.
        * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise.
        * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise.
        [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
        conditional undefine and redefine.
        * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile
        in comment.
        [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
        conditional undefine and redefine.

commit 7a6f74787132aca8e3809cae8d9e7bc7bfd55ce1
Author: Aurelien Jarno <address@hidden>
Date:   Thu Apr 26 22:21:13 2018 +0200

    Add tst-sigaction.c to test BZ #23069
    
    This simple test uses sigaction to define a signal handler. It then
    uses sigaction again to fetch the information about the same signal
    handler, and check that they are consistent. This is enough to detect
    mismatches between struct kernel_sigaction and the kernel version of
    struct sigaction, like in BZ #23069.
    
    Changelog:
           * signal/tst-sigaction.c: New file to test BZ #23069.
           * signal/Makefile (tests): Fix indentation. Add tst-sigaction.

commit 81b49e969233ac5b9faf5c043bb0cc64bf9d6271
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Thu Apr 26 10:41:43 2018 -0300

    Increase robustness of internal dlopen() by using RTLD_NOW [BZ #22766]
    
    Prevent random runtime crashes due to missing symbols caused by mixed
    libnss_* versions.
    
        [BZ #22766]
        * include/dlfcn.h [__libc_dl_open]: Replace RTLD_LAZY with RTLD_NOW.
        * sysdeps/gnu/unwind-resume.c (__lib_gcc_s_init): Replace
        __libc_dlopen_mode() using RTLD_NOW with __libc_dlopen.
        * sysdeps/nptl/unwind-forcedunwind.c: Likewise.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 7d80f48e93508476d0d17d368b34b28cd5dda2a5
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Mar 1 18:22:16 2018 -0300

    Consolidate getdirentries{64} implementation
    
    This patch consolidates Linux getdirentries{64} implementation on just
    the default sysdeps/unix/sysv/linux/getdirentries{64} ones.  The default
    implementation handles the Linux requirements:
    
      * getdirentries is only built for _DIRENT_MATCHES_DIRENT64 being 0.
    
      * getdirentries64 is always built and aliased to getdents for ABIs
        that define _DIRENT_MATCHES_DIRENT64 to 1.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/getdirentries.c (getdirentries): Build iff
        _DIRENT_MATCHES_DIRENT64 is not defined.
        * sysdeps/unix/sysv/linux/getdirentries64.c (getdirentries64): Open
        implementation and alias to getdirentries if _DIRENT_MATCHES_DIRENT64
        is defined.
        * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: Remove file.
        * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: Remove file.

commit 42a2bf58ffadf26ebfdfdeb96e2878eb19a1d922
Author: Joseph Myers <address@hidden>
Date:   Wed Apr 25 15:05:01 2018 +0000

    Use GCC 8 in build-many-glibcs.py by default.
    
    Now that GCC 8 has branched, this patch makes build-many-glibcs.py
    default to using GCC 8 branch instead of GCC 7.  The effect should be
    that all builds complete cleanly and the compilation parts of the
    glibc testsuite complete cleanly except for on i686-gnu (with GCC 7
    there were testsuite failures for some other configurations as well).
    
    I've replaced my bot building using GCC 6 branch with one using GCC 8
    branch.  (Of course glibc should continue building with GCC 6 - and
    for that matter GCC 5 and 4.9, which are no longer maintained, are
    supported versions as well - but building with GCC 6 will no longer be
    included in my bot testing.)
    
        * scripts/build-many-glibcs.py (Context.checkout): Default GCC
        version to GCC 8 branch.

commit 5e14bb97937dda422effcf2750b40e342e83ccc8
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 24 16:33:47 2018 +0000

    Fix Hurd glibc build with GCC 8.
    
    The build of glibc for Hurd has been failing with GCC mainline because
    of the checks that aliases have the same type as the symbol aliased;
    the Hurd dl-sysdep.c has a macro that defines aliases without using
    the proper type.  When GCC 8 branches (soon), I intend to make it the
    default version in build-many-glibcs.py, so these failures would mean
    the default build-many-glibcs.py build fails for Hurd again.
    
    This patch fixes the Hurd build with GCC 8 by changing the macro that
    defines the problem aliases to use the correct type for them.  An
    include of <not-errno.h> is needed to avoid this use of typeof
    resulting in an error for __access_noerrno not being declared.
    
    Tested compilation for i686-gnu with build-many-glibcs.py.
    
        * sysdeps/mach/hurd/dl-sysdep.c: Include <not-errno.h>.
        (check_no_hidden): Use type of original function when declaring
        alias.

commit e5aea5c314f1f2c4e31e2ca29578ca1a9f2b9b55
Author: Mike FABIAN <address@hidden>
Date:   Tue Apr 24 15:04:43 2018 +0200

    Fix tst-strfmon_l test for hr_HR locale
    
    The test needs to be adapted for the change in the thousands separators:
    
    “hr_HR locale: fix thousands_sep and mon_thousands_sep” [BZ #23094]

commit 9320ca88a197d3620d3553ccc2d9402d981d7e23
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 24 12:11:35 2018 +0000

    Add PTRACE_SECCOMP_GET_METADATA from Linux 4.16 to sys/ptrace.h.
    
    This patch adds the PTRACE_SECCOMP_GET_METADATA constant from Linux
    4.16 to all relevant sys/ptrace.h files.  A type struct
    __ptrace_seccomp_metadata, analogous to other such types, is also
    added.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): New enum value and macro.
        * sysdeps/unix/sysv/linux/bits/ptrace-shared.h
        (struct __ptrace_seccomp_metadata): New type.
        * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/arm/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/s390/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/tile/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.
        * sysdeps/unix/sysv/linux/x86/sys/ptrace.h
        (PTRACE_SECCOMP_GET_METADATA): Likewise.

commit af7e376b00194ab84c222f25de12bd460a910345
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Mar 1 17:09:42 2018 -0300

    Consolidate alphasort{64} and versionsort{64} implementation
    
    This patch consolidates both alphasort{64} and versionsort{64}
    implementation on just the default dirent/alphasort{64}c and
    dirent/versionsort{64} respectively.  It changes the logic
    to follow the conventions used on other code consolidation:
    
      * the non-LFS variant is only built for _DIRENT_MATCHES_DIRENT64 being 0.
    
      * the LFS variant is always built and aliased to getdents for ABIs
        that define _DIRENT_MATCHES_DIRENT64 to 1.
    
    Also on Linux the compat symbol for old non-LFS dirent64 definition
    requires a platform-specific scandir64.c.  For powerpc32 and sparcv9
    it requires to add specific arch-implementation to override the
    generic Linux one because neither ABI exports an compat symbol for
    non-LFS alphasort64 and versionsort64 variant.  It is most likely a
    bug and it is also not one that can be fixed (in that there would be
    existing binaries expecting both meanings of that symbol at its single
    existing version, with binaries expecting the new meaning probably much
    more common than those expecting the original meaning of that symbol at
    that version).
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * dirent/alphasort.c (alphasort): Build iff _DIRENT_MATCHES_DIRENT64 is
        defined.
        * dirent/versionsort.c (versionsort): Likewise.
        * dirent/alphasort64.c (alphasort64): Build regardless and alias to
        alphasort if _DIRENT_MATCHES_DIRENT64 is defined.
        * dirent/versionsort64.c (versionsort64): Likewise.
        * sysdeps/unix/sysv/linux/i386/alphasort64.c: Remove file.
        * sysdeps/unix/sysv/linux/arm/alphasort64.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/alphasort64.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/alphasort64.c: New file.
        * sysdeps/unix/sysv/linux/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/alphasort64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/alphasort64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/versionsort64.c: Likewise.

commit da5e0361d981674fd7cd18dbeba2c0e718e90a16
Author: Joseph Myers <address@hidden>
Date:   Mon Apr 23 19:41:09 2018 +0000

    Add NT_PPC_PKEY from Linux 4.16 to elf.h.
    
    This patch adds the NT_PPC_PKEY macro from Linux 4.16 to elf.h.
    
    Tested for x86_64.
    
        * elf/elf.h (NT_PPC_PKEY): New macro.

commit 18ea73adaaea9882ab6983230cccc774db5d253d
Author: Zack Weinberg <address@hidden>
Date:   Mon Apr 23 11:25:19 2018 -0400

    NEWS: Reindent and copyedit
    
    Make the indentation of the "Deprecated and removed features" section
    for 2.28 consistent with the indentation of the "Major new features"
    section above.  Also, consistently refer to "stdio functions" instead
    of "stdio.h functions".

commit ea76691a7507b052a15b9dddb5847afa2b57d2a4
Author: Dragan Stanojevic - Nevidljivi <address@hidden>
Date:   Mon Apr 23 16:54:31 2018 +0200

    hr_HR locale: fix thousands_sep and mon_thousands_sep
    
        [BZ #23094]
        * localedata/locales/hr_HR: fix thousands_sep and
        mon_thousands_sep

commit 573963e32ffac46d9891970ddebde2ac3212c5c0
Author: Joseph Myers <address@hidden>
Date:   Fri Apr 20 19:52:02 2018 +0000

    Define XTABS to TAB3 on alpha to match Linux 4.16.
    
    This patch makes the alpha bits/termios.h define XTABS to TAB3, so
    matching a change made in Linux 4.16 as well as matching other
    architectures where the values are already equal.
    
    Tested with build-many-glibcs.py for alpha-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/bits/termios.h [__USE_MISC]
        (XTABS): Define to TAB3.

commit 0900a849592622f536d6f0959809ba7927722c1c
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Apr 20 15:36:41 2018 -0300

    Update hppa libm-test-ulps
    
        * sysdeps/hppa/fpu/libm-test-ulps: Update.

commit c0123b3b1118419210879e935620eb2ad987c2f1
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Mar 1 09:04:41 2018 -0300

    Consolidate scandir{at}{64} implementation
    
    This patch consolidates scandir{at}{64} implementation on just
    the default dirent/scandir{at}{64}{_r}.c ones.  It changes the logic
    to follow the conventions used on other code consolidation:
    
      * scandir{at} is only built for _DIRENT_MATCHES_DIRENT64 being 0.
    
      * scandir{at}{64} is always built and aliased to getdents for ABIs
        that define _DIRENT_MATCHES_DIRENT64 to 1.
    
    Also on Linux the compat symbol for old non-LFS dirent64 definition
    requires a platform-specific scandir64.c.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * dirent/scandir-tail-common.c: New file.
        * dirent/scandir-tail.c: Use scandir-tail-common.c.
        (__scandir_tail): Build iff _DIRENT_MATCHES_DIRENT64 is not defined.
        * dirent/scandir.c: Use scandir-tail-common.c.
        * dirent/scandirat.c: Likewise.
        * dirent/scandir64-tail.c: Use scandir-tail-common.c.
        * dirent/scandir64.c (scandir64): Always build and alias to scandir
        if _DIRENT_MATCHES_DIRENT64 is defined.
        * dirent/scandirat64.c (scandirat64): Likewise.
        * include/dirent.h (__scandir_tail): Only define iff
        _DIRENT_MATCHES_DIRENT64 is not defined.
        (__scandir64_tail): Define regardless.
        (__scandirat, scandirat64): Remove libc_hidden_proto.
        * sysdeps/unix/sysv/linux/arm/scandir64.c: Remove file.
        * sysdeps/unix/sysv/linux/m68k/scandir64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c: Likewise.
        * sysdeps/unix/sysv/linux/scandir64.c: New file.

commit 458b94f63e6fc5af1582a98007a1e4769f785fb7
Author: Joseph Myers <address@hidden>
Date:   Fri Apr 20 16:36:00 2018 +0000

    Update aarch64 bits/hwcap.h, dl-procinfo.c for Linux 4.16 HWCAP_ASIMDFHM.
    
    This patch updates the aarch64 bits/hwcap.h and dl-procinfo.c for the
    new HWCAP_ASIMDFHM value in Linux 4.16.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_ASIMDFHM):
        New macro.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c (_DL_HWCAP_COUNT):
        Increase to 24.
        (_dl_aarch64_cap_flags): Add asimdfhm.

commit b75a9b26cf3e498705c09b3df77f974fd2da8685
Author: Samuel Thibault <address@hidden>
Date:   Fri Apr 20 17:14:13 2018 +0200

    hurd xfails: Add missing bug references

commit cbc256b1dc833527138f03eb639d0deb4c70823f
Author: Samuel Thibault <address@hidden>
Date:   Fri Apr 20 01:18:22 2018 +0200

    hurd: XFAIL tests for signal features not implemented yet
    
        * conform/data/signal.h-data (SA_SIGINFO, SA_NOCLDWAIT): XFAIL on
        i386-gnu.
        * conform/data/sys/wait.h-data (WIFCONTINUED, WEXITED, WSTOPPED,
        WCONTINUED, WNOWAIT): XFAIL on i386-gnu.

commit f00b62ec89c10c9c4ba3bc354de93da802e2b0ff
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 22:05:13 2018 +0200

    hurd: XFAIL appearance of sched_param and sched_priority from <sys/types.h>
    
    Reported at BZ #23088.
    
        * sysdeps/mach/hurd/i386/Makefile
        (test-xfail-POSIX/fcntl.h/conform): Add.
        (test-xfail-POSIX/signal.h/conform): Add.
        (test-xfail-POSIX/semaphore.h/conform): Add.
        (test-xfail-POSIX/regex.h/conform): Add.
        (test-xfail-POSIX/aio.h/conform): Add.
        (test-xfail-POSIX/mqueue.h/conform): Add.
        (test-xfail-POSIX/sys/types.h/conform): Add.
        (test-xfail-UNIX98/fcntl.h/conform): Add.
        (test-xfail-UNIX98/netdb.h/conform): Add.
        (test-xfail-UNIX98/signal.h/conform): Add.
        (test-xfail-UNIX98/semaphore.h/conform): Add.
        (test-xfail-UNIX98/regex.h/conform): Add.
        (test-xfail-UNIX98/aio.h/conform): Add.
        (test-xfail-UNIX98/ftw.h/conform): Add.
        (test-xfail-UNIX98/mqueue.h/conform): Add.
        (test-xfail-UNIX98/netinet/in.h/conform): Add.
        (test-xfail-UNIX98/sys/wait.h/conform): Add.
        (test-xfail-UNIX98/sys/sem.h/conform): Add.
        (test-xfail-UNIX98/sys/uio.h/conform): Add.
        (test-xfail-UNIX98/sys/socket.h/conform): Add.
        (test-xfail-UNIX98/sys/types.h/conform): Add.
        (test-xfail-UNIX98/stdlib.h/conform): Add.
        (test-xfail-UNIX98/arpa/inet.h/conform): Add.
        (test-xfail-POSIX2008/fcntl.h/conform): Add.
        (test-xfail-POSIX2008/netdb.h/conform): Add.
        (test-xfail-POSIX2008/signal.h/conform): Add.
        (test-xfail-POSIX2008/semaphore.h/conform): Add.
        (test-xfail-POSIX2008/regex.h/conform): Add.
        (test-xfail-POSIX2008/aio.h/conform): Add.
        (test-xfail-POSIX2008/mqueue.h/conform): Add.
        (test-xfail-POSIX2008/netinet/in.h/conform): Add.
        (test-xfail-POSIX2008/sys/wait.h/conform): Add.
        (test-xfail-POSIX2008/sys/socket.h/conform): Add.
        (test-xfail-POSIX2008/sys/types.h/conform): Add.
        (test-xfail-POSIX2008/arpa/inet.h/conform): Add.
        (test-xfail-XOPEN2K/fcntl.h/conform): Add.
        (test-xfail-XOPEN2K/netdb.h/conform): Add.
        (test-xfail-XOPEN2K/signal.h/conform): Add.
        (test-xfail-XOPEN2K/semaphore.h/conform): Add.
        (test-xfail-XOPEN2K/regex.h/conform): Add.
        (test-xfail-XOPEN2K/aio.h/conform): Add.
        (test-xfail-XOPEN2K/ftw.h/conform): Add.
        (test-xfail-XOPEN2K/mqueue.h/conform): Add.
        (test-xfail-XOPEN2K/netinet/in.h/conform): Add.
        (test-xfail-XOPEN2K/sys/wait.h/conform): Add.
        (test-xfail-XOPEN2K/sys/sem.h/conform): Add.
        (test-xfail-XOPEN2K/sys/uio.h/conform): Add.
        (test-xfail-XOPEN2K/sys/socket.h/conform): Add.
        (test-xfail-XOPEN2K/sys/types.h/conform): Add.
        (test-xfail-XOPEN2K/stdlib.h/conform): Add.
        (test-xfail-XOPEN2K/arpa/inet.h/conform): Add.
        (test-xfail-XOPEN2K8/fcntl.h/conform): Add.
        (test-xfail-XOPEN2K8/netdb.h/conform): Add.
        (test-xfail-XOPEN2K8/signal.h/conform): Add.
        (test-xfail-XOPEN2K8/semaphore.h/conform): Add.
        (test-xfail-XOPEN2K8/regex.h/conform): Add.
        (test-xfail-XOPEN2K8/aio.h/conform): Add.
        (test-xfail-XOPEN2K8/ftw.h/conform): Add.
        (test-xfail-XOPEN2K8/mqueue.h/conform): Add.
        (test-xfail-XOPEN2K8/netinet/in.h/conform): Add.
        (test-xfail-XOPEN2K8/sys/wait.h/conform): Add.
        (test-xfail-XOPEN2K8/sys/sem.h/conform): Add.
        (test-xfail-XOPEN2K8/sys/uio.h/conform): Add.
        (test-xfail-XOPEN2K8/sys/socket.h/conform): Add.
        (test-xfail-XOPEN2K8/sys/types.h/conform): Add.
        (test-xfail-XOPEN2K8/stdlib.h/conform): Add.
        (test-xfail-XOPEN2K8/arpa/inet.h/conform): Add.

commit c5896a459543725dbca49ee894fd85b2f105ce6f
Author: Samuel Thibault <address@hidden>
Date:   Fri Apr 20 00:54:18 2018 +0200

    Revert "hurd: Fix mach installed headers test"
    
    This reverts commit d4379e0216d01fd1395b1f3b37255e3486760135: the proper
    headers are actually already getting installed.

commit 81b032c833a01491dfa35e9fdc5c2d4e523df163
Author: Samuel Thibault <address@hidden>
Date:   Fri Apr 20 00:10:55 2018 +0200

    Drop fpregset unused symbol exposition
    
        * sysdeps/arm/sys/ucontext.h: Remove fpregset struct name, unused and
        non-compliant.
        * sysdeps/i386/sys/ucontext.h: Likewise.
        * sysdeps/m68k/sys/ucontext.h: Likewise.
        * sysdeps/mips/sys/ucontext.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise.

commit 5dbfe13b35195cd1292b81787a0ef58db828c7d5
Author: Samuel Thibault <address@hidden>
Date:   Fri Apr 20 00:16:40 2018 +0200

    hurd: Fix hurd installed headers test
    
        * sysdeps/hurd/include/hurd.h [!_ISOMAC]: Do not declare libc hidden
        prototypes.
        * sysdeps/hurd/include/hurd/fd.h [!_ISOMAC]: Likewise.
        * sysdeps/hurd/include/hurd/signal.h [!_ISOMAC]: Likewise.

commit a279b8ed9ba5cb4960e685d2e28d1c4997f760d1
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 23:55:13 2018 +0200

    hurd: Add missing RLIM_SAVED_MAX/CUR
    
        * bits/resource.h (RLIM_SAVED_MAX, RLIM_SAVED_CUR): New macros.

commit a564872d2d4237dda098b77ccfa081bf9dda39af
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 23:50:12 2018 +0200

    hurd: Fix termios.h symbols
    
        * bits/termios.h [__USE_XOPEN || __USE_XOPEN2K8] (IXANY): Define.
        [__USE_XOPEN && !__USE_XOPEN2K] (IUCLC, OLCUC): Define.
        [__USE_XOPEN] (OFDEL): New macro.
        [__USE_XOPEN && !__USE_XOPEN2K] (XCASE): New macro.

commit ed37092475495aee5651057ad6e6dd8e2af7006f
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 21:34:07 2018 +0200

    hurd: remove non-standard siginfo symbol
    
        * bits/types/siginfo_t.h: Remove siginfo struct name, unused and
        non-compliant.

commit 5cd2931ab89caeed42293b79e4c9b2023df47684
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 20:55:12 2018 +0200

    hurd: fix sigevent's sigev_notify_attributes field type
    
        * sysdeps/pthread/bits/types/sigevent_t.h: New file, based on the
        generic version but include <bits/pthreadtypes.h> to make struct
        sigevent's sigev_notify_attributes field a pthread_attr_t*.

commit 9f0437e862225e036155b30e7edc4f6fe89dc0c0
Author: Chung-Lin Tang <address@hidden>
Date:   Thu Apr 19 12:00:58 2018 -0700

    Update sysdeps/nios2/libm-test-ulps

commit e60c3f2bb71210ca62dc09b1b797443a88b4e3cf
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 20:21:33 2018 +0200

    hurd: Avoid exposing all <sched.h> symbols from sys/types.h
    
        * bits/sched.h: Include <bits/types/struct_sched_param.h> and move 
struct
        sched_param definition to it.
        * sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
        * bits/types/struct_sched_param.h: New file.
        * sysdeps/htl/bits/types/struct___pthread_attr.h: Include
        <bits/types/struct_sched_param.h> instead of <sched.h>.
        * posix/Makefile (headers): Add bits/types/struct_sched_param.h.

commit 50511ca46641eb76aef1ca3fd96ad1e97f95c199
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Apr 19 15:19:19 2018 -0300

    Fix mips64n32 getdents alias
    
    Fix commit 298d0e3 for mips64n32, checked on a mips64n32-linux-gnu build.
    
        * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c (__getdents64):
        Only alias to __getdents for _DIRENT_MATCHES_DIRENT64.

commit 77b93390283cc4927f08ceb1bc19f2b2b1dee7c2
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 20:14:45 2018 +0200

    hurd: Fix symbols exposition
    
        * bits/in.h [!__USE_MISC]: Do not define struct ip_opts.
        * conform/data/netinet/in.h-data: Allow sin_ and sin6_ prefix.
        * sysdeps/gnu/bits/msq.h (struct msqid_ds): Use __wait_queue struct
        instead of wait_queue.
        * sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct
        instead of vm_area_struct.

commit 298d0e3129c0b5137f4989275b13fe30d0733c4d
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Feb 28 15:37:17 2018 -0300

    Consolidate Linux getdents{64} implementation
    
    This patch consolidates Linux getdents{64} implementation on just
    the default sysdeps/unix/sysv/linux/getdents{64}{_r}.c ones.
    
    Although this symbol is used only internally, the non-LFS version
    still need to be build due the non-LFS getdirentries which requires
    its semantic.
    
    The non-LFS default implementation now uses the wordsize-32 as base
    which uses getdents64 syscall plus adjustment for overflow (it allows
    to use the same code for architectures that does not support non-LFS
    getdents syscall).  It has two main differences to wordsize-32 one:
    
      - DIRENT_SET_DP_INO is added to handle alpha requirement to zero
        the padding.
    
      - alloca is removed by allocating a bounded temporary buffer (it
        increases stack usage by roughly 276 bytes).
    
    The default implementation handle the Linux requirements:
    
      * getdents is only built for _DIRENT_MATCHES_DIRENT64 being 0.
    
      * getdents64 is always built and aliased to getdents for ABIs
        that define _DIRENT_MATCHES_DIRENT64 to 1.
    
      * A compat symbol is added for getdents64 for ABI that used to
        export the old non-LFS version.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * sysdeps/unix/sysv/linux/alpha/getdents.c: Add comments with alpha
        requirements.
         (_DIRENT_MATCHES_DIRENT64): Undef
        * sysdeps/unix/sysv/linux/alpha/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/arm/getdents64.c: Remove file.
        * sysdeps/unix/sysv/linux/generic/getdents.c: Likewise.
        * sysdeps/unix/sysv/linux/generic/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c: Likewise.
        * sysdeps/unix/sysv/linux/getdents.c: Simplify implementation by
        use getdents64 syscalls as base.
        * sysdeps/unix/sysv/linux/getdents64.c: Likewise and add compatibility
        symbol if required.
        * sysdeps/unix/sysv/linux/hppa/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
        (__get_clockfreq_via_proc_openprom): Use __getdents64.
        * sysdeps/unix/sysv/linux/mips/mips64/getdents64.c: New file.

commit 0085be1415a38b40a5a1a12e49368498f1687380
Author: Stefan Liebler <address@hidden>
Date:   Thu Apr 19 12:38:37 2018 +0200

    Disable lock elision for mutex pretty printer tests.
    
    If e.g. the testcase nptl/test-mutex-printers is run
    with enabled lock-elision, it fails on s390x with:
    Error: Response does not match the expected pattern.
    Command: print *mutex
    Expected pattern: pthread_mutex_t
    Response:  No symbol "mutex" in current context.
    (gdb)
    
    See https://www.sourceware.org/ml/libc-alpha/2018-03/msg00583.html
    for more details.
    
    In fact the mutex pretty printer tests rely on looking at the
    internal details of the lock, thus we disable it by setting up
    the GLIB_TUNABLES environment variable inside gdb.
    
    ChangeLog:
    
        * scripts/test_printers_common.py (init_test): Disable lock elision.

commit da796524f8d64df3113e3c538adf285cf3ba041c
Author: Stefan Liebler <address@hidden>
Date:   Thu Apr 19 12:32:50 2018 +0200

    Use volatile global counters in test-tgmath.c.
    
    If build with -Os on s390x, the test-tgmath fails with:
    float functions not called often enough (-10000)
    
    Within compile_testf(), the counter (count_float) is saved
    before the complex functions are called.
    Afterwards the saved counter differs to the current-counter.
    
    But the tests with the complex functions do not increment count_float!
    Instead count_float is saved to a register before calling totalorder
    and totalordermag which both increment count_float.
    The compiler is allowed to do that as totalorderf and totalordermagf
    is declared with __attribute__ ((__const__)) in math/bits/mathcalls.h.
    
    Thus this patch adjusts the global counters to be volatile.
    Then count_float is saved after totalordermag.
    
    ChangeLog:
    
        * math/test-tgmath.c (count_double, count_float,
        count_ldouble, count_cdouble, count_cfloat,
        count_cldouble): Use volatile int.

commit f55a4fdefb00837f2e2a77c04792e69e888ead3e
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 02:25:03 2018 +0200

    hurd: Update struct statfs according to struct statvfs
    
        * sysdeps/mach/hurd/bits/statfs.h (struct statfs): Make f_bsize,
        f_namemax, f_frsize, and f_flag fields unsigned long int instead of
        unsigned int.
        (struct statfs64): Likewise.

commit 9d9f8f03afdbec53785522e1df421d70d2777f45
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 02:05:54 2018 +0200

    hurd: Fix standard compliance of some statvfs fields
    
    Standards require that the f_bsize, f_frsize, f_flag and f_namemax fields be
    unsigned long.  They used to be only unsigned on hurd, which happens to be
    compatible with unsigned long on the only existing, 32bit, port.  We can
    thus merely fix the type.
    
        * sysdeps/mach/hurd/bits/statvfs.h (struct statvfs): Make f_bsize,
        f_namemax, f_frsize, and f_flag fields unsigned long int instead of
        unsigned int.
        (struct statvfs64): Likewise.

commit 0dd25301f66058e510aaef0b176e19df2dd28fe7
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 01:51:45 2018 +0200

    hurd: xfail some structure fields ABI incompatibility with standards
    
        * sysdeps/mach/hurd/i386/Makefile [$(subdir) = conform]
        (conformtest-xfail-conds): Add i386-gnu.
        * conform/data/fcntl.h-data (flock.l_type, flock.l_whence): XFAIL for
        i386-gnu.
        * conform/data/sys/ipc.h-data (ipc_perm.uid, ipc_perm.gid,
        ipc_perm.cuid, ipc_perm.cgid): Likewise.
        * conform/data/sys/msg.h-data (msqid_ds.msg_lspid,
        msqid_ds.msg_lrpid): Likewise.
        * conform/data/sys/shm.h-data (shmid_ds.shm_lpid, shmid_ds.shm_cpid):
        Likewise.
        * conform/data/sys/stat.h-data (stat.st_dev): Likewise.
        * conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise.

commit d4379e0216d01fd1395b1f3b37255e3486760135
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 00:42:14 2018 +0200

    hurd: Fix mach installed headers test
    
        * include/lock-intern.h [!_ISOMAC]: Do not declare libc hidden
        prototypes.
        * include/mach.h [!_ISOMAC]: Likewise.
        * include/mach/mig_support.h [!_ISOMAC]: Likewise.
        * include/mach_error.h [!_ISOMAC]: Likewise.

commit c15f10ee78c6fa837732bb0b3d6cec44e4171fcd
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 19 00:09:58 2018 +0200

    Revert "Fix sched_param"
    
    This reverts commit 783c4820303fb6b031d401564f8089ecaf154b62 which
    accidentaly flew out.

commit 3dc0814cba86180c3ad478c81166220fb3e87ea5
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 18 21:07:04 2018 +0200

    conform sys/un.h: Allow sun_ prefix, not only sun_len
    
        * conform/data/sys/un.h-data: Allow sun_ prefix.

commit 783c4820303fb6b031d401564f8089ecaf154b62
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 18 00:27:31 2018 +0200

    Fix sched_param

commit d6397de369d006da516cb560adfa2c181b6f4698
Author: Joseph Myers <address@hidden>
Date:   Wed Apr 18 16:07:19 2018 +0000

    Make build-many-glibcs.py build GCC for powerpcspe with --enable-obsolete.
    
    The powerpcspe GCC port has been obsoleted in GCC 8 for not having had
    the removal of code for non-SPE processors completed.  This patch
    accordingly arranges for build-many-glibcs.py to configure GCC with
    --enable-obsolete for affected configurations.  This is temporary;
    either the port gets cleaned up and unobsoleted in GCC and the
    configure option can be removed, or the port gets removed in GCC and
    we should remove the corresponding glibc support.
    
    Tested with build-many-glibcs.py for the affected configurations.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Use
        --enable-obsolete for powerpc-linux-gnuspe.

commit c4375964dbf8194375a351b0d34ad9be5d4bda3b
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 18 02:07:17 2018 +0200

    hurd: Fix spurious installation of headers defining hidden prototypes
    
        * sysdeps/mach/include/lock-intern.h: Move to include/.
        * sysdeps/mach/include/mach.h: Move to include/.
        * sysdeps/mach/include/mach/mig_support.h: Move to include/mach/.
        * sysdeps/mach/include/mach_error.h: Move to include/.

commit 8323a9022eea1b1d149eee6a8121a33c4d007bca
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 18 00:34:18 2018 +0200

    hurd: fix conformity test for sys/un.h
    
    sun_len is used by BSD systems, and conformant.
    
        * conform/data/sys/un.h-data (struct sockaddr_un): Allow sun_len
        member.

commit 743b9c2a98426fb40f8ffee3529c8870bc5300f5
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Apr 16 08:18:23 2018 -0300

    arm: Remove ununsed ARM code in optimized implementation
    
    This patch removes the ununsed ARM code path for armv6t2 memchr and
    strlen and armv7 memch and strcmp.  In all implementation, the ARM
    code is not used in any possible build (unless glibc is explicit
    build with the non-documented NO_THUMB compiler flag) and for armv7
    the resulting code either produces wrong results (memchr) and throw
    build error (strcmp).
    
    Checked on arm-linux-gnueabihf built targeting both armv6 and
    armv7.
    
        * sysdeps/arm/armv6t2/memchr.S (memchr): Remove ARM code path.
        * sysdeps/arm/armv6t2/strlen.S (memchr): Likewise.
        * sysdeps/arm/armv7/multiarch/memchr_neon.S (memchr): Likewise.
        * sysdeps/arm/armv7/strcmp.S (strcmp): Likewise.

commit 326e74e7c18ab12ac8e4b67cce295d32fcc1cf68
Author: Andreas Schwab <address@hidden>
Date:   Thu Jan 28 14:19:39 2016 +0100

    Add aliases to recognize normalized charset names (bug 19527)

commit a14d8acd3261a7290e572a3cf435509ecd6e96d4
Author: Patrick McGehearty <address@hidden>
Date:   Sun Apr 15 18:46:37 2018 -0400

    Improves __ieee754_exp(x) performance by 18-37% when |x| < 1.0397
    
    Adds a fast path to e_exp.c when |x| < 1.03972053527832.
    When values are tested in isolation, reduction in execution
    time is: aarch 30%, sparc 18%, x86 37%.
    When comparing benchtests/bench.out which includes values
    outside that range, the gains are:
    aarch 8%, sparc 5%, x86 9%.
    
    make check is clean (no increase in ulp for any math test).
    Testing 20M values for each rounding mode in that range shows
    approximately one in 200 values is off by 1 ulp. No value tested
    for exp(x) changed by 2 or more ulp.
    
    No observed change in performance or accuracy for x outside
    fast path range.
    
    These changes will be active for all platforms that don't provide
    their own exp() routines. They will also be active for ieee754
    versions of ccos, ccosh, cosh, csin, csinh, sinh, exp10, gamma, and
    erf.

commit a700e7cb3799316e1b23879b4cf0891f5703acb1
Author: DJ Delorie <address@hidden>
Date:   Thu Apr 12 15:25:50 2018 -0400

    Update kernel version in syscall-names.list to 4.16.
    
    Linux 4.16 does not add any new syscalls; this patch updates the
    version number in syscall-names.list to reflect that it's still
    current for 4.16.
    
    Tested for x86_64 (compilation with build-many-glibcs.py, using Linux
    4.16).
    
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
        version to 4.16.

commit d8abfab7d46a02aa1d7f2985e2df8a890ad7054f
Author: Stefan Liebler <address@hidden>
Date:   Thu Apr 12 09:37:26 2018 +0200

    S390: Fix struct sigaction for 31bit in kernel_sigaction.h.
    
    The recent commit b4a5d26d8835d972995f0a0a2f805a8845bafa0b
    "linux: Consolidate sigaction implementation" changed the definition
    of struct sigaction for s390 (31bit). Unfortunately the order of the
    fields were wrong.
    
    This leads to blocking testcases e.g. nptl/tst-sem11.
    A thread which blocks due to sem_wait() is cancelled via pthread_cancel()
    and the signal-handler sigcancel_handler (see <glibc-src>/nptl/nptl-init.c
    is called.
    But it just returns as the siginfo_t argument is not setup by the kernel.
    Then the main-thread is blocking due to pthread_join().
    
    The flag SA_SIGINFO is set in sa_flags in struct sigaction and
    is copied to the "kernel_sigaction.h" struct by the sigaction() call,
    but due to the wrong ordering of the struct fields,
    the kernel does not recognize it.

commit 583a27d525ae189bdfaa6784021b92a9a1dae12e
Author: Florian Weimer <address@hidden>
Date:   Mon Apr 9 10:08:07 2018 +0200

    resolv: Fully initialize struct mmsghdr in send_dg [BZ #23037]

commit 942de61a89c5a01847d96831cb5e56630a7ba450
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Feb 28 09:25:58 2018 -0300

    Consolidate Linux readdir{64}{_r} implementation
    
    This patch consolidates Linux readdir{64}{_r} implementation on just
    the default sysdeps/unix/sysv/linux/readdir{64}{_r}.c ones.  The
    default implementation handle the Linux requirements:
    
      * readdir{_r} is only built for _DIRENT_MATCHES_DIRENT64 being 0.
    
      * readdir64{_r} is always built and aliased to readdir{_r} for
        ABI that define _DIRENT_MATCHES_DIRENT64.
    
      * A compat symbol is added for readdir64{_r} for ABI that used to
        export the old non-LFS version.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * sysdeps/posix/readdir.c (__READDIR, __GETDENTS, DIRENTY_TYPE,
        __READDIR_ALIAS): Undefine after usage.
        * sysdeps/posix/readdir_r.c (__READDIR_R, __GETDENTS, DIRENT_TYPE,
        __READDIR_R_ALIAS): Likewise.
        * sysdeps/unix/sysv/linux/arm/readdir64.c: Remove file.
        * sysdeps/unix/sysv/linux/arm/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Likewise.
        * sysdeps/unix/sysv/linux/readdir.c: New file.
        * sysdeps/unix/sysv/linux/readdir_r.c: Likewise.
        * sysdeps/unix/sysv/linux/readdir64.c: Add compat symbol if required.
        * sysdeps/unix/sysv/linux/readdir64_r.c: Likewise.

commit 243f59e5aa97b0b5f1e6a78913cf7f1ba18bd4c3
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Apr 6 17:24:15 2018 -0300

    Update i386 libm-test-ulps.
    
    Updated ulps after recent commit "[PATCH 1/7] sin/cos slow paths:
    avoid slow paths for small inputs"
    (19a8b9a300f2f1f0012aff0f2b70b09430f50d9e).
    
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update.

commit 690c3475f1417c99cb0fc69f35d77560c24c1d69
Author: Andreas Schwab <address@hidden>
Date:   Fri Apr 6 08:44:07 2018 +0200

    Fix missing @ before texinfo command

commit bbc2062a75ae950d6b3b66bd97907b158a2e882c
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Apr 5 16:31:37 2018 -0300

    Update SPARC libm-test-ulps.
    
        * sysdeps/sparc/fpu/libm-test-ulps: Update.

commit fa7c6199780042055c76bce8ff05515a4976fd43
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Apr 5 16:31:27 2018 -0300

    Update ARM libm-test-ulps.
    
        * sysdeps/arm/libm-test-ulps: Update.

commit b4a5d26d8835d972995f0a0a2f805a8845bafa0b
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 2 11:04:18 2017 -0200

    linux: Consolidate sigaction implementation
    
    This patch consolidates all Linux sigaction implementations on the default
    sysdeps/unix/sysv/linux/sigaction.c.  The idea is remove redundant code
    and simplify new ports addition by following the current generic
    Linux User API (UAPI).
    
    The UAPI for new ports defines a generic extensible sigaction struct as:
    
      struct sigaction
      {
        __sighandler_t sa_handler;
        unsigned long sa_flags;
      #ifdef SA_RESTORER
        void (*sa_restorer) (void);
      #endif
        sigset_t sa_mask;
      };
    
    Where SA_RESTORER is just placed for compatibility reasons (news ports
    should not add it).  A similar definition is used on generic
    kernel_sigaction.h.
    
    The user exported sigaction definition is not changed, so for most
    architectures it requires an adjustment to kernel expected one for the
    syscall.
    
    The main changes are:
    
      - All architectures now define and use a kernel_sigaction struct meant
        for the syscall, even for the architectures where the user sigaction
        has the same layout of the kernel expected one (s390-64 and ia64).
        Although it requires more work for these architectures, it simplifies
        the generic implementation. Also, sigaction is hardly a hotspot where
        micro optimization would play an important role.
    
      - The generic kernel_sigaction definition is now aligned with expected
        UAPI one for newer ports, where SA_RESTORER and sa_restorer are not
        expected to be defined.  This means adding kernel_sigaction for
        current architectures that does define it (m68k, nios2, powerpc, s390,
        sh, sparc, and tile) and which rely on previous generic definition.
    
      - Remove old MIPS usage of sa_restorer.  This was removed since 2.6.27
        (2957c9e61ee9c - "[MIPS] IRIX: Goodbye and thanks for all the fish").
    
      - The remaining arch-specific sigaction.c are to handle ABI idiosyncrasies
        (like SPARC kernel ABI for rt_sigaction that requires an additional
        stub argument).
    
    So for new ports the generic implementation should work if its uses
    Linux UAPI.  If SA_RESTORER is still required (due some architecture
    limitation), it should define its own kernel_sigaction.h, define it and
    include generic header (assuming it still uses the default generic kernel
    layout).
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, arm-linux-gnueabihf,
    aarch64-linux-gnu, sparc64-linux-gnu, sparcv9-linux-gnu, powerpc-linux-gnu,
    powerpc64-linux-gnu, ia64-linux-gnu and alpha-linux-gnu.  I also checked the
    build on all remaining affected ABIs.
    
        * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Use default Linux version
        as base implementation.
        * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Add include guards,
        remove unrequired definitions and update comments.
        * sysdeps/unix/sysv/linux/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: New file.
        * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction: Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/kernel_sigaction.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/sigaction.c: Remove file.
        * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise.
        * sysdeps/unix/sysv/linux/sigaction.c: Add STUB, SET_SA_RESTORER,
        and RESET_SA_RESTORER hooks.

commit db9e55ff3620865571a87f6677a15bb28769249e
Author: Stefan Liebler <address@hidden>
Date:   Thu Apr 5 16:20:03 2018 +0200

    S390: Regenerate ULPs.
    
    Updated ulps after recent commit
    "[PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs"
    (19a8b9a300f2f1f0012aff0f2b70b09430f50d9e).
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit cf138b0c83b3210990b29772e2af5982fb0e3c26
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 5 12:52:19 2018 +0200

    manual: Various fixes to the mbstouwcs example, and mbrtowc update
    
    The example did not work because the null byte was not converted, and
    mbrtowc was called with a zero-length input string.  This results in a
    (size_t) -2 return value, so the function always returns NULL.
    
    The size computation for the heap allocation of the result was
    incorrect because it did not deal with integer overflow.
    
    Error checking was missing, and the allocated memory was not freed on
    error paths.  All error returns now set errno.  (Note that there is an
    assumption that free does not clobber errno.)
    
    The slightly unportable comparision against (size_t) -2 to catch both
    (size_t) -1 and (size_t) -2 return values is gone as well.
    
    A null wide character needs to be stored in the result explicitly, to
    terminate it.
    
    The description in the manual is updated to deal with these finer
    points.  The (size_t) -2 behavior (consuming the input bytes) matches
    what is specified in ISO C11.

commit 0f339252697e6dcfc9e00be6cd8272d4260b90d2
Author: Florian Weimer <address@hidden>
Date:   Thu Apr 5 12:50:58 2018 +0200

    manual: Move mbstouwcs to an example C file

commit 08e92e2443a6ca4cfd45b87e22bef3454f369752
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 5 09:38:58 2018 +0200

    Revert "hurd: Avoid PLTs for longjmp & siglongjmp"
    
    This reverts commit e5f9508a32426b7c3948dc741d84355071ed9539.

commit c120981d72faa4a07a31d92f015353b12d72d992
Author: Samuel Thibault <address@hidden>
Date:   Thu Apr 5 01:52:29 2018 +0200

    hurd: Avoid PLT for dirfd
    
        * include/dirent.h (dirfd): Add hidden proto.
        * dirent/dirfd.c (dirfd): Add hidden def.
        * sysdeps/mach/hurd/dirfd.c (dirfd): Add hidden def.
        * sysdeps/posix/dirfd.c (dirfd): Add hidden def.

commit e5f9508a32426b7c3948dc741d84355071ed9539
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 23:19:18 2018 +0000

    hurd: Avoid PLTs for longjmp & siglongjmp
    
        * include/setjmp.h (longjmp, siglongjmp): Add hidden protos.
        * setjmp/longjmp.c (longjmp, siglongjmp): Add hidden defs.
        * sysdeps/s390/longjmp.c (longjmp, siglongjmp): Add hidden defs.

commit b2fd61ca9b252f61d0a5afd06cc5c95a3898d4df
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Wed Apr 4 19:17:13 2018 -0300

    powerpc: Update sin, cos and sincos ULPs
    
        * sysdeps/powerpc/fpu/libm-test-ulps: Increase double-precision
        sin, cos and sincos to 1 ULP.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit e7feec374c635b6a29d65c39ae5e1855528fed39
Author: Maciej W. Rozycki <address@hidden>
Date:   Wed Apr 4 23:09:37 2018 +0100

    elf: Correct absolute (SHN_ABS) symbol run-time calculation [BZ #19818]
    
    Do not relocate absolute symbols by the base address.  Such symbols have
    SHN_ABS as the section index and their value is not supposed to be
    affected by relocation as per the ELF gABI[1]:
    
    "SHN_ABS
        The symbol has an absolute value that will not change because of
        relocation."
    
    The reason for our non-conformance here seems to be an old SysV linker
    bug causing symbols like _DYNAMIC to be incorrectly emitted as absolute
    symbols[2].  However in a previous discussion it was pointed that this
    is seriously flawed by preventing the lone purpose of the existence of
    absolute symbols from being used[3]:
    
    "On the contrary, the only interpretation that makes sense to me is that
    it will not change because of relocation at link time or at load time.
    Absolute symbols, from the days of the earliest linking loaders, have
    been used to represent addresses that are outside the address space of
    the module (e.g., memory-mapped addresses or kernel gateway pages).
    They've even been used to represent true symbolic constants (e.g.,
    system entry point numbers, sizes, version numbers).  There's no other
    way to represent a true absolute symbol, while the meaning you seek is
    easily represented by giving the symbol a non-negative st_shndx value."
    
    and we ought to stop supporting our current broken interpretation.
    
    Update processing for dladdr(3) and dladdr1(3) so that SHN_ABS symbols
    are ignored, because under the corrected interpretation they do not
    represent addresses within a mapped file and therefore are not supposed
    to be considered.
    
    References:
    
    [1] "System V Application Binary Interface - DRAFT - 19 October 2010",
        The SCO Group, Section "Symbol Table",
        <http://www.sco.com/developers/gabi/2012-12-31/ch4.symtab.html>
    
    [2] Alan Modra, "Absolute symbols"
        <https://sourceware.org/ml/binutils/2012-05/msg00019.html>
    
    [3] Cary Coutant, "Re: Absolute symbols"
        <https://sourceware.org/ml/binutils/2012-05/msg00020.html>
    
        [BZ #19818]
        * sysdeps/generic/ldsodefs.h (SYMBOL_ADDRESS): Handle SHN_ABS
        symbols.
        * elf/dl-addr.c (determine_info): Ignore SHN_ABS symbols.
        * elf/tst-absolute-sym.c: New file.
        * elf/tst-absolute-sym-lib.c: New file.
        * elf/tst-absolute-sym-lib.lds: New file.
        * elf/Makefile (tests): Add `tst-absolute-sym'.
        (modules-names): Add `tst-absolute-sym-lib'.
        (LDLIBS-tst-absolute-sym-lib.so): New variable.
        ($(objpfx)tst-absolute-sym-lib.so): New dependency.
        ($(objpfx)tst-absolute-sym): New dependency.

commit 10a446ddcc1100d6d76c6aa0c6d4775209388152
Author: Maciej W. Rozycki <address@hidden>
Date:   Wed Apr 4 23:09:37 2018 +0100

    elf: Unify symbol address run-time calculation [BZ #19818]
    
    Wrap symbol address run-time calculation into a macro and use it
    throughout, replacing inline calculations.
    
    There are a couple of variants, most of them different in a functionally
    insignificant way.  Most calculations are right following RESOLVE_MAP,
    at which point either the map or the symbol returned can be checked for
    validity as the macro sets either both or neither.  In some places both
    the symbol and the map has to be checked however.
    
    My initial implementation therefore always checked both, however that
    resulted in code larger by as much as 0.3%, as many places know from
    elsewhere that no check is needed.  I have decided the size growth was
    unacceptable.
    
    Having looked closer I realized that it's the map that is the culprit.
    Therefore I have modified LOOKUP_VALUE_ADDRESS to accept an additional
    boolean argument telling it to access the map without checking it for
    validity.  This in turn has brought quite nice results, with new code
    actually being smaller for i686, and MIPS o32, n32 and little-endian n64
    targets, unchanged in size for x86-64 and, unusually, marginally larger
    for big-endian MIPS n64, as follows:
    
    i686:
       text    data     bss     dec     hex filename
     152255    4052     192  156499   26353 ld-2.27.9000-base.so
     152159    4052     192  156403   262f3 ld-2.27.9000-elf-symbol-value.so
    MIPS/o32/el:
       text    data     bss     dec     hex filename
     142906    4396     260  147562   2406a ld-2.27.9000-base.so
     142890    4396     260  147546   2405a ld-2.27.9000-elf-symbol-value.so
    MIPS/n32/el:
       text    data     bss     dec     hex filename
     142267    4404     260  146931   23df3 ld-2.27.9000-base.so
     142171    4404     260  146835   23d93 ld-2.27.9000-elf-symbol-value.so
    MIPS/n64/el:
       text    data     bss     dec     hex filename
     149835    7376     408  157619   267b3 ld-2.27.9000-base.so
     149787    7376     408  157571   26783 ld-2.27.9000-elf-symbol-value.so
    MIPS/o32/eb:
       text    data     bss     dec     hex filename
     142870    4396     260  147526   24046 ld-2.27.9000-base.so
     142854    4396     260  147510   24036 ld-2.27.9000-elf-symbol-value.so
    MIPS/n32/eb:
       text    data     bss     dec     hex filename
     142019    4404     260  146683   23cfb ld-2.27.9000-base.so
     141923    4404     260  146587   23c9b ld-2.27.9000-elf-symbol-value.so
    MIPS/n64/eb:
       text    data     bss     dec     hex filename
     149763    7376     408  157547   2676b ld-2.27.9000-base.so
     149779    7376     408  157563   2677b ld-2.27.9000-elf-symbol-value.so
    x86-64:
       text    data     bss     dec     hex filename
     148462    6452     400  155314   25eb2 ld-2.27.9000-base.so
     148462    6452     400  155314   25eb2 ld-2.27.9000-elf-symbol-value.so
    
        [BZ #19818]
        * sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Add `set'
        parameter.
        (SYMBOL_ADDRESS): New macro.
        [!ELF_FUNCTION_PTR_IS_SPECIAL] (DL_SYMBOL_ADDRESS): Use
        SYMBOL_ADDRESS for symbol address calculation.
        * elf/dl-runtime.c (_dl_fixup): Likewise.
        (_dl_profile_fixup): Likewise.
        * elf/dl-symaddr.c (_dl_symbol_address): Likewise.
        * elf/rtld.c (dl_main): Likewise.
        * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
        (elf_machine_rela): Likewise.
        * sysdeps/hppa/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Likewise.
        * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
        (elf_machine_rela): Likewise.
        * sysdeps/ia64/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/microblaze/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.
        (elf_machine_reloc): Likewise.
        (elf_machine_got_rel): Likewise.
        * sysdeps/mips/dl-trampoline.c (__dl_runtime_resolve): Likewise.
        * sysdeps/nios2/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/riscv/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela):
        Likewise.
        * sysdeps/tile/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 9185f86d8ffb37defdbea6ef616338106de6c2c8
Author: Zack Weinberg <address@hidden>
Date:   Wed Apr 4 12:37:23 2018 -0400

    Make sysdeps/generic/internal-signals.h less stubby.
    
    Three of the functions defined by internal-signals.h were not actually
    fulfilling their contracts when the sysdeps/generic version of that
    file was used.  Also, the Linux version included several more headers
    than the generic version, which is the root cause of a build failure
    on Hurd (already addressed in another way, but I think it is proper to
    make the headers match).
    
        * sysdeps/generic/internal-signals.h: Include signal.h,
        sigsetops.h, and stdbool.h.
        (__libc_signal_block_all): Actually block all signals.
        (__libc_signal_block_app): Likewise.
        (__libc_signal_restore_set): Actually restore the signal mask.

commit b07367bcf8ef92ab746c70258a17d386083a274e
Author: Florian Weimer <address@hidden>
Date:   Wed Apr 4 16:08:18 2018 +0200

    inet: Actually build and run tst-deadline

commit 397f5789da6258ed59db1a238b6623f6f3b085d2
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 02:31:23 2018 +0200

    hurd: Fix typo
    
    * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Fix typo in IFNAMSIZ.

commit d8440a21472a8053a8d0795b1f01b03d53648a0e
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 02:28:20 2018 +0200

    hurd: fix build
    
        * signal/sigaddset.c: Include <sigsetopts.h>.
        * signal/sigdelset.c: Likewise.

commit ff297b70b598dae814c7275c1df8a185d453cc51
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 02:17:49 2018 +0200

    hurd: Add missing symbols
    
        * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): Add
        hidden def.
        * mach/spin-lock.c (__mutex_unlock): Add hidden def.

commit e8ef51b171a79e558651b98be5c7a64c75354098
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 02:06:16 2018 +0200

    hurd: Silence warning
    
        * hurd/hurdsig.c (interrupted_reply_port_location): Use
        DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before.

commit cd104f4ff43fed06aed9069cf662c4a5bc2ffbc0
Author: Samuel Thibault <address@hidden>
Date:   Wed Apr 4 00:01:19 2018 +0200

    hurd: Fix missing trailing NUL in __if_nametoindex
    
    * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Pass the whole buffer
    size to strncpy.

commit 92846492dc3ae0be25e7ea93daf42b08906068d9
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 23:13:13 2018 +0200

    hurd: Make __if_nametoindex return ENODEV if ifname is too long
    
    rather than truncating it.
    
        * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Return ENODEV if
        ifname is too long.

commit 5e17a480f83061a0dd0228b7e6415520f3136f94
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 23:00:14 2018 +0200

    Revert parts of "hurd: Avoid more libc.so local PLTs"
    
    This reverts parts of commit 82dbf555a4d41690f63b94ccb4db4bf43d873aa0.

commit 51722f4dc796fc0e071f9d0350b03a65ba5c163a
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 22:59:17 2018 +0200

    Revert "s390x: Fix hidden aliases"
    
    This reverts commit 811836a411a1c97a0e70e7f096e57f316dc19c72.

commit f2652643d7234c08205b75f527191c2e2b35251f
Author: H.J. Lu <address@hidden>
Date:   Tue Apr 3 12:19:20 2018 -0700

    Update RWF_SUPPORTED for Linux kernel 4.16 [BZ #22947]
    
    Add RWF_APPEND to RWF_SUPPORTED to support Linux kernel 4.16.
    
        [BZ #22947]
        * bits/uio-ext.h (RWF_APPEND): New.
        * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
        * manual/llio.texi: Document RWF_APPEND.
        * misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
        (RWF_SUPPORTED): Add RWF_APPEND.

commit d2dc5467c67bc8625a4fc8f285b6a5443bf43df4
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Oct 31 23:10:37 2017 -0200

    Filter out NPTL internal signals (BZ #22391)
    
    This patch filters out the internal NPTL signals (SIGCANCEL/SIGTIMER and
    SIGSETXID) from signal functions.  GLIBC on Linux requires both signals to
    proper implement pthread cancellation, posix timers, and set*id posix
    thread synchronization.
    
    And not filtering out the internal signal is troublesome:
    
      - A conformant program on a architecture that does not filter out the
        signals might inadvertently disable pthread asynchronous cancellation,
        set*id synchronization or posix timers.
    
      - It might also to security issues if SIGSETXID is masked and set*id
        functions are called (some threads might have effective user or group
        id different from the rest).
    
    The changes are basically:
    
      - Change __is_internal_signal to bool and used on all signal function
        that has a signal number as input.  Also for signal function which 
accepts
        signals sets (sigset_t) it assumes that canonical function were used to
        add/remove signals which lead to some input simplification.
    
      - Fix tst-sigset.c to avoid check for SIGCANCEL/SIGTIMER and SIGSETXID.
        It is rewritten to check each signal indidually and to check realtime
        signals using canonical macros.
    
      - Add generic __clear_internal_signals and __is_internal_signal
        version since both symbols are used on generic implementations.
    
      - Remove superflous sysdeps/nptl/sigfillset.c.
    
      - Remove superflous SIGTIMER handling on Linux __is_internal_signal
        since it is the same of SIGCANCEL.
    
      - Remove dangling define and obvious comment on nptl/sigaction.c.
    
    Checked on x86_64-linux-gnu.
    
        [BZ #22391]
        * nptl/sigaction.c (__sigaction): Use __is_internal_signal to
        check for internal nptl signals.
        * nptl/sigaction.c (__sigaction): Likewise.
        * signal/sigaddset.c (sigaddset): Likewise.
        * signal/sigdelset.c (sigdelset): Likewise.
        * sysdeps/posix/signal.c (__bsd_signal): Likewise.
        * sysdeps/posix/sigset.c (sigset): Call and check sigaddset return
        value.
        * signal/sigfillset.c (sigfillset): User __clear_internal_signals
        to filter out internal nptl signals.
        * signal/tst-sigset.c (do_test): Check ech signal indidually and
        also check realtime signals using standard macros.
        * sysdeps/generic/internal-signals.h (__clear_internal_signals,
        __is_internal_signal, __libc_signal_block_all,
        __libc_signal_block_app, __libc_signal_restore_set): New functions.
        * sysdeps/nptl/sigfillset.c: Remove file.
        * sysdeps/unix/sysv/linux/internal-signals.h (__is_internal_signal):
        Change return to bool.
        (__clear_internal_signals): Remove SIGTIMER clean since it is
        equal to SIGCANEL on Linux.
        * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Assume
        signal set was constructed using standard functions.
    
    Reported-by: Yury Norov <address@hidden>

commit 511ed56f2e792bea5e7145e1d5d5c93b9f47c41f
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 18:06:15 2018 +0200

    hurd: Fix buffer overrun in __if_nametoindex
    
    and building with mainline GCC which reports it.
    
        * sysdeps/mach/hurd/if_index.c (__if_nametoindex): Always end
        ifr.fr_name with a NUL caracter.

commit e88ecbbfe836db5b6da809108759de4ca56be5e7
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:49:33 2018 +0100

    [PATCH 7/7] sin/cos slow paths: refactor sincos implementation
    
    Refactor the sincos implementation - rather than rely on odd partial 
inlining
    of preprocessed portions from sin and cos, explicitly write out the cases.
    This makes sincos much easier to maintain and provides an additional 16-20%
    speedup between 0 and 2^27.  The overall speedup of sincos is 48% over this 
range.
    Between 0 and PI it is 66% faster.
    
        * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Cleanup ifdefs.
        (__cos): Likewise.
        * sysdeps/ieee754/dbl-64/s_sin.c (__sincos): Refactor using the same
        logic as sin and cos.

commit aef3e2558a0ab0aff6d80f3e99ebe228321ab4b3
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:46:10 2018 +0100

    [PATCH 6/7] sin/cos slow paths: refactor duplicated code into dosin
    
    Refactor duplicated code into do_sin.  Since all calls to do_sin use 
copysign to
    set the sign of the result, move it inside do_sin.  Small inputs use a 
separate
    polynomial, so move this into do_sin as well (the check is based on the more
    conservative case when doing large range reduction, but could be relaxed).
    
        * sysdeps/ieee754/dbl-64/s_sin.c (do_sin): Use TAYLOR_SIN for small
        inputs.  Return correct sign.
        (do_sincos): Remove small input check before do_sin, let do_sin set
        the sign.
        (__sin): Likewise.
        (__cos): Likewise.

commit 72f6e9a3e34e2be76fd9a18ea1a427e7a713465e
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:43:34 2018 +0100

    [PATCH 5/7] sin/cos slow paths: remove unused slowpath functions
    
    Remove all unused slowpath functions.
    
        * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SLOW): Remove.
        (do_cos_slow): Likewise.
        (do_sin_slow): Likewise.
        (reduce_and_compute): Likewise.
        (slow): Likewise.
        (slow1): Likewise.
        (slow2): Likewise.
        (sloww): Likewise.
        (sloww1): Likewise.
        (sloww2): Likewise.
        (bslow): Likewise.
        (bslow1): Likewise.
        (bslow2): Likewise.
        (cslow2): Likewise.

commit 649095838b85ae71f778338c210b4c1e519e1d16
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:41:36 2018 +0100

    [PATCH 4/7] sin/cos slow paths: remove slow paths from huge range reduction
    
    For huge inputs use the improved do_sincos function as well.  Now no cases 
use
    the correction factor returned by do_sin, do_cos and TAYLOR_SIN, so remove 
it.
    
        * sysdeps/ieee754/dbl-64/s_sin.c (TAYLOR_SIN): Remove cor parameter.
        (do_cos): Remove corp parameter and calculations.
        (do_sin): Likewise.
        (do_sincos): Remove cor variable.
        (__sin): Use do_sincos for huge inputs.
        (__cos): Likewise.
        * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise.
        (reduce_and_compute_sincos): Remove unused function.

commit d9469deb14ba6f55bd8af1652951ab306a8f63bd
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:33:13 2018 +0100

    [PATCH 3/7] sin/cos slow paths: remove slow paths from small range reduction
    
    This patch improves the accuracy of the range reduction.  When the input is
    large (2^27) and very close to a multiple of PI/2, using 110 bits of PI is 
not
    enough.  Improve range reduction accuracy to 136 bits.  As a result the 
special
    checks for results close to zero can be removed.  The ULP of the 
polynomials is
    at worst 0.55ULP, so there is no reason for the slow functions, and they 
can be
    removed.
    
        * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_1): Rename to
        reduce_sincos, improve accuracy to 136 bits.
        (do_sincos_1): Rename to do_sincos, remove fallbacks to slow functions.
        (__sin): Use improved reduction and simplified do_sincos calculation.
        (__cos): Likewise.
        * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Likewise.

commit 7a5640f23a797d3be38a78fb899903699c3aa5a0
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:28:03 2018 +0100

    [PATCH 2/7] sin/cos slow paths: remove large range reduction
    
    This patch removes the large range reduction code and defers to the huge 
range
    reduction code.  The first level range reducer supports inputs up to 2^27,
    which is way too large given that inputs for sin/cos are typically small
    (< 10), and optimizing for a smaller range would give a significant speedup.
    
    Input values above 2^27 are practically never used, so there is no reason 
for
    supporting range reduction between 2^27 and 2^48.  Removing it significantly
    simplifies code and enables further speedups.  There is about a 2.3x 
slowdown
    in this range due to __branred being extremely slow  (a better algorithm 
could
    easily more than double performance).
    
        * sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_2): Remove function.
        (do_sincos_2): Likewise.
        (__sin): Remove middle range reduction case.
        (__cos): Likewise.
        * sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Remove middle range
        reduction case.

commit 19a8b9a300f2f1f0012aff0f2b70b09430f50d9e
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Apr 3 16:24:29 2018 +0100

    [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs
    
    This series of patches removes the slow patchs from sin, cos and sincos.
    Besides greatly simplifying the implementation, the new version is also much
    faster for inputs up to PI (41% faster) and for large inputs needing range
    reduction (27% faster).
    
    ULP is ~0.55 with no errors found after testing 1.6 billion inputs across 
most
    of the range with mpsin and mpcos.  The number of incorrectly rounded 
results
    (ie. ULP >0.5) is at most ~2750 per million inputs between 0.125 and 0.5,
    the average is ~850 per million between 0 and PI.
    
    Tested on AArch64 and x86_64 with no regressions.
    
    The first patch removes the slow paths for the cases where the input is 
small
    and doesn't require range reduction.  Update ULP tables for sin, cos and 
sincos
    on AArch64 and x86_64.
    
        * sysdeps/aarch64/libm-test-ulps: Update ULP for sin, cos, sincos.
        * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Remove slow paths for small
        inputs.
        (__cos): Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sin, cos, sincos.

commit f72aa11d7e3008d608e1092abade16101fed8f35
Author: Joseph Myers <address@hidden>
Date:   Tue Apr 3 15:41:08 2018 +0000

    Use Linux 4.16 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
        version to 4.16.

commit 8e4754ed7ed60e3243ce83eee14bdcc7b88b73d1
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Mar 1 15:55:25 2018 -0300

    Assume O_DIRECTORY for opendir
    
    This patch assumes O_DIRECTORY works as defined by POSIX on opendir
    implementation (aligning with other glibc code, for instance pwd).  This
    allows remove both the fallback code to handle system with missing or
    broken O_DIRECTORY along with the Linux specific opendir.c which just
    advertise the working flag.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu, and
    powerpc64le-linux-gnu.
    
        * sysdeps/posix/opendir.c (o_directory_works, tryopen_o_directory):
        Remove definitions.
        (opendir_oflags): Use O_DIRECTORY regardless.
        (__opendir, __opendirat): Remove need_isdir_precheck usage.
        * sysdeps/unix/sysv/linux/opendir.c: Remove file.

commit 57408435ad7716715fa3a74c874eb3dc4db61861
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Apr 3 08:54:32 2018 -0300

    Add Changelog reference to BZ#23024

commit 811836a411a1c97a0e70e7f096e57f316dc19c72
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 13:52:29 2018 +0200

    s390x: Fix hidden aliases
    
        * sysdeps/s390/longjmp.c (__libc_longjmp, __libc_siglongjmp): New
        hidden defs.

commit fe9748cca3fb247cea420a70b28e601abcb196aa
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 02:56:35 2018 +0200

    hurd: Avoid local PLT in libpthread
    
        * htl/pt-exit.c: Include <pthreadP.h>.
        (__pthread_exit): Call ___pthread_get_cleanup_stack instead of
        __pthread_get_cleanup_stack.

commit 82dbf555a4d41690f63b94ccb4db4bf43d873aa0
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 00:34:31 2018 +0000

    hurd: Avoid more libc.so local PLTs
    
        * hurd/catch-signal.c (__hurd_catch_signal): Call __libc_siglongjmp
        instead if siglongjmp.
        (hurd_safe_memmove): Call __libc_longjmp instead of longjmp.
        * hurd/hurdfault.c (faulted): Call __libc_longjmp instead of longjmp.
        * include/setjmp.h (__libc_siglongjmp, __libc_longjmp): New hidden
        prototypes.
        * libio/iolibio.h (_IO_puts): New hidden prototype.
        * libio/ioputs.c (_IO_puts): New hidden def.
        * setjmp/longjmp.c (__libc_longjmp, __libc_siglongjmp): New hidden
        defs.
        * sysdeps/mach/hurd/sigwait.c (__sigwait): Call __libc_longjmp instead
        of longjmp.

commit 62108dbf615381e08369491921f388a718dd002e
Author: Samuel Thibault <address@hidden>
Date:   Tue Apr 3 02:29:50 2018 +0200

    hurd: Fix typo
    
    * htl/pt-cleanup.c: Define __pthread_get_cleanup_stack alias instead of
    __pthread_cleanup_stack.

commit a758c29399641150dc38cffc79ab361c20fabcfd
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 23:40:26 2018 +0000

    hurd: Avoid more libc.so PLTs
    
        * sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden
        prototype.
        * hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def.
        * hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define
        _HEADER_H_HIDDEN_DEF macro.
        * sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error,
        _hurd_fd_error_signal): Add hidden prototype.
        [_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add
        hidden def.

commit 7a8f45e302b4518da518b48ab54ab43249d606f1
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 22:07:28 2018 +0000

    hurd: Avoid some libc.so PLTs
    
        * hurd/catch-signal.c (hurd_catch_signal): Rename to
        __hurd_catch_signal.
        (hurd_catch_signal): New strong alias.
        (hurd_safe_memset, hurd_safe_copyout, hurd_safe_copyin): Call
        __hurd_catch_signal instead of hurd_catch_signal.
        * hurd/exc2signal.c (_hurd_exception2signal): Add hidden def.
        * hurd/hurdexec.c (_hurd_init): Add hidden def.
        * hurd/hurdinit.c (_hurd_init): Add hidden def.
        * hurd/hurdsig.c: Include <mach/mig_support.h>.
        (_hurd_thread_sigstate): Add hidden def.
        (_hurd_internal_post_signal): Use __mutex_unlock instead of
        mutex_unlock.
        * hurd/intern-fd.c (_hurd_intern_fd): Add hidden def.
        * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add hidden def.
        * hurd/path-lookup.c (hurd_file_name_path_lookup): Rename to
        __hurd_file_name_path_lookup.
        (hurd_file_name_path_lookup): New strong alias.
        (file_name_path_lookup): Call __hurd_file_name_path_lookup instead of
        hurd_file_name_path_lookup.
        * mach/errstring.c (mach_error_type): Add hidden def.
        * mach/msg-destroy.c (__mach_msg_destroy): Add hidden def.
        * mach/mutex-init.c (__mutex_init): Add hidden def.
        * mach/spin-lock.c (__spin_lock_locked, __spin_lock, __spin_unlock,
        __spin_try_lock, __mutex_lock, __mutex_trylock): Add hidden defs.
        * mach/spin-solid.c (__spin_lock_solid): Add hidden def.
        * sysdeps/mach/hurd/getcwd.c
        (_hurd_canonicalize_directory_name_internal): Rename to
        __hurd_canonicalize_directory_name_internal.
        (_hurd_canonicalize_directory_name_internal): New strong alias.
        (__canonicalize_directory_name_internal, __getcwd): Call
        __hurd_canonicalize_directory_name_internal instead of
        _hurd_canonicalize_directory_name_internal.
        * sysdeps/mach/hurd/mig-reply.c: Include <mach/mig_support.h>.
        (__mig_get_reply_port, __mig_dealloc_reply_port, __mig_init): Add
        hidden defs.
        * sysdeps/hurd/include/hurd.h: New file.
        * sysdeps/hurd/include/hurd/fd.h: New file.
        * sysdeps/hurd/include/hurd/signal.h: New file.
        * sysdeps/mach/include/lock-intern.h: New file.
        * sysdeps/mach/include/mach.h: New file.
        * sysdeps/mach/include/mach/mig_support.h: New file.
        * sysdeps/mach/include/mach_error.h: New file.

commit 02008f83011862eda4aec358a369427b790d7cd8
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 23:47:56 2018 +0200

    hurd: whitelist ld.so PLTs supposed to be avoided by rtld_hidden
    
    * sysdeps/mach/hurd/localplt.data (ld.so): Add _dl_allocate_tls,
    _dl_allocate_tls_init, _dl_exception_create, _dl_exception_create_format,
    _dl_exception_free, _dl_find_dso_for_object, _dl_init_first, _dl_mcount,
    ___tls_get_addr, __tunable_get_val.

commit a83ed7ad786462cc5cc8a9522919dcbc1c32113f
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 23:43:33 2018 +0200

    hurd: Update localplt.data
    
    * sysdeps/mach/hurd/localplt.data: Inherit sysdeps/generic/localplt.data
    and comment functions currently unused.

commit b332b7aa559be3202bfa283b1e6d48c339347b57
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 23:32:48 2018 +0200

    hurd: Add __errno_location to overridable ld.so symbols
    
    * sysdeps/mach/hurd/localplt.data (ld.so): Add __errno_location.

commit 171488a2de9fc38ce304487b5344059d49b190ef
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 23:02:02 2018 +0200

    hurd: whitelist rtld symbols expected to be overridable
    
    * sysdeps/mach/hurd/localplt.data: New file.

commit 97c7a6a68beab2e1c771ab7787607c6cafa56591
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 21:45:38 2018 +0200

    Revert __dirfd PLT avoidance for now
    
    * io/fts.c (fts_build): Call dirfd instead of __dirfd.

commit dba2bdbe75bcb62e62133b7c4a807a2c45c098a7
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 19:07:52 2018 +0000

    hurd: Avoid some PLTs in libc and librt
    
        * hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and
        __vm_deallocate instead of vm_allocate and vm_deallocate.
        * hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of
        setenv.
        * hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead
        of geteuid.
        * hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of
        strdup.
        * hurd/siginfo.c: Include <libioP.h>.
        (_hurd_siginfo_handler): Call _IO_puts instead of puts.
        * hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap 
instead of
        munmap.
        * io/fts.c (fts_build): Call __dirfd instead of dirfd.
        * mach/devstream.c: Include <libioP.h>.
        (dealloc_ref): Call __mach_port_deallocate instead of
        mach_port_deallocate.
        (mach_open_devstream): Call _IO_fopencookie instead of fopencookie.
        Call __mach_port_deallocate instead of mach_port_deallocate.
        * stdlib/canonicalize.c (__realpath): Call __pathconf instead of
        pathconf.
        * sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of
        munmap.
        * sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise.
        * sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill.
        * sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead
        of munmap.
        * sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead
        of close.
        * sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf
        instead of sysconf.
        * sysdeps/pthread/timer_gettime.c (timer_gettime): Call
        __clock_gettime instead of clock_gettime.
        * sysdeps/pthread/timer_routines.c (thread_func): Likewise.
        * sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
        * sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl.
        * sysdeps/unix/bsd/stty.c (stty): Likewise.
        * sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of
        tcgetattr.
        * sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
        __clock_gettime and __nanosleep instead of clock_gettime and
        nanosleep.

commit f6fb29d22eefb208c0c7da463c31229d50ccbe01
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 18:08:37 2018 +0000

    hurd: Avoid local PLTs in libpthread.
    
        * htl/cthreads-compat.c (__cthread_detach): Call __pthread_detach
        instead of pthread_detach.
        (__cthread_fork): Call __pthread_create instead of pthread_create.
        (__cthread_keycreate): Call __pthread_key_create instead of
        pthread_key_create.
        (__cthread_getspecific): Call __pthread_getspecific instead of
        pthread_getspecific.
        (__cthread_setspecific): Call __pthread_setspecific instead of
        pthread_setspecific.
        * htl/pt-alloc.c (__pthread_alloc): Call __pthread_mutex_lock and
        __pthread_mutex_unlock instead of pthread_mutex_lock and
        pthread_mutex_unlock.
        * htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to
        ___pthread_get_cleanup_stack.
        (__pthread_get_cleanup_stack): New strong alias.
        * htl/pt-create.c: Include <pthreadP.h>.
        (entry_point): Call __pthread_exit instead of pthread_exit.
        (pthread_create): Rename to __pthread_create.
        (pthread_create): New strong alias.
        * htl/pt-detach.c (pthread_detach): Rename to __pthread_detach.
        (pthread_detach): New strong alias.
        (__pthread_detach): Call __pthread_cond_broadcast instead of
        pthread_cond_broadcast.
        * htl/pt-exit.c (__pthread_exit): Call __pthread_setcancelstate
        instead of pthread_setcancelstate.
        * htl/pt-testcancel.c: Include <pthreadP.h>.
        (pthread_testcancel): Call __pthread_exit instead of pthread_exit.
        * sysdeps/htl/pt-attr-getstack.c: Include <pthreadP.h>
        (__pthread_attr_getstack): Call __pthread_attr_getstackaddr and
        __pthread_attr_getstacksize instead of pthread_attr_getstackaddr and
        pthread_attr_getstacksize.
        * sysdeps/htl/pt-attr-getstackaddr.c (pthread_attr_getstackaddr):
        Rename to __pthread_attr_getstackaddr.
        (pthread_attr_getstackaddr): New strong alias.
        * sysdeps/htl/pt-attr-getstacksize.c (pthread_attr_getstacksize):
        Rename to __pthread_attr_getstacksize.
        (pthread_attr_getstacksize): New strong alias.
        * sysdeps/htl/pt-attr-setstack.c: Include <pthreadP.h>.
        (pthread_attr_setstack): Rename to __pthread_attr_setstack.
        (pthread_attr_setstack): New strong alias.
        (__pthread_attr_setstack): Call __pthread_attr_getstacksize,
        __pthread_attr_setstacksize and __pthread_attr_setstackaddr instead of
        pthread_attr_getstacksize, pthread_attr_setstacksize and
        pthread_attr_setstackaddr.
        * sysdeps/htl/pt-attr-setstackaddr.c (pthread_attr_setstackaddr):
        Rename to __pthread_attr_setstackaddr.
        (pthread_attr_setstackaddr): New strong alias.
        * sysdeps/htl/pt-attr-setstacksize.c (pthread_attr_setstacksize):
        Rename to __pthread_attr_setstacksize.
        (pthread_attr_setstacksize): New strong alias.
        * sysdeps/htl/pt-cond-timedwait.c: Include <pthreadP.h>.
        (__pthread_cond_timedwait_internal): Use __pthread_exit instead of
        pthread_exit.
        * sysdeps/htl/pt-key-create.c: Include <pthreadP.h>.
        (__pthread_key_create): New hidden def.
        * sysdeps/htl/pt-key.h: Include <pthreadP.h>.
        * sysdeps/htl/pthreadP.h (_pthread_mutex_init,
        __pthread_cond_broadcast, __pthread_create, __pthread_detach,
        __pthread_exit, __pthread_key_create, __pthread_getspecific,
        __pthread_setspecific, __pthread_setcancelstate,
        __pthread_attr_getstackaddr, __pthread_attr_setstackaddr,
        __pthread_attr_getstacksize, __pthread_attr_setstacksize,
        __pthread_attr_setstack, ___pthread_get_cleanup_stack): New
        declarations.
        (__pthread_key_create, _pthread_mutex_init): New hidden declarations.
        * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c
        (pthread_attr_setstackaddr): Rename to __pthread_attr_setstackaddr.
        (pthread_attr_setstackaddr): New strong alias.
        * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c
        (pthread_attr_setstacksize): Rename to __pthread_attr_setstacksize.
        (pthread_attr_setstacksize): New strong alias.
        * sysdeps/mach/hurd/htl/pt-docancel.c: Include <pthreadP.h>.
        (call_exit): Call __pthread_exit instead of pthread_exit.
        * sysdeps/mach/hurd/htl/pt-mutex-init.c: Include <pthreadP.h>.
        (_pthread_mutex_init): New hidden definition.
        * sysdeps/mach/hurd/htl/pt-sysdep.c: Include <pthreadP.h>.
        (_init_routine): Call __pthread_attr_init and __pthread_attr_setstack
        instead of pthread_attr_init and pthread_attr_setstack.

commit fa9e15558d711c098183be531043eae465b81036
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 17:07:11 2018 +0200

    hurd: Fix exposition of UTIME_NOW, UTIME_OMIT
    
        * sysdeps/mach/hurd/bits/stat.h [!__USE_MISC && __USE_ATFILE]
        (UTIME_NOW, UTIME_OMIT): Define macros.

commit fb03b04b7f18638d0942622a479acf7f63b5019f
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 16:45:44 2018 +0200

    hurd: Announce that glibc now builds unpatched
    
        * NEWS: Announce that glibc now builds unpatched on GNU/Hurd.
        * README: Remove the mention of out-of-tree patches needed for
        GNU/Hurd.

commit ad2b41bfd8b60f77812dcfbce1db59ae53087272
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 16:37:36 2018 +0200

    hurd: Bump remaining LGPL2+ htl licences to LGPL 2.1+
    
        * htl/Makefile: Bump licence to LGPL 2.1+.
        * htl/alloca_cutoff.c: Likewise.
        * htl/cthreads-compat.c: Likewise.
        * htl/lockfile.c: Likewise.
        * htl/pt-alloc.c: Likewise.
        * htl/pt-cancel.c: Likewise.
        * htl/pt-cleanup.c: Likewise.
        * htl/pt-create.c: Likewise.
        * htl/pt-dealloc.c: Likewise.
        * htl/pt-detach.c: Likewise.
        * htl/pt-exit.c: Likewise.
        * htl/pt-getattr.c: Likewise.
        * htl/pt-initialize.c: Likewise.
        * htl/pt-internal.h: Likewise.
        * htl/pt-join.c: Likewise.
        * htl/pt-self.c: Likewise.
        * htl/pt-setcancelstate.c: Likewise.
        * htl/pt-setcanceltype.c: Likewise.
        * htl/pt-sigmask.c: Likewise.
        * htl/pt-spin-inlines.c: Likewise.
        * htl/pt-testcancel.c: Likewise.
        * htl/pt-yield.c: Likewise.
        * htl/tests/test-1.c: Likewise.
        * htl/tests/test-10.c: Likewise.
        * htl/tests/test-11.c: Likewise.
        * htl/tests/test-12.c: Likewise.
        * htl/tests/test-13.c: Likewise.
        * htl/tests/test-14.c: Likewise.
        * htl/tests/test-15.c: Likewise.
        * htl/tests/test-16.c: Likewise.
        * htl/tests/test-17.c: Likewise.
        * htl/tests/test-2.c: Likewise.
        * htl/tests/test-3.c: Likewise.
        * htl/tests/test-4.c: Likewise.
        * htl/tests/test-5.c: Likewise.
        * htl/tests/test-6.c: Likewise.
        * htl/tests/test-7.c: Likewise.
        * htl/tests/test-8.c: Likewise.
        * htl/tests/test-9.c: Likewise.
        * htl/tests/test-__pthread_destroy_specific-skip.c: Likewise.
        * sysdeps/htl/bits/cancelation.h: Likewise.
        * sysdeps/htl/bits/pthread-np.h: Likewise.
        * sysdeps/htl/bits/pthread.h: Likewise.
        * sysdeps/htl/bits/pthreadtypes.h: Likewise.
        * sysdeps/htl/bits/semaphore.h: Likewise.
        * sysdeps/htl/bits/types/__pthread_key.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_attr.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_barrier.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_barrierattr.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_cond.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_condattr.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_mutex.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_mutexattr.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_once.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_rwlock.h: Likewise.
        * sysdeps/htl/bits/types/struct___pthread_rwlockattr.h: Likewise.
        * sysdeps/htl/old_pt-atfork.c: Likewise.
        * sysdeps/htl/pt-atfork.c: Likewise.
        * sysdeps/htl/pt-attr-destroy.c: Likewise.
        * sysdeps/htl/pt-attr-getdetachstate.c: Likewise.
        * sysdeps/htl/pt-attr-getguardsize.c: Likewise.
        * sysdeps/htl/pt-attr-getinheritsched.c: Likewise.
        * sysdeps/htl/pt-attr-getschedparam.c: Likewise.
        * sysdeps/htl/pt-attr-getschedpolicy.c: Likewise.
        * sysdeps/htl/pt-attr-getscope.c: Likewise.
        * sysdeps/htl/pt-attr-getstack.c: Likewise.
        * sysdeps/htl/pt-attr-getstackaddr.c: Likewise.
        * sysdeps/htl/pt-attr-getstacksize.c: Likewise.
        * sysdeps/htl/pt-attr-init.c: Likewise.
        * sysdeps/htl/pt-attr-setdetachstate.c: Likewise.
        * sysdeps/htl/pt-attr-setguardsize.c: Likewise.
        * sysdeps/htl/pt-attr-setinheritsched.c: Likewise.
        * sysdeps/htl/pt-attr-setschedparam.c: Likewise.
        * sysdeps/htl/pt-attr-setschedpolicy.c: Likewise.
        * sysdeps/htl/pt-attr-setscope.c: Likewise.
        * sysdeps/htl/pt-attr-setstack.c: Likewise.
        * sysdeps/htl/pt-attr-setstackaddr.c: Likewise.
        * sysdeps/htl/pt-attr-setstacksize.c: Likewise.
        * sysdeps/htl/pt-attr.c: Likewise.
        * sysdeps/htl/pt-barrier-destroy.c: Likewise.
        * sysdeps/htl/pt-barrier-init.c: Likewise.
        * sysdeps/htl/pt-barrier-wait.c: Likewise.
        * sysdeps/htl/pt-barrier.c: Likewise.
        * sysdeps/htl/pt-barrierattr-destroy.c: Likewise.
        * sysdeps/htl/pt-barrierattr-getpshared.c: Likewise.
        * sysdeps/htl/pt-barrierattr-init.c: Likewise.
        * sysdeps/htl/pt-barrierattr-setpshared.c: Likewise.
        * sysdeps/htl/pt-cond-brdcast.c: Likewise.
        * sysdeps/htl/pt-cond-destroy.c: Likewise.
        * sysdeps/htl/pt-cond-init.c: Likewise.
        * sysdeps/htl/pt-cond-signal.c: Likewise.
        * sysdeps/htl/pt-cond-timedwait.c: Likewise.
        * sysdeps/htl/pt-cond-wait.c: Likewise.
        * sysdeps/htl/pt-cond.c: Likewise.
        * sysdeps/htl/pt-condattr-destroy.c: Likewise.
        * sysdeps/htl/pt-condattr-getclock.c: Likewise.
        * sysdeps/htl/pt-condattr-getpshared.c: Likewise.
        * sysdeps/htl/pt-condattr-init.c: Likewise.
        * sysdeps/htl/pt-condattr-setclock.c: Likewise.
        * sysdeps/htl/pt-condattr-setpshared.c: Likewise.
        * sysdeps/htl/pt-destroy-specific.c: Likewise.
        * sysdeps/htl/pt-equal.c: Likewise.
        * sysdeps/htl/pt-getconcurrency.c: Likewise.
        * sysdeps/htl/pt-getcpuclockid.c: Likewise.
        * sysdeps/htl/pt-getschedparam.c: Likewise.
        * sysdeps/htl/pt-getspecific.c: Likewise.
        * sysdeps/htl/pt-init-specific.c: Likewise.
        * sysdeps/htl/pt-key-create.c: Likewise.
        * sysdeps/htl/pt-key-delete.c: Likewise.
        * sysdeps/htl/pt-key.h: Likewise.
        * sysdeps/htl/pt-mutex-destroy.c: Likewise.
        * sysdeps/htl/pt-mutex-getprioceiling.c: Likewise.
        * sysdeps/htl/pt-mutex-init.c: Likewise.
        * sysdeps/htl/pt-mutex-lock.c: Likewise.
        * sysdeps/htl/pt-mutex-setprioceiling.c: Likewise.
        * sysdeps/htl/pt-mutex-timedlock.c: Likewise.
        * sysdeps/htl/pt-mutex-trylock.c: Likewise.
        * sysdeps/htl/pt-mutex-unlock.c: Likewise.
        * sysdeps/htl/pt-mutexattr-destroy.c: Likewise.
        * sysdeps/htl/pt-mutexattr-getprioceiling.c: Likewise.
        * sysdeps/htl/pt-mutexattr-getprotocol.c: Likewise.
        * sysdeps/htl/pt-mutexattr-getpshared.c: Likewise.
        * sysdeps/htl/pt-mutexattr-gettype.c: Likewise.
        * sysdeps/htl/pt-mutexattr-init.c: Likewise.
        * sysdeps/htl/pt-mutexattr-setprioceiling.c: Likewise.
        * sysdeps/htl/pt-mutexattr-setprotocol.c: Likewise.
        * sysdeps/htl/pt-mutexattr-setpshared.c: Likewise.
        * sysdeps/htl/pt-mutexattr-settype.c: Likewise.
        * sysdeps/htl/pt-mutexattr.c: Likewise.
        * sysdeps/htl/pt-once.c: Likewise.
        * sysdeps/htl/pt-rwlock-attr.c: Likewise.
        * sysdeps/htl/pt-rwlock-destroy.c: Likewise.
        * sysdeps/htl/pt-rwlock-init.c: Likewise.
        * sysdeps/htl/pt-rwlock-rdlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-timedrdlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-timedwrlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-tryrdlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-trywrlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-unlock.c: Likewise.
        * sysdeps/htl/pt-rwlock-wrlock.c: Likewise.
        * sysdeps/htl/pt-rwlockattr-destroy.c: Likewise.
        * sysdeps/htl/pt-rwlockattr-getpshared.c: Likewise.
        * sysdeps/htl/pt-rwlockattr-init.c: Likewise.
        * sysdeps/htl/pt-rwlockattr-setpshared.c: Likewise.
        * sysdeps/htl/pt-setconcurrency.c: Likewise.
        * sysdeps/htl/pt-setschedparam.c: Likewise.
        * sysdeps/htl/pt-setschedprio.c: Likewise.
        * sysdeps/htl/pt-setspecific.c: Likewise.
        * sysdeps/htl/pt-spin.c: Likewise.
        * sysdeps/htl/pt-startup.c: Likewise.
        * sysdeps/htl/pthread.h: Likewise.
        * sysdeps/htl/sem-close.c: Likewise.
        * sysdeps/htl/sem-destroy.c: Likewise.
        * sysdeps/htl/sem-getvalue.c: Likewise.
        * sysdeps/htl/sem-init.c: Likewise.
        * sysdeps/htl/sem-open.c: Likewise.
        * sysdeps/htl/sem-post.c: Likewise.
        * sysdeps/htl/sem-timedwait.c: Likewise.
        * sysdeps/htl/sem-trywait.c: Likewise.
        * sysdeps/htl/sem-unlink.c: Likewise.
        * sysdeps/htl/sem-wait.c: Likewise.
        * sysdeps/hurd/htl/pt-kill.c: Likewise.
        * sysdeps/i386/htl/pt-machdep.h: Likewise.
        * sysdeps/mach/htl/pt-block.c: Likewise.
        * sysdeps/mach/htl/pt-spin.c: Likewise.
        * sysdeps/mach/htl/pt-stack-alloc.c: Likewise.
        * sysdeps/mach/htl/pt-thread-alloc.c: Likewise.
        * sysdeps/mach/htl/pt-thread-start.c: Likewise.
        * sysdeps/mach/htl/pt-thread-terminate.c: Likewise.
        * sysdeps/mach/htl/pt-timedblock.c: Likewise.
        * sysdeps/mach/htl/pt-wakeup.c: Likewise.
        * sysdeps/mach/hurd/htl/bits/pthread-np.h: Likewise.
        * sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h: Likewise.
        * sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-attr-setstacksize.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-docancel.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-consistent.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-getprioceiling.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-init.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-lock.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-setprioceiling.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-trylock.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex-unlock.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutex.h: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-destroy.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-getprioceiling.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-getprotocol.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-getpshared.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-init.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-setprioceiling.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-setrobust.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-mutexattr-settype.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-sigstate-destroy.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-sigstate-init.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-sigstate.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-sysdep.c: Likewise.
        * sysdeps/mach/hurd/htl/pt-sysdep.h: Likewise.
        * sysdeps/mach/hurd/i386/htl/pt-machdep.c: Likewise.
        * sysdeps/mach/hurd/i386/htl/pt-setup.c: Likewise.

commit deed72f6b0f57b2c3bfc2c6c43b68c022c7a3f6f
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 02:07:11 2018 +0200

    hurd: Remove bogus net/if_ppp.h
    
    It was not even compilable anyway.
    
        * sysdeps/mach/hurd/net/if_ppp.h: Remove file.
        * sysdeps/mach/hurd/Makefile (sysdep_headers): Remove net/if_ppp.h.

commit 8e2666ea9a2d5a13c3974ee7f4345e53de1eb366
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 01:56:12 2018 +0200

    hurd: Advertise libpthread
    
    * sysdeps/mach/hurd/bits/local_lim.h (_POSIX_THREAD_KEYS_MAX,
    _POSIX_THREAD_DESTRUCTOR_ITERATIONS, _POSIX_THREAD_THREADS_MAX): Define
    macros.
    * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_THREADS,
    _POSIX_THREAD_ATTR_STACKSIZE, _POSIX_THREAD_ATTR_STACKADDR,
    _POSIX_SEMAPHORES, _POSIX_READER_WRITER_LOCKS, _POSIX_TIMEOUTS,
    _POSIX_SPIN_LOCKS, _POSIX_BARRIERS): Define macros to 200809L.

commit a3bac9c2f26072ae6805393064c0a66a6ab1cb05
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 01:53:46 2018 +0200

    hurd libpthread: add function missing in ABI list
    
    * sysdeps/mach/hurd/i386/libpthread.abilist (__pthread_self): Add.

commit 33574c17eefcf326c1cd30eb9f915ad26d3d9ef2
Author: Samuel Thibault <address@hidden>
Date:   Mon Apr 2 01:43:22 2018 +0200

    hurd: Add hurd thread library
    
    Contributed by
    
    Agustina Arzille <address@hidden>
    Amos Jeffries <address@hidden>
    David Michael <address@hidden>
    Marco Gerards <address@hidden>
    Marcus Brinkmann <address@hidden>
    Neal H. Walfield <address@hidden>
    Pino Toscano <address@hidden>
    Richard Braun <address@hidden>
    Roland McGrath <address@hidden>
    Samuel Thibault <address@hidden>
    Thomas DiModica <address@hidden>
    Thomas Schwinge <address@hidden>
    
        * htl: New directory.
        * sysdeps/htl: New directory.
        * sysdeps/hurd/htl: New directory.
        * sysdeps/i386/htl: New directory.
        * sysdeps/mach/htl: New directory.
        * sysdeps/mach/hurd/htl: New directory.
        * sysdeps/mach/hurd/i386/htl: New directory.
        * nscd/Depend, resolv/Depend, rt/Depend: Add htl dependency.
        * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/i386/htl imply.
        * sysdeps/mach/hurd/i386/libpthread.abilist: New file.

commit 03e2aa50fd512449025bba8c244d16338d8526a4
Author: Samuel Thibault <address@hidden>
Date:   Fri Mar 30 02:45:01 2018 +0200

    hurd: avoid letting signals go to thread created by timer_create
    
    * sysdeps/pthread/timer_routines.c (__timer_thread_start): Block all
    signals in thread created for runing timers.

commit 1aa52ced5d6f090b6ee034626189ee03c1b2f582
Author: Florian Weimer <address@hidden>
Date:   Sun Apr 1 19:39:53 2018 +0200

    support_format_addrinfo: Include unknown error number in result

commit 4d76d3e59d31aa690f148fc0c95cc0c581aed3e8
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 29 11:42:24 2018 +0200

    Linux i386: tst-bz21269 triggers SIGBUS on some kernels
    
    In addition to SIGSEGV and SIGILL, SIGBUS is also a possible signal
    generated by the kernel.

commit d39c0a459ef32a41daac4840859bf304d931adab
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Mar 27 21:23:52 2018 -0300

    sparc: Fix arch_fork definition
    
    This patch fixes 3dc214977 for sparc.  Different than other architectures
    SPARC kernel Kconfig does not define CONFIG_CLONE_BACKWARDS, however it
    has the same ABI as if it did, implemented by sparc-specific code
    (sparc_do_fork).
    
    It also has a unique return value convention for clone:
    
       Parent -->  %o0 == child's  pid, %o1 == 0
       Child  -->  %o0 == parent's pid, %o1 == 1
    
    Which required a special macro to correct issue the syscall
    (INLINE_CLONE_SYSCALL).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/unix/sysv/linux/arch-fork.h [__ASSUME_CLONE_BACKWARDS]
        (arch_fork): Issue INLINE_CLONE_SYSCALL if defined.
        * sysdeps/unix/sysv/linux/sparc/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Define.

commit cc8a1620eb97ccddd337d157263c13c57b39ab71
Author: Jesse Hathaway <address@hidden>
Date:   Tue Mar 27 21:17:59 2018 +0000

    getlogin_r: return early when linux sentinel value is set
    
    When there is no login uid Linux sets /proc/self/loginid to the sentinel
    value of, (uid_t) -1. If this is set we can return early and avoid
    needlessly looking up the sentinel value in any configured nss
    databases.
    
    Checked on aarch64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
        early when linux sentinel value is set.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 8bfd94d0dc9a3e0140f084ef301749846ac6d5d3
Author: Samuel Thibault <address@hidden>
Date:   Tue Mar 27 23:20:07 2018 +0200

    hurd: advertise process memory locking option
    
    mlock/unlockall were already implemented.
    
    * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK): Define.

commit f178e59fa5eefbbd37fde040ae8334aa5c857ee1
Author: Andreas Schwab <address@hidden>
Date:   Tue Mar 27 12:16:11 2018 +0200

    Fix crash in resolver on memory allocation failure (bug 23005)

commit 5f45f96ad09d7f80172b45dca16d6ca2baeea2a8
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 26 21:18:28 2018 +0000

    Unify umount function implementations (bug 16552).
    
    Linux kernel architectures have various arrangements for umount
    syscalls.  There is a syscall that takes flags, and an older one that
    does not.  Newer architectures have only the one taking flags, under
    the name umount2 (or under the name umount, in the ia64 case).  Older
    architectures may have both, under the names umount2 and umount (or
    under the names umount and oldumount, in the alpha case).  glibc then
    has several similar implementations of the umount function (no flags)
    in terms of either the __umount2 function, or the corresponding
    syscall, or in terms of the old syscall under either of its names.
    
    This patch simplifies the implementations in glibc by always using the
    __umount2 function to implement the umount function on all systems
    using the Linux kernel.  The linux/generic implementation is moved to
    sysdeps/unix/sysv/linux (without any changes to code or comments) and
    all the other variants are removed.  (This will have the effect of
    causing the new syscall to be used in some cases that previously used
    the old one, but as discussed for previous changes, such a change to
    the underlying syscalls used is OK.)
    
    There remain two variants of how the __umount2 function is
    implemented, either in umount2.S, or, for ia64, in syscalls.list.
    
    Tested with build-many-glibcs.py.
    
        [BZ #16552]
        * sysdeps/unix/sysv/linux/generic/umount.c: Move to ....
        * sysdeps/unix/sysv/linux/umount.c: ... here.
        * sysdeps/unix/sysv/linux/arm/umount.c: Remove file.
        * sysdeps/unix/sysv/linux/hppa/umount.c: Likewise.
        * sysdeps/unix/sysv/linux/ia64/umount.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/umount.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Likewise.
        * sysdeps/unix/sysv/linux/umount.S: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/umount.c: Likewise.

commit 3dfd23eb4bdc7707048b115548e2238dacef064e
Author: Andreas Schwab <address@hidden>
Date:   Thu Mar 22 12:15:45 2018 +0100

    RISC-V: add remaining relocations

commit 2d813d7b77ba8341a0a982d74bb59f5a0d775784
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 25 09:27:39 2018 +0000

    hurd: Regenerate errno.h header
    
        * sysdeps/mach/hurd/bits/errno.h: Regenerate.

commit 978a6803e25f49460a9519558dbc426c97db6d64
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 25 00:59:18 2018 +0100

    hurd: Fix calling __pthread_initialize_minimal in shared case
    
        * sysdeps/generic/ldsodefs.h [SHARED] (__pthread_initialize_minimal):
        Declare function.

commit 37be82a03f314f6f277a74b949210f8ab07dc88f
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 25 00:54:55 2018 +0100

    Add missing changelog from previous commit

commit bcfa607b26c2399d4fda88705d40978d62af8bf3
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 17 01:28:41 2018 +0100

    hurd: Initialize TLS and libpthread before signal thread start
    
    * sysdeps/generic/libc-start.h [!SHARED] (ARCH_SETUP_TLS): Define to
    __libc_setup_tls.
    * sysdeps/unix/sysv/linux/powerpc/libc-start.h [!SHARED]
    (ARCH_SETUP_TLS): Likewise.
    * sysdeps/mach/hurd/libc-start.h: New file copied from
    sysdeps/generic/libc-start.h, but define ARCH_SETUP_TLS to empty.
    * csu/libc-start.c [!SHARED] (LIBC_START_MAIN): Call ARCH_SETUP_TLS instead
    of __libc_setup_tls.
    * sysdeps/mach/hurd/i386/init-first.c [!SHARED] (init1): Call
    __libc_setup_tls before initializing libpthread and running _hurd_init which
    starts the signal thread.

commit fa97d2ab5b19de0ca3cd02471d0bbf4f09b5032d
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 25 00:48:01 2018 +0100

    hurd: Fix accessing errno from rtld
    
    Letting rtld access errno through TLS can not work at early stages since
    TLS will not be initialized yet.  When a private errno is not possible,
    we thus have no other way than going through __errno_location.
    
        * include/errno.h [IS_IN(rtld) && !RTLD_PRIVATE_ERRNO]: Do not use the
        TLS declaration of errno.

commit b8114edd3c9e789c36789f4ce5ca6deb41ea0a14
Author: H.J. Lu <address@hidden>
Date:   Sat Mar 24 08:25:43 2018 -0700

    Add $(tests-execstack-$(have-z-execstack)) after defined [BZ #22998]
    
    When $(tests-execstack-$(have-z-execstack)) is added to tests before
    it is defined, it is empty.  This patch adds it to tests after it is
    defined.
    
        [BZ #22998]
        * elf/Makefile (tests): Add $(tests-execstack-$(have-z-execstack))
        after it is defined.

commit cd66c0e584c6d692bc8347b5e72723d02b8a8ada
Author: Andrew Senkevich <address@hidden>
Date:   Fri Mar 23 16:19:45 2018 +0100

    Fix i386 memmove issue (bug 22644).
    
        [BZ #22644]
        * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
        branch conditions.
        * string/test-memmove.c (do_test2): New testcase.

commit a44061398c3b531b37e134a6a97accb2251fa28a
Author: Joseph Myers <address@hidden>
Date:   Thu Mar 22 16:40:51 2018 +0000

    Remove unused frame.h header, sigcontextinfo.h macros.
    
    The glibc-internal header frame.h was used in the old
    debug/backtrace.c but is now unused.  Similarly, there are some
    sigcontextinfo.h macros that are used nowhere in glibc -
    ADVANCE_STACK_FRAME and FIRST_FRAME_POINTER were used in the old
    debug/backtrace.c, while SIGCONTEXT_EXTRA_ARGS, GET_FRAME, GET_STACK
    and CALL_SIGHANDLER were unused even before the removal of that old
    implementation (beyond uses of SIGCONTEXT_EXTRA_ARGS in definitions of
    CALL_SIGHANDLER).  This patch removes all the unused frame.h headers
    and definitions of those macros.
    
    Tested with build-many-glibcs.py.
    
        * sysdeps/generic/frame.h: Remove file.
        * sysdeps/arm/frame.h: Likewise.
        * sysdeps/hppa/frame.h: Likewise.
        * sysdeps/generic/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Remove
        macro.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/mach/hurd/i386/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS):
        Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (ADVANCE_STACK_FRAME): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (FIRST_FRAME_POINTER): Likewise.
        (ADVANCE_STACK_FRAME): Likewise.
        (GET_STACK): Likewise.
        (GET_FRAME): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (ADVANCE_STACK_FRAME): Likewise.
        (GET_STACK): Likewise.
        (GET_FRAME): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
        (SIGCONTEXT_EXTRA_ARGS): Likewise.
        (GET_FRAME): Likewise.
        (GET_STACK): Likewise.
        (CALL_SIGHANDLER): Likewise.

commit ffec7b2740bd6377b054438779228989c61ea82c
Author: Joseph Myers <address@hidden>
Date:   Wed Mar 21 17:25:30 2018 +0000

    Use x86_64 backtrace as generic version.
    
    No glibc configuration uses the present debug/backtrace.c, whereas
    several #include the x86_64 version.  The x86_64 version is
    effectively a generic one (using _Unwind_Backtrace from libgcc, which
    works much more reliably than the built-in functions used by
    debug/backtrace.c).  This patch moves it to debug/backtrace.c and
    removes all the #includes of the x86_64 version from other
    architectures which are no longer required.
    
    I do not know whether all the other architecture-specific backtrace
    implementations that are based on _Unwind_Backtrace are required, or
    whether, where their differences from the generic version do something
    useful, suitable hooks could be added to the generic version to reduce
    the duplication involved.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * sysdeps/x86_64/backtrace.c: Move to ....
        * debug/backtrace.c: ... here.
        * sysdeps/aarch64/backtrace.c: Remove file.
        * sysdeps/alpha/backtrace.c: Likewise.
        * sysdeps/hppa/backtrace.c: Likewise.
        * sysdeps/ia64/backtrace.c: Likewise.
        * sysdeps/mips/backtrace.c: Likewise.
        * sysdeps/nios2/backtrace.c: Likewise.
        * sysdeps/riscv/backtrace.c: Likewise.
        * sysdeps/sh/backtrace.c: Likewise.
        * sysdeps/tile/backtrace.c: Likewise.

commit d0c5d731af73fcd787fb398a34e2431bcb686bd3
Author: Joseph Myers <address@hidden>
Date:   Tue Mar 20 18:35:50 2018 +0000

    Remove powerpc, sparc fdim inlines (bug 22987).
    
    The powerpc and sparc bits/mathinline.h include inlines of fdim and
    fdimf.  These are not restricted to -fno-math-errno, but do not set
    errno, and wrongly use ordered <= comparisons instead of the required
    islessequal comparisons (this latter issue is latent on powerpc
    because GCC wrongly uses unordered comparison instructions for
    operations that should use ordered comparison instructions).
    
    Since we wish to avoid such header inlines anyway, leaving it to the
    compiler to inline such standard functions under appropriate
    conditions, this patch fixes those issues by removing the inlines in
    question (and thus removing the sparc bits/mathinline.h header which
    had no other inlines left in it).  I've filed
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85003> for adding
    correct fdim inlines to GCC, since the function is simple enough that
    a correct inline is a perfectly reasonable architecture-independent
    optimization with -fno-math-errno and in the absence of implicit
    excess precision.
    
    Tested with build-many-glibcs.py for all its powerpc and sparc
    configurations.
    
        [BZ #22987]
        * sysdeps/powerpc/bits/mathinline.h (fdim): Remove inline
        function.
        (fdimf): Likewise.
        * sysdeps/sparc/fpu/bits/mathinline.h: Remove file.

commit 8a07b0c43c46a480da070efd53a2720195e2256f
Author: Joseph Myers <address@hidden>
Date:   Tue Mar 20 18:25:24 2018 +0000

    Fix signed integer overflow in random_r (bug 17343).
    
    Bug 17343 reports that stdlib/random_r.c has code with undefined
    behavior because of signed integer overflow on int32_t.  This patch
    changes the code so that the possibly overflowing computations use
    unsigned arithmetic instead.
    
    Note that the bug report refers to "Most code" in that file.  The
    places changed in this patch are the only ones I found where I think
    such overflow can occur.
    
    Tested for x86_64 and x86.
    
        [BZ #17343]
        * stdlib/random_r.c (__random_r): Use unsigned arithmetic for
        possibly overflowing computations.

commit ceb54b9b4ff5ef7d518a6e6e415a6897fb77eb67
Author: Samuel Thibault <address@hidden>
Date:   Tue Mar 20 03:10:57 2018 +0100

    Fix errno values
    
        * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): Remove errno
        values from Linux-specific section now that it is in the GNU section.
        * sysdeps/gnu/errlist.c: Regenerate.

commit 79962d89a95247509b345ae068a84575718edbd7
Author: Samuel Thibault <address@hidden>
Date:   Tue Mar 20 03:00:15 2018 +0100

    hurd: Code style fixes
    
    No code change.

commit 8d3f9e85cfa14e5f82a0e9e934b9fe1e4cb342bf
Author: Joseph Myers <address@hidden>
Date:   Tue Mar 20 00:34:52 2018 +0000

    Add narrowing subtract functions.
    
    This patch adds the narrowing subtract functions from TS 18661-1 to
    glibc's libm: fsub, fsubl, dsubl, f32subf64, f32subf32x, f32xsubf64
    for all configurations; f32subf64x, f32subf128, f64subf64x,
    f64subf128, f32xsubf64x, f32xsubf128, f64xsubf128 for configurations
    with _Float64x and _Float128; __nldbl_dsubl for ldbl-opt.
    
    The changes are essentially the same as for the narrowing add
    functions, so the description of those generally applies to this patch
    as well.
    
    Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft
    float) and powerpc, and with build-many-glibcs.py.
    
        * math/Makefile (libm-narrow-fns): Add sub.
        (libm-test-funcs-narrow): Likewise.
        * math/Versions (GLIBC_2.28): Add narrowing subtract functions.
        * math/bits/mathcalls-narrow.h (sub): Use __MATHCALL_NARROW.
        * math/gen-auto-libm-tests.c (test_functions): Add sub.
        * math/math-narrow.h (CHECK_NARROW_SUB): New macro.
        (NARROW_SUB_ROUND_TO_ODD): Likewise.
        (NARROW_SUB_TRIVIAL): Likewise.
        * sysdeps/ieee754/float128/float128_private.h (__fsubl): New
        macro.
        (__dsubl): Likewise.
        * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fsub and
        dsub.
        (CFLAGS-nldbl-dsub.c): New variable.
        (CFLAGS-nldbl-fsub.c): Likewise.
        * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
        __nldbl_dsubl.
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_dsubl): New
        prototype.
        * manual/arith.texi (Misc FP Arithmetic): Document fsub, fsubl,
        dsubl, fMsubfN, fMsubfNx, fMxsubfN and fMxsubfNx.
        * math/auto-libm-test-in: Add tests of sub.
        * math/auto-libm-test-out-narrow-sub: New generated file.
        * math/libm-test-narrow-sub.inc: New file.
        * sysdeps/i386/fpu/s_f32xsubf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_f32xsubf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fsub.c: Likewise.
        * sysdeps/ieee754/float128/s_f32subf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64subf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64xsubf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_dsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_f64xsubf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_fsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_dsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_dsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_fsubl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-dsub.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-fsub.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fsub.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise.
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.
        * sysdeps/mach/hurd/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: 
Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit d473f01520af910fbc7d61ed8504a8a35a1aa720
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 19 18:08:48 2018 +0000

    Add SHT_X86_64_UNWIND to elf.h (bug 20079).
    
    As requested in bug 20079, this patch adds SHT_X86_64_UNWIND (a
    standard value from the x86_64 ABI) to elf.h.
    
    Tested for x86_64.
    
        [BZ #20079]
        * elf/elf.h (SHT_X86_64_UNWIND): New macro.

commit fbce6f7260c3847f14dfa38f60c9111978fb33a5
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Mar 19 10:53:14 2018 +0000

    Undefine attribute_hidden to fix benchtests
    
    Add an undefine of attribute_hidden since it may be defined in some cases
    (it must be defined since it is used by some hp-timing configurations).
    
        * benchtests/bench-timing.h (attribute_hidden): Undefine.

commit 0f652f053e7a501f5413b2b45997d299b5570cb1
Author: Samuel Thibault <address@hidden>
Date:   Mon Mar 19 01:32:39 2018 +0100

    hurd: Fix build with latest htl
    
    * hurd/hurdsig.c: Include <pthreadP.h> instead of <pthread.h>.

commit e54554ca6231febd312f01d8be556c7443d4a955
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 20:49:26 2018 +0100

    hurd: fix build
    
    * sysdeps/mach/hurd/i386/init-first.c: Compare d->phdr with 0 instead of
    NULL.

commit 72e7ffc37fd59e093eb6352c9e0abde2112a9346
Author: Richard Braun <address@hidden>
Date:   Sun Mar 18 20:27:16 2018 +0100

    Hurd: fix port leak in TLS
    
        * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Use a temporary
        thread reference.

commit 20bc801b3d4ba1eb1c9704a529b6720f096a14e5
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 20:14:12 2018 +0100

    hurd: Add mlockall support
    
        * sysdeps/mach/hurd/mlockall.c: New file.
        * sysdeps/mach/hurd/munlockall.c: New file.

commit aa2189295e4e531d05733d60bfd697c7a962b100
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 19:52:39 2018 +0100

    hurd: Fix boot with statically-linked exec server
    
        * sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by
        oneself when the pointer given in D is nul (as set by ext2fs).

commit 72103e73c9a76784b9e8b27a7d5b802178d6755b
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 19:43:04 2018 +0100

    hurd: Fix O_DIRECTORY | O_NOFOLLOW
    
    Appending / to the path to be looked up would make us always follow a final
    symlink, even with O_NOTRANS (since the final resolution is after the
    '/').  In the O_DIRECTORY | O_NOFOLLOW case, we thus have to really open
    the node and stat it, which we already do anyway, and check for
    directory type.
    
        * hurd/hurdlookup.c (__hurd_file_name_lookup): Do not append '/' to
        path when flags contains O_NOFOLLOW.
        * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR
        if flags contains O_DIRECTORY and the result is a directory.

commit 489999cc9cb1fab40c308b2e5ede3207e0f7a5be
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 19:39:29 2018 +0100

    hurd: Fix O_NOFOLLOW
    
    The error code documented by POSIX for opening a symlink with O_NOFOLLOW
    is ELOOP.
    
    Also, if the translator does not expose symlink as a symlink translator but
    as a S_IFLNK file, O_NOFOLLOW needs to return ELOOP too.
    
        * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ELOOP
        when opening a symlink with O_NOFOLLOW.

commit 55325314bf29d6f2430a2ce83368da8281b12f85
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 18:33:37 2018 +0100

    hurd: Fix copyright years

commit fb4cc8a0c2cc7ca710a2e1b21d33fcf7c5e3e8ba
Author: Agustina Arzille <address@hidden>
Date:   Sun Mar 18 18:22:55 2018 +0100

    hurd: Reimplement libc locks using mach's gsync
    
        * hurd/Makefile (routines): Add hurdlock.
        * hurd/Versions (GLIBC_PRIVATE): Added new entry to export the above
        interface.
        (HURD_CTHREADS_0.3): Remove __libc_getspecific.
        * hurd/hurdpid.c: Include <lowlevellock.h>
        (_S_msg_proc_newids): Use lll_wait to synchronize.
        * hurd/hurdsig.c: (reauth_proc): Use __mutex_lock and __mutex_unlock.
        * hurd/setauth.c: Include <hurdlock.h>, use integer for synchronization.
        * mach/Makefile (lock-headers): Remove machine-lock.h.
        * mach/lock-intern.h: Include <lowlevellock.h> instead of
        <machine-lock.h>.
        (__spin_lock_t): New type.
        (__SPIN_LOCK_INITIALIZER): New macro.
        (__spin_lock, __spin_unlock, __spin_try_lock, __spin_lock_locked,
        __mutex_init, __mutex_lock_solid, __mutex_unlock_solid, __mutex_lock,
        __mutex_unlock, __mutex_trylock): Use lll to implement locks.
        * mach/mutex-init.c: Include <lowlevellock.h> instead of <cthreads.h>.
        (__mutex_init): Initialize with lll.
        * manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): New errno values.
        * sysdeps/mach/Makefile: Add libmachuser as dependencies for libs
        needing lll.
        * sysdeps/mach/hurd/bits/errno.h: Regenerate.
        * sysdeps/mach/hurd/cthreads.c (__libc_getspecific): Remove function.
        * sysdeps/mach/hurd/bits/libc-lock.h: Remove file.
        * sysdeps/mach/hurd/setpgid.c: Include <lowlevellock.h>.
        (__setpgid): Use lll for synchronization.
        * sysdeps/mach/hurd/setsid.c: Likewise with __setsid.
        * sysdeps/mach/bits/libc-lock.h: Include <tls.h> and <lowlevellock.h>
        instead of <cthreads.h>.
        (_IO_lock_inexpensive): New macro
        (__libc_lock_recursive_t, __rtld_lock_recursive_t): New structures.
        (__libc_lock_self0): New declaration.
        (__libc_lock_owner_self): New macro.
        (__libc_key_t): Remove type.
        (_LIBC_LOCK_INITIALIZER): New macro.
        (__libc_lock_define_initialized, __libc_lock_init, __libc_lock_fini,
        __libc_lock_fini_recursive, __rtld_lock_fini_recursive,
        __libc_lock_lock, __libc_lock_trylock, __libc_lock_unlock,
        __libc_lock_define_initialized_recursive,
        __rtld_lock_define_initialized_recursive,
        __libc_lock_init_recursive, __libc_lock_trylock_recursive,
        __libc_lock_lock_recursive, __libc_lock_unlock_recursive,
        __rtld_lock_initialize, __rtld_lock_trylock_recursive,
        __rtld_lock_lock_recursive, __rtld_lock_unlock_recursive
        __libc_once_define, __libc_mutex_unlock): Reimplement with lll.
        (__libc_lock_define_recursive, __rtld_lock_define_recursive,
        _LIBC_LOCK_RECURSIVE_INITIALIZER, _RTLD_LOCK_RECURSIVE_INITIALIZER):
        New macros.
        Include <libc-lockP.h> to reimplement libc_key* with pthread_key*.
        * hurd/hurdlock.c: New file.
        * hurd/hurdlock.h: New file.
        * mach/lowlevellock.h: New file

commit 542c20a171cbc8cb63155fa6344708d26e9c446b
Author: Agustina Arzille <address@hidden>
Date:   Sun Mar 18 17:27:00 2018 +0100

    hurd: Rewrite __libc_cleanup_*
    
    This makes it notably safe against 'return' and such, and used for
    __libc_cleanup_push/pop.
    
        * sysdeps/mach/libc-lock.h (__libc_cleanup_frame): Define structure.
        (__libc_cleanup_fct): Define function.
        (__libc_cleanup_region_start, __libc_cleanup_region_end,
        __libc_cleanup_end): Rewrite implementation using
        __attribute__ ((__cleanup__)).
        (__libc_cleanup_push, __libc_cleanup_pop): New macros.

commit 9a37922ee049c2a12ba9d9457f7711ecd9813c88
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 16:38:26 2018 +0100

    hurd: Add missing include
    
        * sysdeps/mach/hurd/cthreads.c: Include <cthreads.h>.

commit dd28d4ba978abd9f6da0a223614d7f0d33b305a7
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 02:11:56 2018 +0100

    x86_64: Fix build with RTLD_PRIVATE_ERRNO defined to 1
    
        * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Always include
        <dl-sysdep.h>.  Test for value of RTLD_PRIVATE_ERRNO instead of
        testing whether it is defined.

commit 6dbe9dcae593cb5c1562fee34703938583618fd4
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 18 00:06:19 2018 +0100

    hurd: Fix coding style

commit c2fb08c78ac4716266c4dd7c9b4aa3c33b033d13
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 17 23:53:39 2018 +0100

    hurd: Fix link cthread/pthread symbol exposition.
    
        * hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork,
        cthread_detach, pthread_getattr_np, pthread_attr_getstack,
        cthread_keycreate, cthread_getspecific, cthread_setspecific to
        __cthread_fork, __cthread_detach, __pthread_getattr_np,
        __pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific,
        __cthread_setspecific.
        * hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork,
        __cthread_detach, __pthread_getattr_np, __pthread_attr_getstack,
        __cthread_t instead of cthread_fork, cthread_detach,
        pthread_getattr_np, pthread_attr_getstack.
        * sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to
        __cthread_keycreate.
        (cthread_getspecific): Rename to __cthread_getspecific.
        (cthread_setspecific): Rename to __cthread_setspecific.
        (__libc_getspecific): Use __cthread_getspecific instead of
        cthread_getspecific.
        * sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use
        __cthread_keycreate instead of cthread_keycreate.
        (__libc_setspecific): Use __cthread_setspecific instead of
        cthread_setspecific.
        * sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific):
        Likewise.

commit dc33bef307ad6eeb1cc4e4e230b69c6058890388
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 17 23:27:34 2018 +0100

    hurd: Replace threadvars with TLS
    
    This gets rid of a lot of kludge and gets closer to other ports.
    
        * hurd/Makefile (headers): Remove threadvar.h.
        (inline-headers): Remove threadvar.h.
        * hurd/Versions (GLIBC_2.0: Remove __hurd_sigthread_stack_base,
        __hurd_sigthread_stack_end, __hurd_sigthread_variables,
        __hurd_threadvar_max, __hurd_errno_location.
        (HURD_CTHREADS_0.3): Add pthread_getattr_np, pthread_attr_getstack.
        * hurd/hurd/signal.h: Do not include <hurd/threadvar.h>.
        (_hurd_self_sigstate): Use THREAD_SELF to get _hurd_sigstate.
        (_HURD_SIGNAL_H_EXTERN_INLINE): Use THREAD_SELF to get _hurd_sigstate,
        unless TLS is not initialized yet, in which case we do not need a
        critical section yet anyway.
        * hurd/hurd/threadvar.h: Include <tls.h>, do not include
        <machine-sp.h>.
        (__hurd_sigthread_variables, __hurd_threadvar_max): Remove variables
        declarations.
        (__hurd_threadvar_index): Remove enum.
        (_HURD_THREADVAR_H_EXTERN_INLINE): Remove macro.
        (__hurd_threadvar_location_from_sp,__hurd_threadvar_location): Remove
        inlines.
        (__hurd_reply_port0): New variable declaration.
        (__hurd_local_reply_port): New macro.
        * hurd/hurdsig.c (__hurd_sigthread_variables): Remove variable.
        (interrupted_reply_port_location): Add thread_t parameter.  Use it
        with THREAD_TCB to access thread-local variables.
        (_hurdsig_abort_rpcs): Pass ss->thread to
        interrupted_reply_port_location.
        (_hurd_internal_post_signal): Likewise.
        (_hurdsig_init): Use presence of cthread_fork instead of
        __hurd_threadvar_stack_mask to start signal thread by hand.
        Remove signal thread threadvar initialization.
        * hurd/hurdstartup.c: Do not include <hurd/threadvar.h>
        * hurd/sigunwind.c: Include <hurd/threadvar.h>
        (_hurdsig_longjmp_from_handler): Use __hurd_local_reply_port instead
        of threadvar.
        * sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add
        __libc_lock_self0.
        (ld.GLIBC_2.0): Remove __hurd_sigthread_stack_base,
        __hurd_sigthread_stack_end, __hurd_sigthread_variables.
        (ld.GLIBC_PRIVATE): Add __libc_lock_self0.
        * sysdeps/mach/hurd/cthreads.c: Add __libc_lock_self0.
        * sysdeps/mach/hurd/dl-sysdep.c (errno, __hurd_sigthread_stack_base,
        __hurd_sigthread_stack_end, __hurd_sigthread_variables, threadvars,
        __hurd_threadvar_stack_offset, __hurd_threadvar_stack_mask): Do not
        define variables.
        * sysdeps/mach/hurd/errno-loc.c: Do not include <errno.h> and
        <hurd/threadvar.h>.
        [IS_IN(rtld)] (rtld_errno): New variable.
        [IS_IN(rtld)] (__errno_location): New weak function.
        [!IS_IN(rtld)]: Include "../../../csu/errno-loc.c".
        * sysdeps/mach/hurd/errno.c: Remove file.
        * sysdeps/mach/hurd/fork.c: Include <hurd/threadvar.h>
        (__fork): Remove THREADVAR_SPACE macro and its use.
        * sysdeps/mach/hurd/i386/init-first.c (__hurd_threadvar_max): Remove
        variable.
        (init): Do not initialize threadvar.
        * sysdeps/mach/hurd/i386/libc.abilist (__hurd_threadvar_max): Remove
        symbol.
        * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use
        __hurd_local_reply_port instead of threadvar.
        * sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add reply_port and
        _hurd_sigstate fields.
        (HURD_DESC_TLS, __LIBC_NO_TLS, THREAD_TCB): New macro.
        * sysdeps/mach/hurd/i386/trampoline.c: Remove outdated comment.
        * sysdeps/mach/hurd/libc-lock.h: Do not include <hurd/threadvar.h>.
        (__libc_lock_owner_self): Use &__libc_lock_self0 and THREAD_SELF
        instead of threadvar.
        * sysdeps/mach/hurd/libc-tsd.h: Remove file.
        * sysdeps/mach/hurd/mig-reply.c (GETPORT, reply_port): Remove macros.
        (use_threadvar, global_reply_port): Remove variables.
        (__hurd_reply_port0): New variable.
        (__mig_get_reply_port): Use __hurd_local_reply_port and
        __hurd_reply_port0 instead of threadvar.
        (__mig_dealloc_reply_port): Likewise.
        (__mig_init): Do not initialize threadvar.
        * sysdeps/mach/hurd/profil.c: Fix comment.

commit 34e6a8694d9dd80558150f8542359b93c6c57e44
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 17 22:50:09 2018 +0100

    hurd: Fix getting signal thread stack layout for fork
    
    * hurd/hurdsig.c: Include <pthread.h>.
    (_hurdsig_init): Call pthread_getattr_np and pthread_attr_getstack to
    get the signal thread stack layout.

commit f8baf2a2242029600beb213d3f042e7c0482e502
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 17 03:17:36 2018 +0100

    hurd: add TLS support
    
        * sysdeps/generic/thread_state.h (MACHINE_NEW_THREAD_STATE_FLAVOR):
        Define macro.
        * sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_FIX_NEW): New macro.
        * sysdeps/mach/i386/thread_state.h
        (MACHINE_NEW_THREAD_STATE_FLAVOR): New macro, defined to
        i386_THREAD_STATE.
        (MACHINE_THREAD_STATE_FLAVOR): Define to i386_REGS_SEGS_STATE instead of
        i386_THREAD_STATE.
        (MACHINE_THREAD_STATE_FIX_NEW): New macro, reads segments.
    
        * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Use
        i386_REGS_SEGS_STATE instead of i386_THREAD_STATE.
    
        * sysdeps/mach/hurd/i386/tls.h (TCB_ALIGNMENT, HURD_SEL_LDT): New
        macros.
        (_hurd_tls_fork): Add original thread parameter, Duplicate existing LDT
        descriptor instead of creating a new one.
        (_hurd_tls_new): New function, creates a new descriptor and updates tcb.
    
        * mach/setup-thread.c: Include <ldsodefs.h>.
        (__mach_setup_thread): Call _dl_allocate_tls, pass
        MACHINE_NEW_THREAD_STATE_FLAVOR to __thread_set_state instead of
        MACHINE_THREAD_STATE_FLAVOR, before getting
        MACHINE_THREAD_STATE_FLAVOR, calling _hurd_tls_new, and setting
        MACHINE_THREAD_STATE_FLAVOR with the result.
        * hurd/hurdfault.c (_hurdsig_fault_init): Call
        MACHINE_THREAD_STATE_FIX_NEW.
        * sysdeps/mach/hurd/fork.c (__fork): Call _hurd_tls_fork for sigthread
        too.  Add original thread parameter.

commit c553cd6f7e939ae4ef62b52b3c55fbe76dddecee
Author: Rafal Luzynski <address@hidden>
Date:   Fri Mar 16 22:55:11 2018 +0100

    NEWS: Mention the locale data changes (bug 22848, 22937, 22963).
    
    Alternative (nominative/genitive) month names have been added to the
    Catalan and Czech locale data and the abbreviated alternative names to
    Catalan and Greek.

commit 5d75b75fb772556873f3b720e63a740074ff4c40
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 16 18:36:53 2018 +0000

    Remove sysdeps/x86/fpu/bits/mathinline.h __finite inline.
    
    Continuing the removals of inline functions from the x86
    bits/mathinline.h, this patch removes an inline of __finite (which was
    not actually architecture-specific at all beyond its
    endianness-dependence).
    
    This inline is not normally used with GCC 4.4 or later, because
    isfinite now uses __builtin_isfinite except for -fsignaling-nans.
    Allowing __builtin_isfinite etc. to work properly even for
    -fsignaling-nans, by implementing versions of those built-in functions
    that use integer arithmetic in GCC, is
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66462> (a patch was
    committed but had to be reverted because it caused problems, and that
    patch didn't address all formats for all architectures, only some, so
    by itself would not have been sufficient to allow glibc to use
    __builtin_isfinite unconditionally for new-enough GCC).
    
    Tested for x86_64 and x86.
    
        * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC] (__finite):
        Remove inline function.

commit 34ba96b89c83f93e18f9a358d437061d737b22a3
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 16 17:43:38 2018 +0000

    Update i386 libm-test-ulps.
    
    I found the i386 libm-test-ulps files needed updating (probably the
    sqrt changes perturbed exactly when excess precision was used by the
    compiler).
    
        * sysdeps/i386/fpu/libm-test-ulps: Update.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

commit 22679b2c33aae0211f631cd1d01c1ae1e8575fdf
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Mar 16 14:25:41 2018 +0000

    Revert m68k __ieee754_sqrt change
    
    Revert m68k __ieee754_sqrt change as it causes a build failure in one
    m68k configuration.  m68k-linux-gnu now passes again.
    
        * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Revert previous
        commit.

commit 700593fdd7aef1e36cfa8bad969faab76a6facda
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Mar 15 18:21:58 2018 +0000

    Remove all target specific __ieee754_sqrt(f/l) inlines
    
    Remove the now unused target specific__ieee754_sqrt(f/l) inlines.
    Also remove inlines of sqrt which are for really old GCC versions.
    Removing these is desirable, under the general principle of leaving
    such inlining to the compiler rather than trying to do it in installed
    headers, especially when only very old compilers are affected.
    
    Note that removing inlines for __ieee754_sqrt disables inlining in the
    sqrt wrapper functions.  Given the sqrt function will typically only be
    called for negative arguments, it doesn't matter whether the inlining
    happens or not.
    
        * sysdeps/aarch64/fpu/math_private.h (__ieee754_sqrt): Remove.
        (__ieee754_sqrtf): Remove.
        * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Remove.
        (__ieee754_sqrtf): Remove.
        * sysdeps/generic/math-type-macros.h (M_SQRT): Use sqrt.
        * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove.
        * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Remove.
        (__ieee754_sqrtf): Remove.
        * sysdeps/s390/fpu/bits/mathinline.h: Remove file.
        * sysdeps/sparc/fpu/bits/mathinline.h (sqrt) Remove.
        (sqrtf): Remove.
        (sqrtl): Remove.
        (__ieee754_sqrt): Remove.
        (__ieee754_sqrtf): Remove.
        (__ieee754_sqrtl): Remove.
        * sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove.
        * sysdeps/x86/fpu/math_private.h (__ieee754_sqrt): Remove.
        * sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Remove.
        (__ieee754_sqrtf): Remove.
        (__ieee754_sqrtl): Remove.

commit f67a8147b0ac274655c6c5c3b4c8bcb02be5745b
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Mar 15 18:05:03 2018 +0000

    Rename all __ieee754_sqrt(f/l) calls to sqrt(f/l)
    
    Use sqrt(f/l) to enable inlining by GCC - if inlining doesn't happen,
    the asm redirect ensures we will still call __ieee754_sqrt(f/l).
    
        * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Use sqrt.
        * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Likewise.
        * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
        * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_j0): Likewise.
        * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Likewise.
        * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
        * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise.
        * sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c (__ieee754_acosh): 
Likewise.
        * sysdeps/ieee754/flt-32/e_acosf.c (__ieee754_acosf): Likewise.
        * sysdeps/ieee754/flt-32/e_acoshf.c (__ieee754_acoshf): Likewise.
        * sysdeps/ieee754/flt-32/e_asinf.c (__ieee754_asinf): Likewise.
        * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise.
        * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Likewise.
        * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_j0f): Likewise.
        * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise.
        * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
        * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise.
        * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): Use sqrtl.
        * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_asinl.c (__ieee754_asinl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): Likewise.
        * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_asinhl.c (__ieee754_asinhl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (__ieee754_j0l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (__ieee754_j1l): Likewise
        * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__ieee754_asinhl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Use sqrtl.
        * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): Likewise.
        * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
        * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
        * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_asinhl.c (__ieee754_asinhl): Likewise.
        * sysdeps/m68k/m680x0/fpu/e_pow.c (__ieee754_pow): Likewise.
        * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Likewise.
        * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Likewise.

commit 1294b1892e19d70e9e4dca0a2f3e39497f262a42
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Mar 15 17:57:03 2018 +0000

    Add support for sqrt asm redirects
    
    This patch series cleans up the many uses of  __ieee754_sqrt(f/l) in GLIBC.
    The goal is to enable GCC to do the inlining, and if this fails call the
    __ieee754_sqrt function.  This is done by internally declaring sqrt with asm
    redirects.  The compat symbols and sqrt wrappers need to disable the 
redirect.
    The redirect is also disabled if there are already redirects defined when
    using -ffinite-math-only.
    
    All math functions (but not math tests, non-library code and libnldbl) are
    built with -fno-math-errno which means GCC will typically inline sqrt as a
    single instruction.  This means targets are no longer forced to add a 
special
    inline for sqrt.
    
        * include/math.h (sqrt): Declare with asm redirect.
        (sqrtf): Likewise.
        (sqrtl): Likewise.
        (sqrtf128): Likewise.
        * Makeconfig: Add -fno-math-errno for libc/libm, but build testsuite,
        nonlib and libnldbl with -fmath-errno.
        * math/w_sqrt_compat.c: Define NO_MATH_REDIRECT.
        * math/w_sqrt_template.c: Likewise.
        * math/w_sqrtf_compat.c: Likewise.
        * math/w_sqrtl_compat.c: Likewise.
        * sysdeps/i386/fpu/w_sqrt.c: Likewise.
        * sysdeps/i386/fpu/w_sqrt_compat.c: Likewise.
        * sysdeps/generic/math-type-macros-float128.h: Remove math.h and
        complex.h.

commit c429a8d8d63a12cac9754834f3a2667f7dbdb0fb
Author: Joseph Myers <address@hidden>
Date:   Thu Mar 15 18:26:35 2018 +0000

    Remove more old-compilers parts of sysdeps/x86/fpu/bits/mathinline.h.
    
    This patch removes further parts of sysdeps/x86/fpu/bits/mathinline.h
    that are only of value for optimization with older compiler versions,
    in accordance with general principles of preferring the let the
    compiler deal with such inlining through built-in functions.
    
    In general, GCC supports inlining all these functions as of version
    4.3 or earlier.  However, some inlines in GCC may have had excessively
    restrictive conditions in past GCC versions (e.g. requiring
    -ffast-math when the inline is valid under broader conditions).  (In
    particular, GCC had, before GCC 7, unnecessarily restrictive
    conditions on when it could apply floor and ceil inlines corresponding
    to the ones removed here.  The same was true for rint, but
    bits/mathinline.h *also* was excessively restrictive there.)
    
    The removed sincos inlines are for __sincos etc. functions (not a
    public interface and not currently used in this header either; not in
    a part of the header ever used for building glibc itself).  Likewise,
    the atan2 inlines included one for __atan2l, also not a public
    interface and not used for building glibc itself (calls inside glibc
    generally use __ieee754_atan2l, for which there is a separate
    __LIBC_INTERNAL_MATH_INLINES case in this header).
    
    Tested for x86_64 and x86.
    
        * sysdeps/x86/fpu/bits/mathinline.h [__FAST_MATH__]
        (__sincos_code): Remove define and undefine.
        [__FAST_MATH__] (__sincos): Remove inline function.
        [__FAST_MATH__] (__sincosf): Remove inline function.
        [__FAST_MATH__] (__sincosl): Remove inline function.
        (__atan2l): Remove inline functions.
        [!__GNUC_PREREQ (3, 4)] (__atan2_code): Remove macro.
        [!__GNUC_PREREQ (3, 4) && __FAST_MATH__] (atan2): Remove inline
        function.
        (floor): Remove inline function.
        (ceil): Likewise.
        [__FAST_MATH__] (__ldexp_code): Remove macro.
        [__FAST_MATH__] (ldexp): Remove inline function.
        [__FAST_MATH__ && __USE_ISOC99] (ldexpf): Likewise.
        [__FAST_MATH__ && __USE_ISOC99] (ldexpl): Likewise.
        [__FAST_MATH__ && __USE_ISOC99] (rint): Likewise.
        [__USE_ISOC99] (__lrint_code): Remove macro.
        [__USE_ISOC99] (__llrint_code): Likewise.
        [__USE_ISOC99] (lrintf): Remove inline function.
        [__USE_ISOC99] (lrint): Likewise.
        [__USE_ISOC99] (lrintl): Likewise.
        [__USE_ISOC99] (llrint): Likewise.
        [__USE_ISOC99] (llrintf): Likewise.
        [__USE_ISOC99] (llrintl): Likewise.

commit f1c8185d345e724f6c94242730dbe8c26ce99959
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Mar 15 15:44:58 2018 +0000

    Use correct includes in benchtests
    
    Currently the benchtests are run with internal GLIBC headers, which is 
incorrect.
    Defining _ISOMAC in the makefile ensures the internal headers are bypassed.
    Fix all tests which were relying on internal defines or includes.
    
        * benchtests/Makefile: Define _ISOMAC.
        * benchtests/bench-strcoll.c: Add missing sys/stat.h include.
        * benchtests/bench-string.h: Define inhibit_loop_to_libcall macro.
        * benchtests/bench-strstr.c: Define empty libc_hidden_builtin_def.
        * benchtests/bench-strtok.c (oldstrtok): Use rawmemchr.
        * benchtests/bench-timing.h: Define attribute_hidden.

commit b47c3e7637efb77818cbef55dcd0ed1f0ea0ddf1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Mar 15 08:06:21 2018 +0530

    aarch64/strncmp: Use lsr instead of mov+lsr
    
    A lsr can do what the mov and lsr did.

commit 807fee29d2c967e24e3fe05e2182ba53e96e9178
Author: Rafal Luzynski <address@hidden>
Date:   Mon Oct 17 22:06:11 2016 +0200

    cs_CZ locale: Add alternative month names (bug 22963).
    
    Add alternative month names, primary month names are genitive now.
    
        [BZ #22963]
        * localedata/locales/cs_CZ (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).

commit e7155a28ef61f240da156e1cea410b61afca14ad
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 8 00:45:04 2018 +0100

    Greek (el_CY, el_GR) locales: Introduce ab_alt_mon (bug 22937).
    
    As spotted by GNOME translation team, Greek language has the actually
    visible difference between the abbreviated nominative and the abbreviated
    genitive case for some month names.  Examples:
    
    May:
    
    abbreviated nominative: "Μάι" -> abbreviated genitive: "Μαΐ"
    
    July:
    
    abbreviated nominative: "Ιούν" -> abbreviated genitive: "Ιουλ"
    
    and more month names with similar differences.
    
    Original discussion: https://bugzilla.gnome.org/show_bug.cgi?id=793645#c21
    
        [BZ #22937]
        * localedata/locales/el_CY (abmon): Rename to...
        (ab_alt_mon): This.
        (abmon): Import from CLDR (abbreviated genitive case).
        * localedata/locales/el_GR (abmon): Rename to...
        (ab_alt_mon): This.
        (abmon): Import from CLDR (abbreviated genitive case).

commit 71d7b121686f6d91cd5a630dcfb72197b5d8284a
Author: Rafal Luzynski <address@hidden>
Date:   Thu Mar 8 00:38:18 2018 +0100

    lt_LT locale: Update abbreviated month names (bug 22932).
    
    A GNOME translator asked to use the same abbreviated month names
    as provided by CLDR.  This sounds reasonable.  See the discussion:
    https://bugzilla.gnome.org/show_bug.cgi?id=793645#c27
    
        [BZ #22932]
        * localedata/locales/lt_LT (abmon): Synchronize with CLDR.

commit a00bffe8b531693d3b26c1e87afe4b9eac84474c
Author: Robert Buj <address@hidden>
Date:   Tue Mar 6 22:51:29 2018 +0100

    ca_ES locale: Update LC_TIME (bug 22848).
    
    Add/fix alternative month names, long & short formats, am_pm,
    abday settings, and improve indentation for Catalan.
    
        [BZ #22848]
        * localedata/locales/ca_ES (abmon): Rename to...
        (ab_alt_mon): This, then synchronize with CLDR (nominative case).
        (mon): Rename to...
        (alt_mon): This.
        (abmon): Import from CLDR (genitive case, month names preceded by
        "de" or "d’").
        (mon): Likewise.
        (abday): Synchronize with CLDR.
        (d_t_fmt): Likewise.
        (d_fmt): Likewise.
        (am_pm): Likewise.
    
        (LC_TIME): Improve indentation.
        (LC_TELEPHONE): Likewise.
        (LC_NAME): Likewise.
        (LC_ADDRESS): Likewise.

commit bdc3009b8ff0effdbbfb05eb6b10966753cbf9b8
Author: Francois Goichon <address@hidden>
Date:   Wed Mar 14 16:25:57 2018 -0400

    malloc: harden removal from unsorted list
    
    * malloc/malloc.c (_int_malloc): Added check before removing from
    unsorted list.

commit f9555d73121bd12f6fd50545868e6a33096b8164
Author: Joseph Myers <address@hidden>
Date:   Wed Mar 14 18:26:03 2018 +0000

    Remove old-GCC parts of x86 bits/mathinline.h.
    
    In accordance with the general principle of preferring to let the
    compiler optimize function calls based on their standard semantics
    rather than putting inline definitions of such functions in installed
    headers, this patch removes various such inline definitions in the x86
    bits/mathinline.h that were already disabled for GCC 3.5 or later and
    so were only used with very old compilers (for which good optimization
    is particularly unimportant); along with those inlines, a definition
    of __M_SQRT2, which was only used in such inline functions, is also
    removed.  This is similar to an early step in removing the string.h
    inlines; I intend to follow up with further removals of
    bits/mathinline.h inline definitions in appropriate logical groups
    (with GCC bugs filed in cases where GCC doesn't already support
    corresponding optimizations).
    
    Tested for x86_64 and x86.
    
        * sysdeps/x86/fpu/bits/mathinline.h [!__GNUC_PREREQ (3, 4)]
        (lrintf): Remove definitions used only with old GCC.
        [!__GNUC_PREREQ (3, 4)] (lrint): Likewise.
        [!__GNUC_PREREQ (3, 4)] (llrintf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (llrint): Likewise.
        [!__GNUC_PREREQ (3, 4)] (fmaxf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (fmax): Likewise.
        [!__GNUC_PREREQ (3, 4)] (fminf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (fmin): Likewise.
        [!__GNUC_PREREQ (3, 4)] (rint): Likewise.
        [!__GNUC_PREREQ (3, 4)] (rintf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (nearbyint): Likewise.
        [!__GNUC_PREREQ (3, 4)] (nearbyintf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (ceil): Likewise.
        [!__GNUC_PREREQ (3, 4)] (ceilf): Likewise.
        [!__GNUC_PREREQ (3, 4)] (floor): Likewise.
        [!__GNUC_PREREQ (3, 4)] (floorf): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (tan): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (fmod): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (sin): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (cos): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log10): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (asin): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (acos): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 4)] (atan): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log1p): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (logb): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (log2): Likewise.
        [__FAST_MATH__ && !__GNUC_PREREQ (3, 5)] (drem): Likewise.
        [__FAST_MATH__] (__M_SQRT2): Remove macro.

commit d46f84de745db8f3f06a37048261f4e5ceacf0a3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Mar 14 18:51:05 2018 +0530

    aarch64/strncmp: Unbreak builds with old binutils
    
    Binutils 2.26.* and older do not support moves with shifted registers,
    so use a separate shift instruction instead.

commit 7108f1f944792ac68332967015d5e6418c5ccc88
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 13 23:57:03 2018 +0530

    aarch64: Improve strncmp for mutually misaligned inputs
    
    The mutually misaligned inputs on aarch64 are compared with a simple
    byte copy, which is not very efficient.  Enhance the comparison
    similar to strcmp by loading a double-word at a time.  The peak
    performance improvement (i.e. 4k maxlen comparisons) due to this on
    the strncmp microbenchmark is as follows:
    
    falkor: 3.5x (up to 72% time reduction)
    cortex-a73: 3.5x (up to 71% time reduction)
    cortex-a53: 3.5x (up to 71% time reduction)
    
    All mutually misaligned inputs from 16 bytes maxlen onwards show
    upwards of 15% improvement and there is no measurable effect on the
    performance of aligned/mutually aligned inputs.
    
        * sysdeps/aarch64/strncmp.S (count): New macro.
        (strncmp): Store misaligned length in SRC1 in COUNT.
        (mutual_align): Adjust.
        (misaligned8): Load dword at a time when it is safe.

commit 2cc7bad0ae0a412e75270be5ed41d45c03e7a931
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 21 19:12:51 2018 -0500

    [BZ 1190] Make EOF sticky in stdio.
    
    C99 specifies that the EOF condition on a file is "sticky": once EOF
    has been encountered, all subsequent reads should continue to return
    EOF until the file is closed or something clears the "end-of-file
    indicator" (e.g. fseek, clearerr).  This is arguably a change from
    C89, where the wording was ambiguous; the BSDs always had sticky EOF,
    but the System V lineage would attempt to read from the underlying fd
    again.  GNU libc has followed System V for as long as we've been
    using libio, but nowadays C99 conformance and BSD compatibility are
    more important than System V compatibility.
    
    You might wonder if changing the _underflow impls is sufficient to
    apply the C99 semantics to all of the many stdio functions that
    perform input.  It should be enough to cover all paths to _IO_SYSREAD,
    and the only other functions that call _IO_SYSREAD are the _seekoff
    impls, which is OK because seeking clears EOF, and the _xsgetn impls,
    which, as far as I can tell, are unused within glibc.
    
    The test programs in this patch use a pseudoterminal to set up the
    necessary conditions.  To facilitate this I added a new test-support
    function that sets up a pair of pty file descriptors for you; it's
    almost the same as BSD openpty, the only differences are that it
    allocates the optionally-returned tty pathname with malloc, and that
    it crashes if anything goes wrong.
    
        [BZ #1190]
            [BZ #19476]
        * libio/fileops.c (_IO_new_file_underflow): Return EOF immediately
        if the _IO_EOF_SEEN bit is already set; update commentary.
        * libio/oldfileops.c (_IO_old_file_underflow): Likewise.
        * libio/wfileops.c (_IO_wfile_underflow): Likewise.
    
        * support/support_openpty.c, support/tty.h: New files.
        * support/Makefile (libsupport-routines): Add support_openpty.
    
        * libio/tst-fgetc-after-eof.c, wcsmbs/test-fgetwc-after-eof.c:
        New test cases.
        * libio/Makefile (tests): Add tst-fgetc-after-eof.
        * wcsmbs/Makefile (tests): Add tst-fgetwc-after-eof.

commit 778f1974863d63e858b6d0105e41d6f0c30732d3
Author: Dmitry V. Levin <address@hidden>
Date:   Mon Mar 12 13:24:46 2018 +0000

    Update translations from the Translation Project
    
    * po/pt_BR.po: Update translations.

commit da6d4404ecfd7eacba8c096b0761a5758a59da4b
Author: David Michael <address@hidden>
Date:   Mon Mar 12 00:21:44 2018 +0100

    Lookup the startup server through /servers/startup
    
    * sysdeps/mach/hurd/reboot.c: Include <hurd/paths.h>
    (reboot): Lookup _SERVERS_STARTUP instead of calling proc_getmsgport to get 
a
    port to the startup server.

commit d3da750d019d458355af602936d01901ba14f11c
Author: Zack Weinberg <address@hidden>
Date:   Sun Mar 11 14:09:30 2018 -0400

    nldbl-compat.c: Include math.h before nldbl-compat.h.
    
    Jeff Law noticed that native PowerPC builds were broken by my having
    made math_ldbl_opt.h not include math.h.  nldbl-compat.c formerly got
    math.h via libioP.h and math_ldbl_opt.h, *without* __NO_LONG_DOUBLE_MATH;
    after my change it got it via nldbl-compat.h *with* __NO_LONG_DOUBLE_MATH,
    but __NO_LONG_DOUBLE_MATH mode is forbidden on hosts that define
    __HAVE_DISTINCT_FLOAT128, so the build breaks.  This is the quick fix.
    
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include math.h
        before nldbl-compat.h.

commit a5df0318ef30a4dcff3fa2cb82265f641813d9ea
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 19:11:26 2018 +0100

    hurd: add gscope support
    
    * elf/dl-support.c [!THREAD_GSCOPE_IN_TCB] (_dl_thread_gscope_count):
    Define variable.
    * sysdeps/generic/ldsodefs.h [!THREAD_GSCOPE_IN_TCB] (struct
    rtld_global): Add _dl_thread_gscope_count member.
    * sysdeps/mach/hurd/tls.h: Include <atomic.h>.
    [!defined __ASSEMBLER__] (THREAD_GSCOPE_GLOBAL, THREAD_GSCOPE_SET_FLAG,
    THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define macros.
    * sysdeps/generic/tls.h: Document THREAD_GSCOPE_IN_TCB.
    * sysdeps/aarch64/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/alpha/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/arm/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/hppa/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/i386/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/ia64/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/m68k/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/microblaze/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/mips/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/nios2/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/powerpc/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/riscv/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/s390/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/sh/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/sparc/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/tile/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.
    * sysdeps/x86_64/nptl/tls.h: Define THREAD_GSCOPE_IN_TCB to 1.

commit 0d13dfa17b3bdf4f5ccc179869917cc65f009e7a
Author: Zack Weinberg <address@hidden>
Date:   Wed Mar 7 16:45:35 2018 +0000

    Don't include math.h/math_private.h in math_ldbl_opt.h.
    
    The sysdeps/ieee754/ldbl-opt version of math_ldbl_opt.h includes
    math.h and math_private.h, despite not having any need for those
    headers itself; the sysdeps/generic version doesn't.  About 20 files
    are relying on math_ldbl_opt.h to include math.h and/or math_private.h
    for them, even though none of them necessarily used on a platform that
    needs ldbl-opt support.
    
        * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Don't include
        math.h or math_private.h.
    
        * sysdeps/alpha/fpu/s_isnan.c
        * sysdeps/ieee754/ldbl-128ibm/s_ceill.c
        * sysdeps/ieee754/ldbl-128ibm/s_floorl.c
        * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c
        * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c
        * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c
        * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c
        * sysdeps/ieee754/ldbl-128ibm/s_rintl.c
        * sysdeps/ieee754/ldbl-128ibm/s_roundl.c
        * sysdeps/ieee754/ldbl-128ibm/s_truncl.c
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c:
        * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c
        * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c
        * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c:
        Include math_private.h.
    
        * sysdeps/ieee754/ldbl-64-128/s_finitel.c
        * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c
        * sysdeps/ieee754/ldbl-64-128/s_isinfl.c
        * sysdeps/ieee754/ldbl-64-128/s_isnanl.c
        * sysdeps/ieee754/ldbl-64-128/s_signbitl.c
        * sysdeps/powerpc/power7/fpu/s_logb.c:
        Include math.h and math_private.h.

commit 054b72cc976000424e1d1017b3d51f071e5dd956
Author: Zack Weinberg <address@hidden>
Date:   Fri Mar 9 09:42:04 2018 -0500

    alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at
    
    On Alpha, the register $at is, by default, reserved for use by the
    assembler, in the expansion of pseudo-instructions.  It's also used
    by the special calling convention for _mcount.  We get warnings from
    Alpha clone.S because the code to call _mcount isn't properly marked
    up to tell the assembler not to use $at itself.
    
        * sysdeps/unix/sysv/linux/alpha/clone.s (__clone): Wrap manual
        uses of $at in .set noat / .set at.

commit 6253bacdc00de132dec452ff7c6ce3ba7fa23d81
Author: H.J. Lu <address@hidden>
Date:   Sat Mar 10 09:27:04 2018 -0800

    Remove hidden __libc_longjmp
    
    Since __libc_longjmp is a private interface for cancellation implementation
    in libpthread, there is no need to provide hidden __libc_longjmp in libc.
    
    Tested with build-many-glibcs.py.
    
        * include/setjmp.h (__libc_longjmp): Remove libc_hidden_proto.
        * setjmp/longjmp.c (__libc_longjmp): Remove libc_hidden_def.
        * sysdeps/s390/longjmp.c (__libc_longjmp): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S (__libc_longjmp):
        Likewise.

commit 229855e5983881812b21b215346cb990722c6023
Author: Florian Weimer <address@hidden>
Date:   Fri Mar 9 16:21:22 2018 +0100

    malloc: Revert sense of prev_inuse in comments
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit d9f26dab2cc768a650b19ec6460ade4e44a530b9
Author: H.J. Lu <address@hidden>
Date:   Thu Mar 8 20:06:30 2018 -0800

    Fix a typo in ChangeLog: auch_fork -> arch_fork

commit 9aa5c222b9e0409143410a02b6364a3b25dbf028
Author: Aurelien Jarno <address@hidden>
Date:   Fri Mar 9 00:14:27 2018 +0100

    sparc32: Add nop before __startcontext to stop unwinding [BZ #22919]
    
    On sparc32 tst-makecontext fails, as backtrace called within a context
    created by makecontext to yield infinite backtrace.
    
    Fix that the same way than nios2 by adding a nop just before
    __startcontext. This is needed as otherwise FDE lookup just repeatedly
    finds __setcontext's FDE in an infinite loop, due to the convention of
    using 'address - 1' for FDE lookup.
    
    Changelog:
        [BZ #22919]
        * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
        Add nop before __startcontext, add explaining comments.

commit e921c89e01389161c036ec09112da6e18aeaa688
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Mar 5 14:46:24 2018 -0300

    powerpc: Fix TLE build for SPE (BZ #22926)
    
    Some SPE opcodes clashes with some recent PowerISA opcodes and
    until recently gas did not complain about it.  However binutils
    recently changed it and now VLE configured gas does not support to
    assembler some instruction that might class with VLE (HTM for
    instance).  It also does not help that glibc build hardware lock
    elision support as default (regardless of assembler support).
    
    Although runtime will not actually enables TLE on SPE hardware
    (since kernel will not advertise it), I see little advantage on
    adding HTM support on SPE built glibc.  SPE uses an incompatible
    ABI which does not allow share the same build with default
    powerpc and HTM code slows down SPE without any benefict.
    
    This patch fixes it by only building HTM when SPE configuration
    is not used.
    
    Checked with a powerpc-linux-gnuspe build. I also did some sniff
    tests on a e500 hardware without any issue.
    
        [BZ #22926]
        * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
        empty for __SPE__.
        * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision):
        Do not build hardware transactional code for __SPE__.
        * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
        (__lll_trylock_elision): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
        (__lll_unlock_elision): Likewise.

commit 3dc214977beccc95f0df3b90fa4ca2557fe1bdd2
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Jan 5 15:38:06 2018 -0200

    Refactor Linux ARCH_FORK implementation
    
    This patch refactors the ARCH_FORK macro and the required architecture
    specific header to simplify the required architecture definitions
    to provide the fork syscall semantic and proper document current
    Linux clone ABI variant.
    
    Instead of require the reimplementation of arch-fork.h header, this
    patch changes the ARCH_FORK to an inline function with clone ABI
    defined by kernel-features.h define.  The generic kernel ABI meant
    for newer ports is used as default and redefine if the architecture
    requires.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.  Also with a build
    for all the afected ABIs.
    
        * sysdeps/nptl/fork.c (ARCH_FORK): Replace by auch_fork.
        * sysdeps/unix/sysv/linux/alpha/arch-fork.h: Remove file.
        * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/arm/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/i386/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/nios2/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/arch-fork.h: Likewise.
        * sysdeps/unix/sysv/linux/arch-fork.h (arch_fork): New function.
        * sysdeps/unix/sysv/linux/aarch64/kernel-features.h: New file.
        * sysdeps/unix/sysv/linux/riscv/kernel-features.h: Likewise.
        * sysdeps/unix/sysv/linux/arm/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Define.
        * sysdeps/unix/sysv/linux/createthread.c (ARCH_CLONE): Define to
        __clone2 if __NR_clone2 is defined.
        * sysdeps/unix/sysv/linux/hppa/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Likewise.
        * sysdeps/unix/sysv/linux/i386/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Likewise.
        * sysdeps/unix/sysv/linux/ia64/kernel-features.h
        (__ASSUME_CLONE2): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS3): Likewise.
        * sysdeps/unix/sysv/linux/kernel-features.h: Document possible clone
        variants and the define architecture can use.
        (__ASSUME_CLONE_DEFAULT): Define as default.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS): Likewise.
        * sysdeps/unix/sysv/linux/s390/kernel-features.h
        (__ASSUME_CLONE_BACKWARDS2): Likewise.

commit 4e54d918630ea53e29dd70d3bdffcb00d29ed3d4
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 22:56:35 2018 +0530

    aarch64: Fix branch target to loop16
    
    I goofed up when changing the loop8 name to loop16 and missed on out
    the branch instance.  Fixed and actually build tested this time.
    
        * sysdeps/aarch64/memcmp.S (more16): Fix branch target loop16.

commit 30a81dae5b752f8aa5f96e7f7c341ec57cba3585
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 19:22:39 2018 +0530

    aarch64: Optimized memcmp for medium to large sizes
    
    This improved memcmp provides a fast path for compares up to 16 bytes
    and then compares 16 bytes at a time, thus optimizing loads from both
    sources.  The glibc memcmp microbenchmark retains performance (with an
    error of ~1ns) for smaller compare sizes and reduces up to 31% of
    execution time for compares up to 4K on the APM Mustang.  On Qualcomm
    Falkor this improves to almost 48%, i.e. it is almost 2x improvement
    for sizes of 2K and above.
    
        * sysdeps/aarch64/memcmp.S: Widen comparison to 16 bytes at a
        time.

commit adc95fb06a22264349de21507de1a7e652a4052d
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 19:15:02 2018 +0530

    Add ChangeLog entry for last 3 commits
    
    Apparently I've forgotten how to commit to glibc.

commit 0963ea8e8cf32cf0d87db2b3ce446a96af591ff6
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 18:29:57 2018 +0530

    benchtests: Don't benchmark 0 length calls for strncmp
    
    The 0 length strncmp is interesting for correctness but not for
    performance.
    
        * benchtests/bench-strncmp.c (test_main): Remove 0 length tests.
        (do_test_limit): Likewise.

commit 7bb3a8a556b6d72a33b8733ffb46165f3d9066c5
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 18:29:52 2018 +0530

    benchtests: Reallocate buffers for every strncmp implementation
    
    Don't reuse buffers for different strncmp implementations since the
    earlier implementation will end up warming the cache for the later
    one.  Eventually there should be a more elegant way to do this.
    
        * benchtests/bench-strncmp.c (do_test_limit): Reallocate buffers
        for every implementation.
        (do_test): Likewise.

commit ad4e816e0673b80a35a12ba6892837022bf88972
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Mar 6 18:29:34 2018 +0530

    benchtests: Convert strncmp benchmark output to json
    
    Make the output usable through the compare_strings.py script.
    
        * benchtests/bench-strncmp.c: Convert output to json.

commit 4e9066bc88e815f156b2fcfb4a34e68e3b492b4f
Author: Samuel Thibault <address@hidden>
Date:   Tue Mar 6 09:21:04 2018 +0100

    Add missing start-of-file descriptive comment.
    
        * io/futimens.c: Add missing start-of-file descriptive comment.
        * io/utime.c: Likewise.
        * misc/futimesat.c: Likewise.
        * misc/utimes.c: Likewise.
        * sysdeps/mach/hurd/futimesat.c: Likewise.
        * sysdeps/mach/hurd/utimes.c: Likewise.
        * sysdeps/posix/utime.c: Likewise.
        * sysdeps/posix/utimes.c: Likewise.
        * sysdeps/unix/sysv/linux/futimesat.c: Likewise.
        * sysdeps/unix/sysv/linux/generic/futimesat.c: Likewise.
        * sysdeps/unix/sysv/linux/generic/utimes.c: Likewise.
        * sysdeps/unix/sysv/linux/utimes.c: Likewise.

commit ec1300cfc83c716f33ee3231bba0a6e270abfc73
Author: Samuel Thibault <address@hidden>
Date:   Tue Mar 6 00:13:54 2018 +0100

    hurd: Add futimesat and utimensat support
    
        * sysdeps/mach/hurd/utime-helper.c (hurd_futimens): Rename function to
        hurd_futimes.
        * sysdeps/mach/hurd/utimes.c (__utimes): Update call accordingly.
        * sysdeps/mach/hurd/lutimes.c (__lutimes): Likewise.
        * sysdeps/mach/hurd/futimens.c: Include "utime-helper.c".
        (__futimens): Move implementation to...
        * sysdeps/mach/hurd/utime-helper.c (utime_ts_from_tspec,
        utime_tvalue_from_tspec): ... new helper functions.
        (hurd_futimens): New function.
        * sysdeps/mach/hurd/futimesat.c: New file.
        * sysdeps/mach/hurd/utimensat.c: New file.

commit bbe762d1e596d7f5a1cd560a229387cb856916e0
Author: Flávio Cruz <address@hidden>
Date:   Mon Mar 5 23:25:00 2018 +0100

    hurd: Define and pass UTIME_NOW and UTIME_OMIT to new file_utimens RPC
    
        * sysdeps/mach/hurd/bits/stat.h [__USE_ATFILE] (UTIME_NOW,
        UTIME_OMIT): New macros.
        * sysdeps/mach/hurd/futimens.c (__futimens): Try to use __file_utimens
        before reverting to converting time spec to time value and calling
        __file_utimes.
        * sysdeps/mach/hurd/utime-helper.c: New file.
        * sysdeps/mach/hurd/futimes.c: Include "utime-helper.c".
        (__futimes): Try to use utime_ts_from_tval and __file_utimens before
        reverting to utime_tvalue_from_tval and __file_utimes.
        * sysdeps/mach/hurd/lutimes.c: Include "utime-helper.c".
        (__lutimes): Just call hurd_futimens after lookup.
        * sysdeps/mach/hurd/utimes.c: Likewise.

commit a1ede3a40249ea2efe54e182998bd8519e37a31e
Author: Samuel Thibault <address@hidden>
Date:   Mon Mar 5 02:17:52 2018 +0100

    hurd: Fix includability of <hurd/signal.h> in all standards
    
    * bits/sigaction.h: Add include guard.
    * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
    * sysdeps/unix/sysv/linux/tile/bits/sigaction.h: Likewise.
    * hurd/hurd/signal.h: Include <bits/sigaction.h>.

commit 6900d2ca74cd569d32167701a50cc7dc0d5ba4e2
Author: Joseph Myers <address@hidden>
Date:   Mon Mar 5 21:46:55 2018 +0000

    Fix s390 -Os iconv build.
    
    Building glibc for s390 with -Os (32-bit only, with GCC 7) fails with:
    
    In file included from ../sysdeps/s390/multiarch/8bit-generic.c:370:0,
                     from ebcdic-at-de.c:28:
    ../iconv/loop.c: In function '__to_generic_vx':
    ../iconv/loop.c:264:22: error: 'ch' may be used uninitialized in this 
function [-Werror=maybe-uninitialized]
         if (((Character) >> 7) == (0xe0000 >> 7))          \
                          ^~
    In file included from ebcdic-at-de.c:28:0:
    ../sysdeps/s390/multiarch/8bit-generic.c:340:15: note: 'ch' was declared 
here
          uint32_t ch;      \
                   ^
    ../iconv/loop.c:325:7: note: in expansion of macro 'BODY'
           BODY
           ^~~~
    
    It's fairly easy to see, looking at the (long) expansion of the BODY
    macro, that this is a false positive and the relevant variable 'ch' is
    always initialized before use, in one of two possible places.  As
    such, disabling the warning for -Os with the DIAG_* macros is the
    natural approach to fix this build failure.  However, because of the
    location at which the warning is reported, the disabling needs to go
    in iconv/loop.c, around the definition of UNICODE_TAG_HANDLER (not
    inside the definition), as that macro definition is where the
    uninitialized use is reported, whereas the code that needs to be
    reasoned about to see that the warning is a false positive is in the
    definition of BODY elsewhere.
    
    Thus, the patch adds such disabling in iconv/loop.c, with a comment
    pointing to the s390-specific code and a comment in the s390-specific
    code pointing to the generic file to alert people to the possible need
    to update one place when changing the other.  It would be possible if
    desired to use #ifdef __s390__ around the disabling, though in general
    we try to avoid that sort of thing in generic files.  (Or some
    extremely specialized macros for "disable -Wmaybe-uninitialized in
    this particular place" could be specified, defined to 0 in a lot of
    different files that include iconv/loop.c and to 1 in that particular
    s390 file.)
    
    Tested that this fixed -Os compilation for s390-linux-gnu with
    build-many-glibcs.py.
    
        * iconv/loop.c (UNICODE_TAG_HANDLER): Disable
        -Wmaybe-uninitialized for -Os.
        * sysdeps/s390/multiarch/8bit-generic.c (BODY): Add comment about
        this disabling.

commit 5226a81f5517bcbc892679cca792006a6bafc53f
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Mar 2 13:04:36 2018 -0300

    Define _DIRENT_MATCHES_DIRENT64 regardless
    
    This patch defines _DIRENT_MATCHES_DIRENT64 to either 0 or 1 and adjust its
    usage from checking its definition to its value.
    
    Checked on a build for major Linux abis.
    
        * bits/dirent.h (__INO_T_MATCHES_INO64_T): Define regardless whether
        __INO_T_MATCHES_INO64_T is defined.
        * sysdeps/unix/sysv/linux/bits/dirent.h: Likewise.
        * dirent/alphasort.c: Check _DIRENT_MATCHES_DIRENT64 value instead
        of definition.
        * dirent/alphasort64.c: Likewise.
        * dirent/scandir.c: Likewise.
        * dirent/scandir64-tail.c: Likewise.
        * dirent/scandir64.c: Likewise.
        * dirent/scandirat.c: Likewise.
        * dirent/scandirat64.c: Likewise.
        * dirent/versionsort.c: Likewise.
        * dirent/versionsort64.c: Likewise.
        * include/dirent.h: Likewise.

commit fbd01e6c4427b558b63fedb938b7fc5fada8c6b8
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Feb 22 15:47:33 2018 -0300

    nptl: Fix tst-cancel4 sendto tests
    
    Now that send might be implemented calling sendto syscall on Linux,
    I am seeing some issue in some kernel configurations where tst-cancel4
    sendto do not block as expected.
    
    The socket used to force the syscall blocking is used with default
    system configuration for buffer sending size, which might not be
    suffice to force blocking.  This patch fixes it by explicit setting
    buffer socket lower than the buffer size used.  It also enables sendto
    cancellation tests to work in both ways (since internally send is
    implemented routing to sendto on Linux kernel).
    
    The patch also removes unrequired make rules on some archictures
    for send/recv. The generic nptl Makefile already set the compiler flags
    required on some architectures for correct unwinding and libc object
    are not strictly required to support unwind (since pthread_cancel
    requires linking against libpthread).
    
    Checked on aarch64-linux-gnu and x86_64-linux-gnu. I also did a
    sniff test with tst-cancel{4,5} on a simulated mips64-linux-gnu.
    
        * nptl/tst-cancel4-common.h (set_socket_buffer): New function.
        * nptl/tst-cancel4-common.c (do_test): Call set_socket_buffer
        for socketpair endpoint.
        * nptl/tst-cancel4.c (tf_send): Call set_socket_buffer and use
        WRITE_BUFFER_SIZE as buffer size for sending socket.
        (tf_sendto): Use SOCK_STREAM instead of SOCK_DGRAM and fix an
        issue on system where send is implemented with sendto syscall.
        * sysdeps/unix/sysv/linux/mips/mips64/Makefile [$(subdir) = socket]
        (CFLAGS-recv.c, CFLAGS-send.c): Remove rules.
        [$(subdir) = nptl] (CFLAGS-recv.c, CFLAGS-send.c): Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Remove file.

commit 68448be208ee06e76665918b37b0a57e3e00c8b4
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 17 16:04:29 2017 -0200

    i386: Fix i386 sigaction sa_restorer initialization (BZ#21269)
    
    This patch fixes the i386 sa_restorer field initialization for sigaction
    syscall for kernel with vDSO.  As described in bug report, i386 Linux
    (and compat on x86_64) interprets SA_RESTORER clear with nonzero
    sa_restorer as a request for stack switching if the SS segment is 'funny'.
    This means that anything that tries to mix glibc's signal handling with
    segmentation (for instance through modify_ldt syscall) is randomly broken
    depending on what values lands in sa_restorer.
    
    The testcase added  is based on Linux test 
tools/testing/selftests/x86/ldt_gdt.c,
    more specifically in do_multicpu_tests function.  The main changes are:
    
      - C11 atomics instead of plain access.
    
      - Remove x86_64 support which simplifies the syscall handling and 
fallbacks.
    
      - Replicate only the test required to trigger the issue.
    
    Checked on i686-linux-gnu.
    
        [BZ #21269]
        * sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269.
        * sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear
        sa_restorer for vDSO case.
        * sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file.

commit 8d965cde7a2bc18a010325607f6f526db86cdaf0
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 22:38:20 2018 +0100

    hurd: Add futimens support
    
    * sysdeps/mach/hurd/futimens.c: New file.

commit 974393ea435ad3d8df58b6de772d3c01afa49ab1
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 03:15:49 2018 +0100

    Separate out error_t definition
    
    so interfaces needing it can get it.
    
        * stdlib/errno.h (error_t): Move definition to...
        * bits/types/error_t.h: ... new header.
        * stdlib/Makefile (headers): Add bits/types/error_t.h.
        * sysdeps/mach/hurd/bits/errno.h (error_t): Move definition to...
        * sysdeps/mach/hurd/bits/types/error_t.h: ... new header.
        * sysdeps/mach/hurd/errnos.awk (error_t): Likewise.
        * hurd/hurd.h: Include <bits/types/error_t.h>
        * hurd/hurd/fd.h: Include <bits/types/error_t.h>
        * hurd/hurd/id.h: Include <errno.h> and <bits/types/error_t.h>
        * hurd/hurd/lookup.h: Include <errno.h> and <bits/types/error_t.h>
        * hurd/hurd/resource.h: Include <bits/types/error_t.h>
        * hurd/hurd/signal.h: Include <bits/types/error_t.h>
        * hurd/hurd/sigpreempt.h: Include <bits/types/error_t.h>

commit ba89615dabf44e9e447a3076cf56321ed4505a54
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 03:44:14 2018 +0100

    hurd: Make almost all hurd headers includable in all standards
    
        * hurd/hurd.h: Include <bits/types/sigset_t.h>
        * hurd/hurd/fd.h: Include <sys/select.h> and <bits/types/sigset_t.h>
        (_hurd_fd_read, _hurd_fd_write): Use __loff_t instead of loff_t.
        * hurd/hurd/signal.h: Include <bits/types/stack_t.h> and
        <bits/types/sigset_t.h>.
        [!defined __USE_GNU]: Do not #error out.
        (struct hurd_sigstate): Use _NSIG instead of NSIG.
        * hurd/hurd/sigpreempt.h (__need_size_t): Define.
        Include <stddef.h> and <bits/types/sigset_t.h>
        (struct hurd_signal_preemptor, hurd_catch_signal): Use __sighandler_t
        instead of sighandler_t.

commit a726c87a149869b51f1c050014d320ff15df81bb
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 02:49:44 2018 +0100

    hurd: Fix inclusion of mach headers in all standards
    
    mig_support does not actually inline the stpncpy any more.
    
        * mach/mach/mig_support.h [defined __USE_GNU]: Do not #error out.
        * scripts/check-installed-headers.sh: Do not ignore Hurd and Mach
        headers.

commit 95dfdbd28cb78f82817f6f965c303d03d1d420dd
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 02:11:46 2018 +0100

    hurd: Avoid using ino64_t and loff_t in headers
    
        * mach/Machrules ($(patsubst %,$(objpfx)%.h,$(user-interfaces)):
        Process mig output through $(migheaderpipe).
        * hurd/Makefile (migheaderpipe): Define variable.

commit 44c6376ca357531fe8169f821acde8c4b574d5ac
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 01:59:30 2018 +0100

    hurd: Add missing include
    
        * sysdeps/mach/hurd/dl-sysdep.c: Include <mach/machine/vm_param.h>.

commit 48d34cbc234ce21c79316dc7de9c27207903c220
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 01:35:12 2018 +0100

    hurd: fix header conformity
    
        * hurd/hurd/fd.h (_hurd_fd_error): Fix struct initializer to be
        trivial, for C++ conformity.

commit 3403cb7dd4ce1e36802f448ecba2bccc6706e73e
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 01:28:55 2018 +0100

    hurd: avoid including hurd/signal.h when not needed
    
    thus making <hurd/port.h> and <hurd/userlink.h> includable without
    _GNU_SOURCE.
    
        * hurd/hurd/port.h: Do not include <hurd/signal.h>.
        * hurd/hurd/userlink.h [!defined __USE_EXTERN_INLINES ||
        !defined _LIBC || !IS_IN (libc)]: Do not include <hurd/signal.h>.

commit 430fd94599e20a71a38a01135bcafe2719a0bd8f
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 00:42:20 2018 +0100

    hurd: Move mach/param.h to bits/mach/param.h
    
        * mach/Makefile (headers): Move mach/param.h to bits/mach/param.h.
        * sysdeps/mach/i386/mach/param.h: Move file to ...
        * sysdeps/mach/i386/bits/mach/param.h: ... here.  Update path in #error.
        * sysdeps/mach/hurd/bits/param.h: Include <bits/mach/param.h> instead
        of <mach/param.h>.

commit f4bff843cd77323d7176b3b1561f50f626e0e452
Author: Samuel Thibault <address@hidden>
Date:   Sun Mar 4 00:13:47 2018 +0100

    hurd: Add missing includes
    
        * mach/Makefile ($(objpfx)mach-shortcuts.h): Make it include
        <mach/mach_types.h> and <mach/message.h>.

commit e30c291a6d541fbb728c92725f4744e7765f34f4
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 3 23:58:51 2018 +0100

    hurd: Add missing includes
    
        * hurd/hurd/id.h: Include <hurd/hurd_types.h>
        * hurd/hurd/ioctl.h: Include <mach/port.h>
        * hurd/hurd/lookup.h: Include <hurd/hurd_types.h>

commit eb1ca47e5591dced9e74f120fbcb738b49e309cd
Author: Samuel Thibault <address@hidden>
Date:   Sat Mar 3 20:06:04 2018 +0100

    hurd: do not check Mach and Hurd headers
    
    as they are not standard.
    
        * scripts/check-installed-headers.sh: Ignore Hurd and Mach headers.

commit eaf6753f8aac33a36deb98c1031d1bad7b593d2d
Author: Andreas Schwab <address@hidden>
Date:   Fri Mar 2 23:07:14 2018 +0100

    Fix multiple definitions of __nss_*_database (bug 22918)

commit 4dc23804a220f917f400e2404bc4803cd60491c7
Author: Joseph Myers <address@hidden>
Date:   Fri Mar 2 22:27:56 2018 +0000

    Fix powerpc ifunc-sel.h build for -Os.
    
    Compiling the testsuite for powerpc (multi-arch configurations) with
    -Os with GCC 7 fails with:
    
    In file included from ifuncmod1.c:7:0,
                     from ifuncdep1.c:3:
    ../sysdeps/powerpc/ifunc-sel.h: In function 'ifunc_sel':
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 2 probably doesn't 
match constraints [-Werror]
       __asm__ ("mflr 12\n\t"
       ^~~~~~~
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 3 probably doesn't 
match constraints [-Werror]
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: asm operand 4 probably doesn't 
match constraints [-Werror]
    ../sysdeps/powerpc/ifunc-sel.h:12:3: error: impossible constraint in 'asm'
    
    The "i" constraints on function pointers require the function call to
    be inlined so the compiler can see the constant function pointer
    arguments passed to the asm.  This patch marks the relevant functions
    as always_inline accordingly.
    
    Tested that this fixes the -Os testsuite build for
    powerpc-linux-gnu-power4, powerpc64-linux-gnu, powerpc64le-linux-gnu
    with build-many-glibcs.py.
    
        * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Make always_inline.
        (ifunc_one): Likewise.

commit 1c81d55fc4b07b51adf68558ba74ce975153e580
Author: DJ Delorie <address@hidden>
Date:   Thu Mar 1 23:20:45 2018 -0500

    [BZ #22342] Fix netgroup cache keys.
    
    Unlike other nscd caches, the netgroup cache contains two types of
    records - those for "iterate through a netgroup" (i.e. setnetgrent())
    and those for "is this user in this netgroup" (i.e. innetgr()),
    i.e. full and partial records.  The timeout code assumes these records
    have the same key for the group name, so that the collection of records
    that is "this netgroup" can be expired as a unit.
    
    However, the keys are not the same, as the in-netgroup key is generated
    by nscd rather than being passed to it from elsewhere, and is generated
    without the trailing NUL.  All other keys have the trailing NUL, and as
    noted in the linked BZ, debug statements confirm that two keys for the
    same netgroup are added to the cache with two different lengths.
    
    The result of this is that as records in the cache expire, the purge
    code only cleans out one of the two types of entries, resulting in
    stale, possibly incorrect, and possibly inconsistent cache data.
    
    The patch simply includes the existing NUL in the computation for the
    key length ('key' points to the char after the NUL, and 'group' to the
    first char of the group, so 'key-group' includes the first char to the
    NUL, inclusive).
    
        [BZ #22342]
        * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in
        key value.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit b717c14fb1b2b51373d8d0f0217bb53caad59495
Author: Maciej W. Rozycki <address@hidden>
Date:   Thu Mar 1 16:10:05 2018 +0000

    nptl_db: Remove stale `match_pid' parameter from `iterate_thread_list'
    
    Complement commit c579f48edba8 ("Remove cached PID/TID in clone") and
    remove the `match_pid' parameter not used by `iterate_thread_list' any
    longer.  Update call sites accordingly.
    
        * nptl_db/td_ta_thr_iter.c (iterate_thread_list): Remove
        `match_pid' parameter.
        (td_ta_thr_iter): Update accordingly.

commit 1efe13586124f536437ee031626f94a2cf2a502a
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 1 14:38:00 2018 +0100

    nptl: Turn libpthread.so into a symbolic link to the real DSO
    
    The linker script is no longer needed.

commit a527f09cd1475dbc465ad476f0604951fa3590d7
Author: Mike FABIAN <address@hidden>
Date:   Thu Mar 1 07:05:01 2018 +0100

    an_ES locale: update some locale data [BZ #22896]
    
        [BZ #22896]
        * localedata/locales/an_ES: update month and day names,
        improve d_fmt, improve postal_fmt, add country_post,
        add country_isbn

commit 35d660b01e661d00abb8124dcb32aa756e170eef
Author: Mike FABIAN <address@hidden>
Date:   Wed Feb 28 19:26:29 2018 +0100

    bg_BG locale: Fix a typo in a comment
    
        * localedata/locales/bg_BG (LC_COLLATE): The comment mentioned
        Ukrainian instead of Bulgarian.

commit 1a2f44a848663036c8a14671fe0faa3fed0b2a25
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 1 12:53:09 2018 +0100

    nptl: Drop libpthread_nonshared.a from libpthread.so
    
    Fixes commit bd60ce86520b781ca24b99b2555e2ad389bbfeaa (nptl: Move
    pthread_atfork to libc_nonshared.a).

commit bd60ce86520b781ca24b99b2555e2ad389bbfeaa
Author: Florian Weimer <address@hidden>
Date:   Thu Mar 1 08:18:27 2018 +0100

    nptl: Move pthread_atfork to libc_nonshared.a
    
    libpthread_nonshared.a is unused after this, so remove it from the
    build.
    
    There is no ABI impact because pthread_atfork was implemented using
    __register_atfork in libc even before this change.
    
    pthread_atfork has to be a weak alias because pthread_* names are not
    reserved in libc.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit e2bcf6a8551c6b6a7eeed8f84be42b29eef4d0e2
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 28 21:55:51 2018 +0000

    Fix i386 fenv_private.h float128 for 32-bit --with-fpmath=sse (bug 22902).
    
    As discussed in bug 22902, the i386 fenv_private.h implementation has
    problems for float128 for the case of 32-bit glibc built with libgcc
    from GCC configured using --with-fpmath=sse.
    
    The optimized floating-point state handling in fenv_private.h needs to
    know which floating-point state - x87 or SSE - is used for each
    floating-point type, so that only one state needs updating / testing
    for libm code using that state internally.  On 32-bit x86, the x87
    rounding mode is always used for float128, but the x87 exception flags
    are only used when libgcc is built using x87 floating-point
    arithmetic; if libgcc is built for SSE arithmetic, the SSE exception
    flags are used.
    
    The choice of arithmetic with which libgcc is built is independent of
    that with which glibc is built.  Thus, since glibc cannot tell the
    choice used in libgcc, the default implementations of
    libc_feholdexcept_setroundf128 and libc_feupdateenv_testf128 (which
    use the <fenv.h> functions, thus using both x87 and SSE state on
    processors that have both) need to be used; this patch updates the
    code accordingly.
    
    Tested for 32-bit x86; HJ reports testing in the --with-fpmath=sse
    case.
    
        [BZ #22902]
        * sysdeps/i386/fpu/fenv_private.h [!__x86_64__]
        (libc_feholdexcept_setroundf128): New macro.
        [!__x86_64__] (libc_feupdateenv_testf128): Likewise.

commit 000f290ff179c9910f09b7f76797bdab575abb15
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 28 14:16:21 2018 +0000

    Use libc_hidden_* for strtoumax (bug 15105).
    
    On sparc, localplt test failures appear when building with -Os because
    of a call to strtoumax from
    sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c, and strtoumax
    is not inlined when building with -Os.  This patch fixes those
    failures by using libc_hidden_proto and libc_hidden_def for strtoumax.
    
    Tested with build-many-glibcs.py for
    sparc64-linux-gnu-disable-multi-arch, sparc64-linux-gnu,
    sparcv9-linux-gnu-disable-multi-arch, sparcv9-linux-gnu that this
    fixes that test failure with -Os.
    
        [BZ #15105]
        * sysdeps/wordsize-32/strtoumax.c (strtoumax): Use
        libc_hidden_def.
        * sysdeps/wordsize-64/strtoumax.c (strtoumax): Likewise.
        * include/inttypes.h: New file.

commit 02f2fead8f702676a4691781432dff2422669dfd
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 27 16:54:14 2018 +0000

    Fix two more -Os strcoll / wcscoll build failures.
    
    Continuing fixes for -Os build issues shown with build-many-glibcs.py,
    this patch adds uses of DIAG_* to disable -Wmaybe-uninitialized in two
    more places where code inlined from strcoll / wcscoll is wrongly
    diagnosed as possibly using uninitialized structure fields.  (All
    these warnings in different places for these functions are I think
    essentially the same bug.)
    
    Tested with build-many-glibcs.py for alpha-linux-gnu and
    mips-linux-gnu that this fixes the -Os build failures for those
    configurations with GCC 7.
    
        * locale/weightwc.h (findidx): Ignore -Wmaybe-uninitialized for
        -Os in two more places.

commit 874c56d7979858bbb1bb1604c55769ad0ce7a072
Author: Mike FABIAN <address@hidden>
Date:   Thu Dec 21 18:56:52 2017 +0100

    Remove the lines from cmn_TW.UTF-8.in which cannot work at the moment.
    
    See this bug https://sourceware.org/bugzilla/show_bug.cgi?id=22898
    
    These lines don’t yet work because of a glibc bug, not because of
    problems in the locale data. No matter what sorting rules one uses,
    these characters cannot be sorted at all at the moment.
    
    As soon as that bug is fixed, these lines should be added back to the
    test file.
    
        * localedata/cmn_TW.UTF-8.in: Remove the lines which cannot
            be sorted correctly at the moment because of a bug.

commit 159738548130d5ac4fe6178977e940ed5f8cfdc4
Author: Mike FABIAN <address@hidden>
Date:   Mon Dec 11 18:26:22 2017 +0100

    Adapt collation in several locales to the new iso14651_t1_common file
    
    [BZ #22550] - es_ES locale (and other es_* locales): collation should
    treat ñ as a primary different character, sync the collation
    for Spanish with CLDR
    [BZ #21547] - Tibetan script collation broken (Dzongkha and Tibetan)
    
        * localedata/Makefile: Add new test files.
        * localedata/lv_LV.UTF-8.in: Adapt test file to new collation order.
        * localedata/sv_SE.ISO-8859-1.in: Adapt test file to new collation 
order.
        * localedata/uk_UA.UTF-8.in: Adapt test file to new collation order.
        * localedata/am_ET.UTF-8.in: New test file.
        * localedata/az_AZ.UTF-8.in: Likewise.
        * localedata/be_BY.UTF-8.in: Likewise.
        * localedata/ber_DZ.UTF-8.in: Likewise.
        * localedata/ber_MA.UTF-8.in: Likewise.
        * localedata/bg_BG.UTF-8.in: Likewise.
        * localedata/br_FR.UTF-8.in: Likewise.
        * localedata/cmn_TW.UTF-8.in: Likewise.
        * localedata/crh_UA.UTF-8.in: Likewise.
        * localedata/csb_PL.UTF-8.in: Likewise.
        * localedata/cv_RU.UTF-8.in: Likewise.
        * localedata/cy_GB.UTF-8.in: Likewise.
        * localedata/dz_BT.UTF-8.in: Likewise.
        * localedata/eo.UTF-8.in: Likewise.
        * localedata/es_ES.UTF-8.in: Likewise.
        * localedata/fa_IR.UTF-8.in: Likewise.
        * localedata/fi_FI.UTF-8.in: Likewise.
        * localedata/fil_PH.UTF-8.in: Likewise.
        * localedata/fur_IT.UTF-8.in: Likewise.
        * localedata/address@hidden: Likewise.
        * localedata/ha_NG.UTF-8.in: Likewise.
        * localedata/ig_NG.UTF-8.in: Likewise.
        * localedata/ik_CA.UTF-8.in: Likewise.
        * localedata/kk_KZ.UTF-8.in: Likewise.
        * localedata/ku_TR.UTF-8.in: Likewise.
        * localedata/ky_KG.UTF-8.in: Likewise.
        * localedata/ln_CD.UTF-8.in: Likewise.
        * localedata/mi_NZ.UTF-8.in: Likewise.
        * localedata/ml_IN.UTF-8.in: Likewise.
        * localedata/mn_MN.UTF-8.in: Likewise.
        * localedata/mr_IN.UTF-8.in: Likewise.
        * localedata/mt_MT.UTF-8.in: Likewise.
        * localedata/nb_NO.UTF-8.in: Likewise.
        * localedata/om_KE.UTF-8.in: Likewise.
        * localedata/os_RU.UTF-8.in: Likewise.
        * localedata/ps_AF.UTF-8.in: Likewise.
        * localedata/ro_RO.UTF-8.in: Likewise.
        * localedata/ru_RU.UTF-8.in: Likewise.
        * localedata/sc_IT.UTF-8.in: Likewise.
        * localedata/se_NO.UTF-8.in: Likewise.
        * localedata/sq_AL.UTF-8.in: Likewise.
        * localedata/sv_SE.UTF-8.in: Likewise.
        * localedata/szl_PL.UTF-8.in: Likewise.
        * localedata/tg_TJ.UTF-8.in: Likewise.
        * localedata/tk_TM.UTF-8.in: Likewise.
        * localedata/tt_RU.UTF-8.in: Likewise.
        * localedata/address@hidden: Likewise.
        * localedata/ug_CN.UTF-8.in: Likewise.
        * localedata/uz_UZ.UTF-8.in: Likewise.
        * localedata/vi_VN.UTF-8.in: Likewise.
        * localedata/yi_US.UTF-8.in: Likewise.
        * localedata/yo_NG.UTF-8.in: Likewise.
        * localedata/zh_CN.UTF-8.in: Likewise.
        * localedata/locales/am_ET: Adapt collation rules to new 
iso14651_t1_common
            file and fix bugs in the collation.
        * localedata/locales/az_AZ: Likewise.
        * localedata/locales/be_BY: Likewise.
        * localedata/locales/ber_DZ: Likewise.
        * localedata/locales/ber_MA: Likewise.
        * localedata/locales/bg_BG: Likewise.
        * localedata/locales/br_FR: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ca_ES: Likewise.
        * localedata/locales/cns11643_stroke: Likewise.
        * localedata/locales/crh_UA: Likewise.
        * localedata/locales/cs_CZ: Likewise.
        * localedata/locales/csb_PL: Likewise.
        * localedata/locales/cv_RU: Likewise.
        * localedata/locales/cy_GB: Likewise.
        * localedata/locales/da_DK: Likewise.
        * localedata/locales/dz_BT: Likewise.
        * localedata/locales/en_CA: Likewise.
        * localedata/locales/eo: Likewise.
        * localedata/locales/es_CU: Likewise.
        * localedata/locales/es_EC: Likewise.
        * localedata/locales/es_ES: Likewise.
        * localedata/locales/es_US: Likewise.
        * localedata/locales/et_EE: Likewise.
        * localedata/locales/fa_IR: Likewise.
        * localedata/locales/fi_FI: Likewise.
        * localedata/locales/fil_PH: Likewise.
        * localedata/locales/fur_IT: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ha_NG: Likewise.
        * localedata/locales/hr_HR: Likewise.
        * localedata/locales/hsb_DE: Likewise.
        * localedata/locales/hu_HU: Likewise.
        * localedata/locales/ig_NG: Likewise.
        * localedata/locales/ik_CA: Likewise.
        * localedata/locales/is_IS: Likewise.
        * localedata/locales/iso14651_t1_pinyin: Likewise.
        * localedata/locales/kk_KZ: Likewise.
        * localedata/locales/ku_TR: Likewise.
        * localedata/locales/ky_KG: Likewise.
        * localedata/locales/ln_CD: Likewise.
        * localedata/locales/lt_LT: Likewise.
        * localedata/locales/lv_LV: Likewise.
        * localedata/locales/mi_NZ: Likewise.
        * localedata/locales/ml_IN: Likewise.
        * localedata/locales/mn_MN: Likewise.
        * localedata/locales/mr_IN: Likewise.
        * localedata/locales/mt_MT: Likewise.
        * localedata/locales/nb_NO: Likewise.
        * localedata/locales/om_KE: Likewise.
        * localedata/locales/os_RU: Likewise.
        * localedata/locales/pl_PL: Likewise.
        * localedata/locales/ps_AF: Likewise.
        * localedata/locales/ro_RO: Likewise.
        * localedata/locales/ru_RU: Likewise.
        * localedata/locales/ru_UA: Likewise.
        * localedata/locales/sc_IT: Likewise.
        * localedata/locales/se_NO: Likewise.
        * localedata/locales/si_LK: Likewise.
        * localedata/locales/sq_AL: Likewise.
        * localedata/locales/sv_FI: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/sv_SE: Likewise.
        * localedata/locales/szl_PL: Likewise.
        * localedata/locales/tg_TJ: Likewise.
        * localedata/locales/ti_ER: Likewise.
        * localedata/locales/tk_TM: Likewise.
        * localedata/locales/tl_PH: Likewise.
        * localedata/locales/tr_TR: Likewise.
        * localedata/locales/tt_RU: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ug_CN: Likewise.
        * localedata/locales/uk_UA: Likewise.
        * localedata/locales/uz_UZ: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/vi_VN: Likewise.
        * localedata/locales/yi_US: Likewise.
        * localedata/locales/yo_NG: Likewise.

commit ce6636b06b67d6bb9b3d6927bf2a926b9b7478f5
Author: Mike FABIAN <address@hidden>
Date:   Mon Jan 1 15:33:50 2018 +0100

    Improve gen-locales.mk and gen-locale.sh to make test files with @ options 
work
    
    With out this, adding collation test files like localedata/address@hidden
    does not work for locales which contain @ modifiers.
    
        * gen-locales.mk: Make test files which contain @ modifiers in their
            name work.
        * localedata/gen-locale.sh: Likewise.

commit ac3a3b4b0d561d776b60317d6a926050c8541655
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 23 17:29:36 2018 +0100

    Fix test cases tst-fnmatch and tst-regexloc for the new iso14651_t1_common 
file.
    
    See:
    
    http://pubs.opengroup.org/onlinepubs/7908799/xbd/re.html
    
    > A range expression represents the set of collating elements that fall
    > between two elements in the current collation sequence,
    > inclusively. It is expressed as the starting point and the ending
    > point separated by a hyphen (-).
    >
    > Range expressions must not be used in portable applications because
    > their behaviour is dependent on the collating sequence. Ranges will be
    > treated according to the current collating sequence, and include such
    > characters that fall within the range based on that collating
    > sequence, regardless of character values. This, however, means that
    > the interpretation will differ depending on collating sequence. If,
    > for instance, one collating sequence defines ä as a variant of a,
    > while another defines it as a letter following z, then the expression
    > [ä-z] is valid in the first language and invalid in the second.
    
    Therefore, using [a-z] does not make much sense except in the C/POSIX 
locale.
    The new iso14651_t1_common lists upper case and  lower case Latin characters
    in a different order than the old one which causes surprising results
    for example in the de_DE locale: [a-z] now includes A because A comes
    after a in iso14651_t1_common but does not include Z because that comes
    after z in iso14651_t1_common.
    
        * posix/tst-fnmatch.input: Fix results for range expressions
            for non C locales.
        * posix/tst-regexloc.c: Do not use a range expression for
            de_DE.ISO-8859-1 locale.

commit 770cbe147cf33580e05ba6de78993c3070c5c2f8
Author: Mike FABIAN <address@hidden>
Date:   Fri Dec 15 07:19:45 2017 +0100

    Fix posix/bug-regex5.c test case, adapt to iso14651_t1_common upate
    
    This test case tests how many collating elements are defined in
    da_DK.ISO-8859-1 locale. The da_DK locale source defines 4:
    
    collating-element <A-A> from "<U0041><U0041>"
    collating-element <A-a> from "<U0041><U0061>"
    collating-element <a-A> from "<U0061><U0041>"
    collating-element <a-a> from "<U0061><U0061>"
    
    The new iso14651_t1_common file defines more collating elements, two
    of them are in the ISO-8859-1 range:
    
    collating-element <U004C_00B7> from "<U004C><U00B7>" % decomposition of 
LATIN CAPITAL LETTER L WITH MIDDLE DOT
    collating-element <U006C_00B7> from "<U006C><U00B7>" % decomposition of 
LATIN SMALL LETTER L WITH MIDDLE DOT
    
    So the total count is now 6 instead of 4.
    
        * posix/bug-regex5.c: Fix test case because with the new
            iso14651_t1_common file, the da_DK locale now has 6 collating 
elements
            in the ISO-8859-1 range instead of 4 with the old iso14651_t1_common
            file.

commit 0fc355d9a7b3cc9d5e4190ce929e1eb4459ef0ea
Author: Mike FABIAN <address@hidden>
Date:   Wed Dec 13 14:39:54 2017 +0100

    Collation order of @-. and space has changed in new iso14651_t1_common 
file, adapt test files
    
        * localedata/da_DK.ISO-8859-1.in: In the new iso14651_t1_common file
            downloaded from ISO, the collation order of @-. and space has 
changed.
            Therefore, this test file needed to be adapted.
        * localedata/fr_CA.UTF-8.in: Likewise.
        * localedata/fr_FR.UTF-8.in: Likewise.
        * localedata/uk_UA.UTF-8.in: Likewise.

commit 43f3893f4b5679cb9eb93300b18f7febd17e5239
Author: Mike FABIAN <address@hidden>
Date:   Tue Dec 12 14:39:34 2017 +0100

    Collation order of ȥ has changed in new iso14651_t1_common file, adapt 
test files
    
        * localedata/cs_CZ.UTF-8.in: adapt this test file to the collation
            order of ȥ in the new iso14651_t1_common file.
        * localedata/pl_PL.UTF-8.in: Likewise.

commit df74ef786f9c87ce5404df3b68a91cb9d2c4c26f
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 30 15:45:05 2018 +0100

    Add sections for various scripts to the iso14651_t1_common file
    
        * localedata/locales/iso14651_t1_common: Add sections for various
        scripts to the iso14651_t1_common file.

commit d5adfbadd47e6836a7ddae54fba9f88e2b3354db
Author: Mike FABIAN <address@hidden>
Date:   Wed Jan 31 06:18:47 2018 +0100

    iso14651_t1_common: make the fourth level the codepoint for characters 
which are ignorable on all 4 levels
    
    Entries for characters which have “IGNORE” on all 4 levels like:
    
     <U0001> IGNORE;IGNORE;IGNORE;IGNORE % START OF HEADING (in ISO 6429)
    
    are changed into:
    
     <U0001> IGNORE;IGNORE;IGNORE;<U0001> % START OF HEADING (in ISO 6429)
    
    i.e. putting the code point of the character into the fourth level
    instead of “IGNORE”. Without that change, all such characters
    would compare equal which would make a wcscoll test case fail.
    It is better to have a clearly defined sort order even for characters
    like this so it is good to use the code point as a tie-break.
    
        * localedata/locales/iso14651_t1_common: Use the code point of a
            character in the fourth collation level instead of IGNORE for all
            entries which have IGNORE on all 4 levels.

commit 5f5a96109187b4bb4a10b62139ab1c7fe45f7c1d
Author: Mike FABIAN <address@hidden>
Date:   Mon Dec 11 20:00:24 2017 +0100

    Add convenience symbols like <AFTER-A>, <BEFORE-A> to iso14651_t1_common
    
        * localedata/locales/iso14651_t1_common: Add some convenient collation
        symbols like <AFTER-A>, <BEFORE-A> to make tailoring easier using
        rules similar to those in CLDR.

commit 8a97e9002ffa807b49e1222e5a9d51ce7896f209
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 30 18:24:47 2018 +0100

    Fixing syntax errors after updating the iso14651_t1_common file
    
        * localedata/locales/iso14651_t1_common: The new version of this
        file downloaded from ISO contained several syntax errors which
        are fixed by this patch.

commit bbdd2fba7d36d8f03c919b34f95238d8cf248b47
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 30 18:07:39 2018 +0100

    iso14651_t1_common: <U\([0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]\)> → 
<U000\1>
    
        * localedata/locales/iso14651_t1_common: replace all <U.....>
        with <U000.....> because glibc understands only 4 digit or 8 digit

commit 1569e551aff088ed48e2694b07045256f3582271
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 30 18:04:31 2018 +0100

    Necessary changes after updating the iso14651_t1_common file
    
        * localedata/locales/iso14651_t1_common: Necessary changes
        to make the file downloaded from ISO usable by glibc.

commit 9479b6d5e08eacce06c6ab60abc9b2f4eb8b71e4
Author: Mike FABIAN <address@hidden>
Date:   Tue Jan 30 17:59:00 2018 +0100

    Update iso14651_t1_common file to ISO14651_2016_TABLE1_en.txt [BZ #14095]
    
    [BZ #14095] - Review / update collation data from Unicode / ISO 14651
    
    File downloaded from:
    http://standards.iso.org/iso-iec/14651/ed-4/ISO14651_2016_TABLE1_en.txt
    
    Updating this file alone is not enough, there are problems in the new
    file which need to be fixed and the collation rules for many locales
    need to be adapted. This is done by the following patches.
    
    This update also fixes the problem that many characters are treated as
    identical when sorting because they were not yet in the old
    iso14651_t1_common file, see:
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1336308
    - Infinite (∞) and empty set (∅) are treated as if they were the same 
character by sort and uniq
    
        [BZ #14095]
        * localedata/locales/iso14651_t1_common: Update file to
        latest version from ISO (ISO14651_2016_TABLE1_en.txt).

commit 93d260ddda87a124d3fbb9af400fa154cfd00b4b
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 27 01:15:09 2018 +0100

    hurd: fix timer_routines.c build
    
        * sysdeps/pthread/timer_routines.c: Include <timer_routines.h>
        instead of <internaltypes.h>.

commit 7211eba676d62edd7a2007887f27b2c823a4befa
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 27 01:10:37 2018 +0100

    hurd: fix gai_misc build
    
        * sysdeps/mach/hurd/gai_misc.h: New file.

commit eb937a52856857e7ecb1fadb565c3fc9775ed60e
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 27 00:55:59 2018 +0100

    hurd: fix timer_routines.c build
    
            * sysdeps/pthread/timer_routines.c: [!defined DELAYTIMER_MAX]
            (DELAYTIMER_MAX): Define to INT_MAX.

commit 03b540b3680122bbe19943b7afaf7d1fb1aa7a48
Author: Samuel Thibault <address@hidden>
Date:   Sun Feb 18 03:00:50 2018 +0100

    Move NPTL-specific code to NPTL-specific header
    
        * sysdeps/pthread/timer_routines.c: Include <timer_routines.h> instead
        of <nptl/pthreadP.h>
        (thread_attr_compare): Move function to...
        * sysdeps/nptl/timer_routines.h: ... new header.

commit f54d8f735ab7647713b4f8e63282bd7a920234e1
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 26 18:38:01 2018 +0000

    Fix another -Os strcoll build issue.
    
    While there are now clean -Os build and test results on x86_64 (given
    my patch <https://sourceware.org/ml/libc-alpha/2018-02/msg00602.html>,
    pending review), testing with -Os with build-many-glibcs.py shows the
    build is still failing with -Os everywhere except for x86_64, x86 and
    s390x.
    
    There are a variety of different build failures, but the most common
    seem to be in strcoll / wcscoll, similar to existing such cases where
    DIAG_* are used to disable -Wmaybe-uninitialized.  There are various
    different failures even within those functions.  This patch fixes one
    particular case that seems quite common, where the warning appears at
    the declarations of seq1 and seq2.
    
    Tested with build-many-glibcs.py that this fixes the -Os build for
    aarch64-linux-gnu with GCC 7.
    
        * string/strcoll_l.c: Include <libc-diag.h>.
        (STRCOLL): Ignore -Wmaybe-uninitialized for -Os around
        declarations of seq1 and seq2.

commit 20602c72fa54bc0923314820ec8148186096bf3b
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 26 18:17:47 2018 +0000

    Use libc_hidden_* for atoi (bug 15105).
    
    Continuing the fixes for localplt test failures with -Os arising from
    functions not being inlined in that case, this patch fixes such
    failures for atoi by using libc_hidden_proto and libc_hidden_def.
    
    Tested for x86_64 (both that it removes this particular localplt
    failure for -Os, and that the testsuite continues to pass without
    -Os).
    
        [BZ #15105]
        * stdlib/atoi.c (atoi): Use libc_hidden_def.
        * include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto.

commit f5f473a9d0e8fdbede858fa1ef0d01d12142367b
Author: Dmitry V. Levin <address@hidden>
Date:   Sat Feb 10 23:19:32 2018 +0000

    linux/powerpc: sync sys/ptrace.h with Linux 4.15 [BZ #22433, #22807]
    
    Tested with strace.
    
    * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add
    PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS,
    PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS,
    PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64,
    PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS,
    PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK.

commit 398c6fddafcee2dc4c2b2574417a2d0cfccaeec1
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Mon Feb 26 10:40:17 2018 -0300

    powerpc: Undefine Linux ptrace macros that conflict with __ptrace_request
    
    Linux ptrace headers define macros whose tokens conflict with the
    constants of enum __ptrace_request causing build errors when
    asm/ptrace.h or linux/ptrace.h are included before sys/ptrace.h.
    
        * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
        macros used in __ptrace_request.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit d863cd712eb1fc3276896933846cc9d1035afd55
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 26 04:54:14 2018 -0800

    Fix a typo in ChangeLog (bit_cpu_BIT -> bit_cpu_IBT)

commit 7e04eb2932d3126c721ee2bc0d664a5bbea2f41f
Author: DJ Delorie <address@hidden>
Date:   Fri Feb 23 16:08:08 2018 -0500

    Update ChangeLog for BZ 22884 - riscv fmax/fmin

commit f5d1f629c693bc30ccc8ff1246cb37986c1adb1c
Author: H.J. Lu <address@hidden>
Date:   Fri Feb 23 11:29:27 2018 -0800

    Define GEN_AS_CONST_HEADERS when generating header files [BZ #22792]
    
    Glibc build generates header files to define constants from special .sym
    files.  If a .sym file includes the same header file which it generates,
    it leads to circular dependency which may lead to build hang on a
    many-core machine.  Define GEN_AS_CONST_HEADERS when generating header
    files to avoid circular dependency.
    
    <tcb-offsets.h> is needed for i686 and it isn't needed for x86-64 at
    least since glibc 2.23.
    
    Tested on i686 and x86-64.
    
        [BZ #22792]
        * Makerules ($(common-objpfx)%.h): Pass -DGEN_AS_CONST_HEADERS
        to $(CC).
        * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Include
        <tcb-offsets.h> only if GEN_AS_CONST_HEADERS isn't defined.
        * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Don't include
        <tcb-offsets.h>.

commit 54412d20618b7b93f136a168e788573575f8a7a6
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 23 13:54:53 2018 +0000

    Use libc_hidden_* for tolower, toupper (bug 15105).
    
    Continuing the fixes for localplt test failures with -Os arising from
    functions not being inlined in that case, this patch fixes such
    failures for tolower and toupper by using libc_hidden_proto and
    libc_hidden_def.
    
    Tested for x86_64 (both that it removes this particular localplt
    failure for -Os, and that the testsuite continues to pass without
    -Os).
    
    2018-02-22  Joseph Myers  <address@hidden>
    
        [BZ #15105]
        * ctype/ctype.c (tolower): Use libc_hidden_def.
        (toupper): Likewise.
        * include/ctype.h [!_ISOMAC] (tolower): Use libc_hidden_proto.
        [!_ISOMAC] (toupper): Likewise.

commit 81be4b5e38c22bfd77ec8fe6815a45782c19eca1
Author: Mike FABIAN <address@hidden>
Date:   Tue Feb 20 18:14:43 2018 +0100

    Remove --quiet argument when installing locales
    
    Using this argument hides problems. I would like to see when something 
fails.
    
        * localedata/Makefile: Remove --quiet argument when
        installing locales

commit 9d5cfd8e838da31bd8fe0a55d4b43e8425dd3c2f
Author: Mike FABIAN <address@hidden>
Date:   Wed Feb 14 18:17:42 2018 +0100

    Use / instead of - in d_fmt for pt_BR and pt_PT [BZ #17438]
    
        [BZ #17438]
        * localedata/locales/pt_BR (LC_TIME): use / instead of -
        in d_fmt.
        * localedata/locales/pt_PT (LC_TIME): likewise

commit 6c7269f31dc780f27dfc0706f9b1a6dbd160fdd9
Author: Mike FABIAN <address@hidden>
Date:   Tue Feb 13 12:03:49 2018 +0100

    Use “copy "es_BO"” in LC_TIME of es_CU, es_CL, and es_EC
    
    LC_TIME in these 4 locales is identical, using “copy "es_BO"” makes
    that more obvious.
    
        [BZ #22646]
        * localedata/locales/es_CL (LC_TIME): copy "es_BO".
        * localedata/locales/es_CU (LC_TIME): copy "es_BO".
        * localedata/locales/es_EC (LC_TIME): copy "es_BO".

commit 4cdc25a4a1b49c7c73124952511fb57c5a82cd3f
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Feb 22 16:44:58 2018 -0300

    Update sparc ulps
    
        * sysdeps/sparc/fpu/libm-test-ulps: Update.

commit 27761a1042daf01987e7d79636d0c41511c6df3c
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Feb 1 17:57:56 2018 -0200

    Refactor atfork handlers
    
    Current implementation (sysdeps/nptl/fork.c) replicates the atfork
    handlers list backward to invoke the child handlers after fork/clone
    syscall.
    
    The internal atfork handlers is implemented as a single-linked list
    so a lock-free algorithm can be used, trading fork mulithread call
    performance for some code complexity and dynamic stack allocation
    (since the backwards list should not fail).
    
    This patch refactor it to use a dynarary instead of a linked list.
    It simplifies the external variables need to be exported and also
    the internal atfork handler member definition.
    
    The downside is a serialization of fork call in multithread, since to
    operate on the dynarray the internal lock should be used.  However
    as noted by Florian, it already acquires external locks for malloc
    and libio so it is already hitting some lock contention.  Besides,
    posix_spawn should be faster and more scalable to run external programs
    in multithread environments.
    
    Checked on x86_64-linux-gnu.
    
        * nptl/Makefile (routines): Remove unregister-atfork.
        * nptl/register-atfork.c (fork_handler_pool): Remove variable.
        (fork_handler_alloc): Remove function.
        (fork_handlers, fork_handler_init): New variables.
        (__fork_lock): Rename to atfork_lock.
        (__register_atfork, __unregister_atfork, libc_freeres_fn): Rewrite
        to use a dynamic array to add/remove atfork handlers.
        * sysdeps/nptl/fork.c (__libc_fork): Likewise.
        * sysdeps/nptl/fork.h (__fork_lock, __fork_handlers, __linkin_atfork):
        Remove declaration.
        (fork_handler): Remove next, refcntr, and need_signal member.
        (__run_fork_handler_type): New enum.
        (__run_fork_handlers): New prototype.
        * sysdeps/nptl/libc-lockP.h (__libc_atfork): Remove declaration.

commit 92aabad9b20be814f9dad4e7f39999605741366d
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 3 22:37:55 2017 -0200

    Rename nptl-signals.h to internal-signals.h
    
    This patch renames the nptl-signals.h header to internal-signals.h.
    On Linux the definitions and functions are not only NPTL related, but
    used for other POSIX definitions as well (for instance SIGTIMER for
    posix times, SIGSETXID for id functions, and signal block/restore
    helpers) and since generic functions will be places and used in generic
    implementation it makes more sense to decouple it from NPTL.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/nptl/nptl-signals.h: Move to ...
        * sysdeps/generic/internal-signals.h: ... here.  Adjust internal
        comments.
        * sysdeps/unix/sysv/linux/internal-signals.h: Add include guards.
        (__nptl_is_internal_signal): Rename to __is_internal_signal.
        (__nptl_clear_internal_signals): Rename to __clear_internal_signals.
        * sysdeps/unix/sysv/linux/raise.c: Adjust nptl-signal.h to
        include-signals.h rename.
        * nptl/pthreadP.h: Likewise.
        * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call
        __is_internal_signal instead of __nptl_is_internal_signal.

commit fdcc625376505eacb1125a6aeba57501407a30ec
Author: Andrew Waterman <address@hidden>
Date:   Thu Feb 22 14:31:54 2018 -0500

    RISC-V: fmax/fmin: Handle signalling NaNs correctly.
    
    RISC-V's fmax(sNAN,4) returns 4 but glibc expects it to return qNAN.
    
        * sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly.
        * sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise.
        * sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise.
        * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise.

commit 8090720a87e42fddc31396f6126112d4b8014d8e
Author: DJ Delorie <address@hidden>
Date:   Thu Feb 22 14:28:47 2018 -0500

    RISC-V: Do not initialize $gp in TLS macros.
    
    RISC-V TLS doesn't require GP to be initialized, and doing so breaks
    TLS in a shared object.

commit 6ca24c43481e2c93a6eec362b04c3e77a35b28e3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Feb 22 23:48:13 2018 +0530

    aarch64/strcmp: fix misaligned loop jump target
    
    I accidentally set the loop jump back label as misaligned8 instead of
    do_misaligned.  The typo is harmless but it's always nice to not have
    to unnecessarily execute those two instructions.
    
        * sysdeps/aarch64/strcmp.S (do_misaligned): Jump back to
        do_misaligned, not misaligned8.

commit e9537dddc7c7c7b60b55ed845542c8d586164488
Author: Steve Ellcey <address@hidden>
Date:   Thu Feb 22 08:38:47 2018 -0800

    IFUNC for Cavium ThunderX2
    
        * sysdeps/aarch64/multiarch/Makefile (sysdep_routines):
        Add memcpy_thunderx2.
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
        Increment to 4.
        (__libc_ifunc_impl_list): Add __memcpy_thunderx2.
        * sysdeps/aarch64/multiarch/memcpy.c (libc_ifunc): Add IS_THUNDERX2
        and IS_THUNDERX2PA checks.
        * sysdeps/aarch64/multiarch/memcpy_thunderx.S (USE_THUNDERX2):
        Use macro to set name appropriately.
        (memcpy): Use USE_THUNDERX2 macro to modify prefetches.
        * sysdeps/aarch64/multiarch/memcpy_thunderx2.S: New file.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_THUNDERX2PA):
        New macro.
        (IS_THUNDERX2): New macro.

commit da81ae645d8ee89052f109c814a68a9489f562e6
Author: Rical Jasan <address@hidden>
Date:   Thu Feb 22 06:15:32 2018 -0800

    Add [BZ #16335] annotation to ChangeLog entry.
    
    Commit 6a3962c4a408e8cbc305d2433711196107374e89 unwittingly fixed a
    bug, so update the ChangeLog entry accordingly.

commit 6e33647646aba76ff58ecf5012e81ab5c23e9087
Author: Stefan Liebler <address@hidden>
Date:   Thu Feb 22 09:13:22 2018 +0100

    S390: Regenerate ULPs.
    
    After regenerating ULPs from scratch in
    commit 8e7196c8759287a3e4c882e3c7cf32ddc322df8a, I've missed
    to test it with multiple gcc versions.  Hence, here is a further update.
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit 315304d24a5149a3670217514256b4ae959089e3
Author: Samuel Thibault <address@hidden>
Date:   Wed Feb 21 23:32:46 2018 +0100

    hurd: Add sysdep-cancel.h

commit 30bfee2630b960050d1d50cafaab43fc171abc03
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 21 14:38:24 2018 -0500

    Remove miscellaneous debris from libio.
    
    This patch eliminates a number of #if 0 and #ifdef TODO blocks, macros
    that are never used, macros that provide portability to substrates that
    lack basic things like EINVAL and off_t, and other such debris.
    
    I preserved IO_DEBUG and CHECK_FILE, even though as far as I can tell
    IO_DEBUG is never defined and therefore CHECK_FILE never does
    anything, because it seems like we might actually want to turn it _on_.
    
    Installed stripped libraries and executables are unchanged, except,
    again, that the line number of an assertion changes (this time it's
    somewhere in fileops.c).
    
        * libio/libio.h (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust):
        Define here, unconditionally.
        * libio/iolibio.h (_IO_pos_BAD): Don't define here.
        * libio/libioP.h: Remove #if 0 blocks.
        (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Don't define here.
        (_IO_va_start, COERCE_FILE, MAYBE_SET_EINVAL): Don't define.
        (CHECK_FILE): Don't use MAYBE_SET_EINVAL or COERCE_FILE.  Fix style.
    
        * libio/clearerr.c, libio/fputc.c, libio/getchar.c:
        Assume weak_alias is always defined.
    
        * libio/fileops.c, libio/genops.c, libio/oldfileops.c
        * libio/oldpclose.c, libio/pclose.c, libio/wfileops.c:
        Remove #if 0 and #ifdef TODO blocks.
        Assume text_set_element is always defined.
    
        * libio/iofdopen.c, libio/iogetdelim.c, libio/oldiofdopen.c
        Use __set_errno (EINVAL) instead of MAYBE_SET_EINVAL.
        * libio/tst-mmap-eofsync.c: Make #if 1 block unconditional.

commit df6c012b99499d95ed7fee53553a9f4d4473ccae
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 7 19:41:01 2018 -0500

    Remove _IO_file_flags define.
    
    This entirely mechanical (except for some indentation fixups) patch
    replaces all uses of _IO_file_flags with _flags and removes the #define.
    
    Installed stripped libraries and executables are unchanged by this patch.
    
        * libio/libio.h (_IO_file_flags): Remove macro.
        All uses changed to _flags.

commit 177aad3ff637b32550aec8080314d76a189f7a03
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 7 19:21:54 2018 -0500

    Remove legacy configuration knobs from libio.
    
    This patch eliminates the "compatibility defines"
    _IO_UNIFIED_JUMPTABLES (always defined to 1, used in a number of #ifs
    which are therefore always false), _STDIO_USES_IOSTREAM (unused),
    __HAVE_COLUMN (unused), _IO_BE (replaced with __glibc_unlikely), and
    yet another redundant definition of EOF.
    
    Installed stripped libraries are unchanged by this patch.
    
        * libio/libio.h (_IO_UNIFIED_JUMPTABLES, _STDIO_USES_IOSTREAM)
        (__HAVE_COLUMN, _IO_BE): Don't define.
        (_IO_peekc_unlocked, _IO_getwc_unlocked, _IO_putwc_unlocked)
        (_IO_fwide_maybe_incompatible): Use __glibc_unlikely.
        * libio/libioP.h (EOF): Don't define.
        * libio/iofdopen.c, libio/iofopen.c, libio/iopopen.c
        * libio/iovdprintf.c, libio/oldiofdopen.c, libio/oldiofopen.c
        * libio/oldiopopen.c, debug/vdprintf_chk.c: Remove #if block
        testing _IO_UNIFIED_JUMPTABLES.

commit 9964a14579e5eef925aaa82facc4980f627802fe
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 7 18:42:04 2018 -0500

    Mechanically remove _IO_ name aliases for types and constants.
    
    This patch mechanically removes all remaining uses, and the
    definitions, of the following libio name aliases:
    
     name                         replaced with
     ----                         -------------
     _IO_FILE                     FILE
     _IO_fpos_t                   __fpos_t
     _IO_fpos64_t                 __fpos64_t
     _IO_size_t                   size_t
     _IO_ssize_t                  ssize_t or __ssize_t
     _IO_off_t                    off_t
     _IO_off64_t                  off64_t
     _IO_pid_t                    pid_t
     _IO_uid_t                    uid_t
     _IO_wint_t                   wint_t
     _IO_va_list                  va_list or __gnuc_va_list
     _IO_BUFSIZ                   BUFSIZ
     _IO_cookie_io_functions_t    cookie_io_functions_t
     __io_read_fn                 cookie_read_function_t
     __io_write_fn                cookie_write_function_t
     __io_seek_fn                 cookie_seek_function_t
     __io_close_fn                cookie_close_function_t
    
    I used __fpos_t and __fpos64_t instead of fpos_t and fpos64_t because
    the definitions of fpos_t and fpos64_t depend on the largefile mode.
    I used __ssize_t and __gnuc_va_list in a handful of headers where
    namespace cleanliness might be relevant even though they're
    internal-use-only.  In all other cases, I used the public-namespace
    name.
    
    There are a tiny handful of places where I left a use of 'struct _IO_FILE'
    alone, because it was being used together with 'struct _IO_FILE_plus'
    or 'struct _IO_FILE_complete' in the same arithmetic expression.
    
    Because this patch was almost entirely done with search and replace, I
    may have introduced indentation botches.  I did proofread the diff,
    but I may have missed something.
    
    The ChangeLog below calls out all of the places where this was not a
    pure search-and-replace change.
    
    Installed stripped libraries and executables are unchanged by this patch,
    except that some assertions in vfscanf.c change line numbers.
    
        * libio/libio.h (_IO_FILE): Delete; all uses changed to FILE.
        (_IO_fpos_t): Delete; all uses changed to __fpos_t.
        (_IO_fpos64_t): Delete; all uses changed to __fpos64_t.
        (_IO_size_t): Delete; all uses changed to size_t.
        (_IO_ssize_t): Delete; all uses changed to ssize_t or __ssize_t.
        (_IO_off_t): Delete; all uses changed to off_t.
        (_IO_off64_t): Delete; all uses changed to off64_t.
        (_IO_pid_t): Delete; all uses changed to pid_t.
        (_IO_uid_t): Delete; all uses changed to uid_t.
        (_IO_wint_t): Delete; all uses changed to wint_t.
        (_IO_va_list): Delete; all uses changed to va_list or __gnuc_va_list.
        (_IO_BUFSIZ): Delete; all uses changed to BUFSIZ.
        (_IO_cookie_io_functions_t): Delete; all uses changed to
        cookie_io_functions_t.
        (__io_read_fn): Delete; all uses changed to cookie_read_function_t.
        (__io_write_fn): Delete; all uses changed to cookie_write_function_t.
        (__io_seek_fn): Delete; all uses changed to cookie_seek_function_t.
        (__io_close_fn): Delete: all uses changed to cookie_close_function_t.
    
        * libio/iofopncook.c: Remove unnecessary forward declarations.
        * libio/iolibio.h: Correct outdated commentary.
        * malloc/malloc.c (__malloc_stats): Remove unnecessary casts.
        * stdio-common/fxprintf.c (__fxprintf_nocancel):
        Remove unnecessary casts.
        * stdio-common/getline.c: Use _IO_getdelim directly.
        Don't redefine ssize_t.
        * stdio-common/printf_fp.c, stdio_common/printf_fphex.c
        * stdio-common/printf_size.c: Don't redefine size_t or FILE.
        Remove outdated comments.
        * stdio-common/vfscanf.c: Don't redefine va_list.

commit 349579047db0fb55a2835ca20dfd646a45b6ac27
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 7 16:17:49 2018 -0500

    Remove vestiges of external build support from libio headers.
    
    As requested by Adhemerval, this patch removes some preprocessor
    conditionals from the libio headers that were only relevant when
    building libio outside glibc.
    
    Installed stripped libraries and executables are unchanged by this
    patch.
    
        * libio/iolibio.h, libio/libioP.h: Remove extern "C".
        * libio/libio.h: Remove __BEGIN_DECLS and __END_DECLS.
        Remove preprocessor conditionals on _LIBC and __USE_GNU,
        which are always true, and __cplusplus, which is always false.

commit 039c721a30392790be50dba53b4c72dbcd65be67
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 21 18:02:24 2018 +0000

    Fix -Os putc_unlocked, fputc_unlocked linknamespace, localplt issues (bug 
15105, bug 19463).
    
    Continuing the fixes for linknamespace and localplt test failures with
    -Os that arise from functions not being inlined in that case, this
    patch fixes such failures for putc_unlocked and fputc_unlocked.
    
    libc_hidden_* are used for both functions, while namespace issues are
    addressed by making putc_unlocked a weak alias of hidden
    __putc_unlocked, which is called in the one place where namespace
    issues arise (and defined as an inline function in include/stdio.h).
    
    Tested for x86_64 (both without -Os to make sure that case continues
    to work, and with -Os to make sure all the relevant linknamespace and
    localplt test failures are resolved).  This completes fixing the -Os
    linknamespace failures (at least for x86_64); localplt failures remain
    after this patch.
    
    2018-02-19  Joseph Myers  <address@hidden>
    
        [BZ #15105]
        [BZ #19463]
        * libio/fputc_u.c (fputc_unlocked): Use libc_hidden_def.
        * libio/putc_u.c (putc_unlocked): Rename to __putc_unlocked and
        define as weak alias of __putc_unlocked.  Use libc_hidden_weak.
        * include/stdio.h [!_ISOMAC] (fputc_unlocked): Use
        libc_hidden_proto.
        [!_ISOMAC] (putc_unlocked): Likewise.
        [!_ISOMAC] (__putc_unlocked): Declare as hidden function, and
        define inline if [__USE_EXTERN_INLINES].
        * misc/syslog.c (__vsyslog_chk): Call __putc_unlocked instead of
        putc_unlocked.

commit 30ac923dbe7d0c16df8a368150ecd736557508f4
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 21 18:01:11 2018 +0000

    Fix -Os getc_unlocked linknamespace, localplt issues (bug 15105, bug 19463).
    
    Continuing the fixes for linknamespace and localplt test failures with
    -Os that arise from functions not being inlined in that case, this
    patch fixes such failures for getc_unlocked.
    
    __getc_unlocked already exists; this patch makes it explicitly hidden,
    calls it where needed for namespace reasons, adds an inline function
    for it when inline functions are used and adds libc_hidden_proto /
    libc_hidden_weak for getc_unlocked.
    
    Tested for x86_64 (both without -Os to make sure that case continues
    to work, and with -Os to make sure all the relevant linknamespace and
    localplt test failures are resolved).  Because of other such failures
    that remain after this patch, neither of the bugs can yet be closed.
    
        [BZ #15105]
        [BZ #19463]
        * libio/getc_u.c (getc_unlocked): Use libc_hidden_weak.
        * include/stdio.h [!_ISOMAC] (__getc_unlocked): Use
        attribute_hidden, and define inline if [__USE_EXTERN_INLINES].
        [!_ISOMAC] (getc_unlocked): Use libc_hidden_proto.
        * misc/getttyent.c (__getttyent): Call __getc_unlocked instead of
        getc_unlocked.
        * time/tzfile.c (__tzfile_read): Likewise.

commit 7ec5f9465e732e668d0dc94ac078ba68056d6d0a
Author: Mike FABIAN <address@hidden>
Date:   Mon Feb 19 21:59:30 2018 +0100

    Add missing “reorder-end” in LC_COLLATE of et_EE [BZ #22517]
    
        [BZ #22517]
        * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”

commit 0d217f4082473e5fdca87831df928dd525a02f72
Author: Rical Jasan <address@hidden>
Date:   Wed Feb 21 04:00:03 2018 -0800

    Fix a typo in a comment.
    
        * io/fcntl.h: Fix a typo in a comment.

commit 862b45026fa67277a554eb329538a7d536311eca
Author: Rical Jasan <address@hidden>
Date:   Mon Feb 19 04:37:16 2018 -0800

    manual: Update _DEFAULT_SOURCE.  [BZ #22862]
    
    The description of the interplay between feature test macros and
    compiler options in the description of _DEFAULT_SOURCE is a little
    confusing, and dated, so clarify the situation, and don't assume a
    specific value for _DEFAULT_SOURCE.
    
    Also, _DEFAULT_SOURCE is supposed to be defined if none of the C/POSIX
    feature test macros are defined, but the condition was lacking a test
    for _ISOC11_SOURCE, so that is also addressed.
    
        [BZ #22862]
        * include/features.h: Add _ISOC11_SOURCE to test for whether
        to define _DEFAULT_SOURCE.
        * manual/creature.texi (_DEFAULT_SOURCE): Improve
        documentation.

commit 999a6dab3ee1c8e77bb348ba2389e7aeb5c062b2
Author: Florian Weimer <address@hidden>
Date:   Wed Feb 21 10:42:48 2018 +0100

    ldconfig: Sync temporary files to disk before renaming them [BZ #20890]
    
    If the system crashes before the file data has been written to disk, the
    file system recovery upon the next mount may restore a partially
    rewritten temporary file under the non-temporary (final) name (after the
    rename operation).

commit 52a01100ad011293197637e42b5be1a479a2f4ae
Author: Florian Weimer <address@hidden>
Date:   Wed Feb 21 10:37:22 2018 +0100

    elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787]
    
    This looks like a post-exploitation hardening measure: If an attacker is
    able to redirect execution flow, they could use that to load a DSO which
    contains additional code (or perhaps make the stack executable).
    
    However, the checks are not in the correct place to be effective: If
    they are performed before the critical operation, an attacker with
    sufficient control over execution flow could simply jump directly to
    the code which performs the operation, bypassing the check.  The check
    would have to be executed unconditionally after the operation and
    terminate the process in case a caller violation was detected.
    
    Furthermore, in _dl_check_caller, there was a fallback reading global
    writable data (GL(dl_rtld_map).l_map_start and
    GL(dl_rtld_map).l_text_end), which could conceivably be targeted by an
    attacker to disable the check, too.
    
    Other critical functions (such as system) remain completely
    unprotected, so the value of these additional checks does not appear
    that large.  Therefore this commit removes this functionality.

commit b5bf62e40c5ff4e3906572f257dcda77b393ffa0
Author: Samuel Thibault <address@hidden>
Date:   Wed Feb 21 01:17:29 2018 +0100

    hurd: fix build
    
        * sysdeps/mach/hurd/dl-sysdep.c (_dl_random): New variable.

commit e8d190b9ed81a1b342f0969bc2b5505403183bce
Author: Rical Jasan <address@hidden>
Date:   Mon Feb 19 04:32:35 2018 -0800

    manual: Update the _ISOC99_SOURCE description.
    
    The current description refers to ISO C99 not being widely adopted,
    which it is believed to be now.
    
        * manual/creature.texi (_ISOC99_SOURCE): Update the dated
        description.

commit 6a3962c4a408e8cbc305d2433711196107374e89
Author: Rical Jasan <address@hidden>
Date:   Mon Feb 19 03:30:06 2018 -0800

    manual: Document missing feature test macros.
    
    Several feature test macros are documented in features.h but absent in
    the manual, and some documented macros accept undocumented values.
    This commit updates the manual to mention all the accepted macros,
    along with any values that hold special meaning.
    
        * manual/creature.texi (_POSIX_C_SOURCE): Document special
        values of 199606L, 200112L, and 200809L.
        (_XOPEN_SOURCE): Document special values of 600 and 700.
        (_ISOC11_SOURCE): Document macro.
        (_ATFILE_SOURCE): Likewise.
        (_FORTIFY_SOURCE): Likewise.

commit ec481ad81b0436460de417a8e0084935b3763ebb
Author: Joseph Myers <address@hidden>
Date:   Mon Feb 19 17:32:34 2018 +0000

    Fix -Os ferror_unlocked linknamespace, localplt issues (bug 15105, bug 
19463).
    
    Continuing the fixes for linknamespace and localplt test failures with
    -Os that arise from functions not being inlined in that case, this
    patch fixes such failures for ferror_unlocked.
    
    The usual approach is followed of adding __ferror_unlocked (inlined
    when ferror_unlocked is), making calls use it when required for
    namespace reasons (only one such call), and using libc_hidden_proto /
    libc_hidden_weak for the ferror_unlocked weak alias when only localplt
    but not namespace issues are involved.
    
    Tested for x86_64 (both without -Os to make sure that case continues
    to work, and with -Os to make sure all the relevant linknamespace and
    localplt test failures are resolved).  Because of other such failures
    that remain after this patch, neither of the bugs can yet be closed.
    
        [BZ #15105]
        [BZ #19463]
        * libio/ferror_u.c (ferror_unlocked): Rename to __ferror_unlocked
        and define as weak alias of __ferror_unlocked.  Use
        libc_hidden_weak.
        * include/stdio.h [!_ISOMAC] (ferror_unlocked): Use
        libc_hidden_proto.
        [!_ISOMAC] (__ferror_unlocked) New declaration, and inline
        function if [__USE_EXTERN_INLINES].
        * time/getdate.c (__getdate_r): Call __ferror_unlocked instead of
        ferror_unlocked.

commit 7d15ef84f50a80cb170f8ce3457010f59e221cb8
Author: Rical Jasan <address@hidden>
Date:   Fri Feb 16 08:47:20 2018 -0800

    manual: Improve documentation of get_current_dir_name. [BZ #6889]
    
    This is a minor rewording to clarify the behaviour of
    get_current_dir_name.  Additionally, the @vindex is moved above the
    @deftypefun so that following links give a better result with regard
    to context.
    
        [BZ #6889]
        * manual/filesys.texi (get_current_dir_name): Clarify
        behaviour.

commit f8d79582896c52cc2b50bdd030a3ec27ef23b587
Author: Aurelien Jarno <address@hidden>
Date:   Sun Feb 18 18:23:14 2018 +0100

    Fix posix/tst-glob_lstat_compat on alpha [BZ #22818]
    
    The tst-glob_lstat_compat test needs to run tests on the previous
    version of glob. On alpha, there are three versions of glob, GLIBC_2.0,
    GLIBC_2.1 and GLIBC_2.27, while on other architectures there are only
    the GLIBC_2.0 and GLIBC_2.27 version. Therefore on alpha the previous
    version is GLIBC_2.1 and not GLIBC_2.0.
    
    Changelog:
        [BZ #22818]
        * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access
        the GLIBC_2.1 version.

commit 56456a2aadf0522b51ea55be1291ca832c5d0524
Author: Aurelien Jarno <address@hidden>
Date:   Sun Feb 18 18:15:47 2018 +0100

    intl/tst-gettext: fix failure with newest msgfmt
    
    Since upstream gettext commit d13f165b83 (msgfmt: Remove
    POT-Creation-Date field from the header in the output.), msgfmt does not
    copy the POT-Creation-Date field in the header entry from the po file to
    the mo file anymore. This breaks the assumption that we can test gettext
    by comparing each message in the po files with the corresponding string
    return by gettext. This makes the intl/tst-gettext to fail.
    
    While it would have been possible to modify the po2test.awk script to
    also strip the line POT-Creation-Date field when creating the msgs.h
    file, it would not work with both the old and new msgfmt.
    
    Instead create a tst-gettext-de.po file from de.po by removing the
    POT-Creation-Date line. Another alternative would be to use a static
    tst-gettext-de.po file, but I guess the reason for using de.po is to
    also catch issues caused by newly added strings.
    
    As tst-catgets also uses msg.h, it should also be updated. Instead of
    using the new tst-gettext-de.po file, the patch modifies xopen-msg.awk
    to avoid creating a second catgets->intl dependency.
    
    Changelog:
        [BZ #21508]
        * catgets/xopen-msg.awk: Ignore POT-Creation-Date line.
        * intl/Makefile ($(objpfx)tst-gettext-de.po): Generate
        intl/tst-gettext-de.po from po/de.po by removing the
        POT-Creation-Date line.
        ($(objpfx)msgs.h): Depend on $(objpfx)tst-gettext-de.po instead of
        ../po/de.po.
        * intl/tst-gettext.sh: Use ${objpfx}tst-gettext-de.po instead of
        ../po/de.po.

commit dd1efd8c56f6e54667d66b2302f9590736546414
Author: Samuel Thibault <address@hidden>
Date:   Sat Feb 17 23:26:45 2018 +0100

    hurd: Fix build on missing __ptsname_internal function
    
        * sysdeps/mach/hurd/ptsname.c: Include <sys/stat.h>.
        (__ptsname_r): Move implementation to...
        (__ptsname_internal): ... new function.  Add filling the STP
        structure.

commit 13768813bcec803e4d269dc597411804bb4c37b1
Author: Samuel Thibault <address@hidden>
Date:   Sat Feb 17 22:57:26 2018 +0100

    hurd: Define EXEC_PAGESIZE
    
    * mach/Makefile (headers): Add mach/param.h.
    * sysdeps/mach/hurd/bits/param.h: Include <mach/param.h>.
    * sysdeps/mach/i386/mach/param.h: New file, defines EXEC_PAGESIZE

commit 6aca1b6102733ba1d7f2be4088e33ce6966385d1
Author: John David Anglin <address@hidden>
Date:   Sat Feb 17 13:46:50 2018 -0500

    Fix ulps for pow on hppa.
    
        * sysdeps/hppa/fpu/libm-test-ulps (pow): Increase double and
        idouble to 1 ULP.

commit 16efad5171ac1ac2c8728405f2703045f08c494b
Author: Rical Jasan <address@hidden>
Date:   Fri Feb 16 08:21:47 2018 -0800

    manual: Fix a syntax error.
    
    The opening parenthesis for function arguments in an @deftypefun need
    to be separated from the function name.  This isn't just a matter of
    the GNU coding style---it causes the "(void" (in this case) to be
    rendered as a part of the function name, causing a visual defect, and
    also results in a warning to the following effect during `make pdf':
    
      Warning: unbalanced parentheses in @def...)
    
        * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
        syntax.

commit 8724507385a591a71297c2da0e12001eae6bd88d
Author: Stefan Liebler <address@hidden>
Date:   Fri Feb 16 09:57:30 2018 +0100

    Add runtime check if mutex will be elided in tst-mutex8 testcases.
    
    An elided mutex don't fail destroy. Elision was disabled for the
    test nptl/tst-mutex8 in nptl/Makefile. Thus we can run tests which
    destroy a locked mutex.
    
    As elision is only disabled for tst-mutex8, the variants
    tst-mutex8-static, tst-mutexpi8 and tst-mutexpi8-static are still
    failing if lock elision is enabled.
    
    This patch adds a runtime check, if the checked type of mutex will
    be elided. This check is using TUNABLE_GET_FULL to determine if
    elision is enabled via the tunables framework.
    The pthread_mutex_destroy tests are only run if we dont't assume an
    elided mutex.
    
    This way, we can run the whole glibc testsuite with or without enabled
    lock elision.
    
    ChangeLog:
    
        * nptl/Makefile (tst-mutex8-ENV): Delete.
        * nptl/tst-mutex8.c (check_type):
        Add runtime check if mutex will be elided.

commit db9881ecd7e7278af3e6bb252a0b3015e275d7bd
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 23:48:47 2018 +0000

    Document use of CC and CFLAGS in more detail (bug 20980, bug 21234).
    
    There are some bug reports from people setting CFLAGS not including a
    -O option and then being confused when the build fails.  This patch
    addresses this by documenting the proper use of CC and CFLAGS in more
    detail - saying what options should go where and specifying the
    requirement to compile with optimization.
    
    The previous text incorrectly used @var markup with CC and CFLAGS.
    The correct markup for environment variables is @env, but it's also
    the case that passing such variables explicitly on the configure
    command line is preferred to passing them in the environment, so this
    patch changes the documentation to describe passing them on the
    command line (and uses @code).
    
    In many cases putting options in the wrong place may in fact work, but
    I believe what I've specified is the correct rule for which options to
    put where.
    
        [BZ #20980]
        [BZ #21234]
        * manual/install.texi (Configuring and compiling): Describe
        passing CC and CFLAGS on configure command line, not as
        environment variables.  Use @code markup on those variables.
        Specify what options go in CC and what go in CFLAGS.  Note the
        requirement to compile with optimization.
        * INSTALL: Regenerated.

commit 3785b31c16a507538a9f67f20c75b8a1dfe9939a
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 21:01:25 2018 +0000

    Fix hppa local PLT entries for sigprocmask (bug 18124).
    
    When adding/updating localplt.data for various architectures to get
    the compilation tests passing everywhere, I generally made it reflect
    the existing state of what local PLT entries were actually seen,
    rather than an ideal state with as few as possible such entries,
    mainly for functions that are intended to be interposable.
    
    This patch eliminates some local PLT entries for hppa by using
    __sigprocmask instead of sigprocmask in getcontext and setcontext.
    The specific case of sigprocmask called by setcontext is the third of
    four items in bug 18124 (the other three have already been fixed for
    2.26 or earlier releases).  Note that hppa-specific localplt.data
    entries for __sigsetjmp, _IO_funlockfile and __errno_location remain,
    but the causes / fixes are less immediately obvious from source
    inspection.
    
    Tested (compilation tests only) with build-many-glibcs.py for
    hppa-linux-gnu.
    
        [BZ #18124]
        * sysdeps/hppa/bsd-setjmp.S: Include <sysdep.h>.
        (setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp.
        * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call
        __sigprocmask instead of sigprocmask.
        * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext):
        Likewise.
        * sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for
        __sigsetjmp and sigprocmask.

commit 055ac2a7eeb14755e946440af3d2cdfe95f18f8e
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 21:00:02 2018 +0000

    Use libc_hidden_* for argz_next, __argz_next (bug 15105).
    
    Among other localplt test failures when building with -Os, there are
    libc.so PLT references for argz_next and __argz_next.  This is a
    simple case of functions that are inlined for -O2 but not for -Os;
    this patch adds libc_hidden_proto / libc_hidden_def for them to avoid
    localplt failures even when not inlined.
    
    Tested for x86_64 (both that it removes these particular localplt
    failures for -Os - but other such failures remain so the bug can't yet
    be closed - and that the testsuite continues to pass without -Os).
    
        [BZ #15105]
        * include/argz.h (argz_next): Use libc_hidden_proto.
        (__argz_next): Likewise.
        * string-argz-next.c (__argz_next): Use libc_hidden_def.
        (argz_next): Use libc_hidden_weak.

commit e4452a2d19279d4c90bcafe09ec3cbfd3efe9b6a
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 20:59:12 2018 +0000

    Use libc_hidden_* for __cmsg_nxthdr (bug 15105).
    
    Among other localplt test failures when building with -Os, there are
    libc.so PLT references for __cmsg_nxthdr.  This is a simple case of a
    function that is inlined for -O2 but not for -Os; this patch adds
    libc_hidden_proto / libc_hidden_def for it to avoid a localplt failure
    even when it is not inlined.
    
    Tested for x86_64 (both that it removes this particular localplt
    failure for -Os - but other such failures remain so the bug can't yet
    be closed - and that the testsuite continues to pass without -Os).
    
        [BZ #15105]
        * include/sys/socket.h [!_ISOMAC] (__cmsg_nxthdr): Use
        libc_hidden_proto.
        * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Use
        libc_hidden_def.

commit 499b315324519f8deb5b42a143a76319934a3ab0
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 20:58:16 2018 +0000

    Use libc_hidden_* for fputs (bug 15105).
    
    Among other localplt test failures when building with -Os, there are
    libc.so PLT references for fputs.  fputs calls normally get redirected
    to _IO_fputs by a macro in include/stdio.h (and _IO_fputs in turn uses
    libc_hidden_proto), but GCC can convert an fprintf call with a
    constant string argument into an fputs call, which of course is then
    unaffected by the macro redirection.  (I don't know why this issue
    only appears with -Os.)
    
    This patch duly adds a use of libc_hidden_proto for fputs.  I see no
    obvious reason why the fputs macro redirection is needed at all, but
    this patch does not change it.
    
    Tested for x86_64 (both that it removes this particular localplt
    failure for -Os - but other such failures remain so the bug can't yet
    be closed - and that the testsuite continues to pass without -Os).
    
        [BZ #15105]
        * include/stdio.h [!_ISOMAC && IS_IN (libc)] (fputs): Use
        libc_hidden_proto.
        * libio/iofputs.c (fputs): Use libc_hidden_weak.

commit 7fc03cf320f9ed0178babbb33de0550d393b8886
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 15 20:57:15 2018 +0000

    Fix -Os feof_unlocked linknamespace, localplt issues (bug 15105, bug 19463).
    
    Continuing the fixes for linknamespace and localplt test failures with
    -Os that arise from functions not being inlined in that case, this
    patch fixes such failures for feof_unlocked.
    
    The usual approach is followed of adding __feof_unlocked (inlined when
    feof_unlocked is), making calls use it when required for namespace
    reasons, and using libc_hidden_proto / libc_hidden_weak for the
    feof_unlocked weak alias when only localplt but not namespace issues
    are involved.  In the case of getaddrinfo.c, use of __feof_unlocked
    needs to be conditional since that code is also used in nscd (where
    __feof_unlocked is not available).
    
    Tested for x86_64 (both without -Os to make sure that case continues
    to work, and with -Os to make sure all the relevant linknamespace and
    localplt test failures are resolved).  Because of other such failures
    that remain after this patch, neither of the bugs can yet be closed.
    
        [BZ #15105]
        [BZ #19463]
        * libio/feof_u.c (feof_unlocked): Rename to __feof_unlocked and
        define as weak alias of __feof_unlocked.  Use libc_hidden_weak.
        * include/stdio.h (feof_unlocked): Use libc_hidden_proto.
        (__feof_unlocked): New declaration, and inline function if
        [__USE_EXTERN_INLINES].
        * iconv/gconv_conf.c (read_conf_file): Call __feof_unlocked
        instead of feof_unlocked.
        * intl/localealias.c [_LIBC] (FEOF): Likewise.
        * nss/nsswitch.c (nss_parse_file): Likewise.
        * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area):
        Likewise.
        * time/getdate.c (__getdate_r): Likewise.
        * sysdeps/posix/getaddrinfo.c [IS_IN (libc)] (feof_unlocked):
        Define as macro to call __feof_unlocked.

commit 0c8a67a5737b4b6dd74bd24219fc642c8d244bee
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Feb 15 12:38:10 2018 +0000

    [AArch64] Fix include.
    
    Fix include to use <>.
    
        * sysdeps/aarch64/fpu/fpu_control.h: Use <> in include.

commit 610ee1fc93c5317802217208dd7f58bc50235a88
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Feb 15 12:35:54 2018 +0000

    Remove mplog and mpexp
    
    Remove the now unused mplog and mpexp files.
    
        * math/Makefile: Remove mpexp.c and mplog.c
        * sysdeps/i386/fpu/mpexp.c: Delete file.
        * sysdeps/i386/fpu/mplog.c: Likewise.
        * sysdeps/ia64/fpu/mpexp.c: Likewise.
        * sysdeps/ia64/fpu/mplog.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_exp.c: Remove mention of mpexp and mplog.
        * sysdeps/ieee754/dbl-64/mpa.h (__pow_mp): Remove unused function.
        * sysdeps/ieee754/dbl-64/mpexp.c: Delete file.
        * sysdeps/ieee754/dbl-64/mplog.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/mpexp.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/mplog.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/Makefile: Remove mpexp* and mplog*.
        * sysdeps/x86_64/fpu/multiarch/e_log-avx.c: Remove unused defines.
        * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpexp-avx.c: Delete file.
        * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpexp-fma4.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mplog-avx.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mplog-fma4.c: Likewise.

commit 8e7196c8759287a3e4c882e3c7cf32ddc322df8a
Author: Stefan Liebler <address@hidden>
Date:   Thu Feb 15 09:06:18 2018 +0100

    S390: Regenerate ULPs.
    
    Regenerated ulps file from scratch due to recent pow changes.
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit 4f55ad0bc9c4826240959ff81248298f39ec1163
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Feb 14 14:03:13 2018 -0200

    Update SH libm-tests-ulps
    
        * sysdeps/sh/libm-test-ulps: Update.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 261a851c222128a3a7102c21636ef10557c5e805
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Mon Feb 12 12:10:21 2018 -0200

    powerpc: Update pow() ULPs
    
        * sysdeps/powerpc/fpu/libm-test-ulps (pow): Increase double and
        idouble to 1 ULP.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit e16deca62e16f645213dffd4ecd1153c37765f17
Author: Zack Weinberg <address@hidden>
Date:   Wed Feb 7 15:45:58 2018 -0500

    [BZ #19239] Don't include sys/sysmacros.h from sys/types.h.
    
    This completes the deprecation and removal of this inclusion, which
    was begun in the 2.25 release.
    
        * posix/sys/types.h: Don't include sys/sysmacros.h.
        * misc/sys/sysmacros.h: Remove the conditional deprecation
        warnings for the macros defined by this header.

commit de800d83059dbedb7d151580f0a3bdc9eaf37340
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Jan 30 14:48:22 2018 +0000

    Remove slow paths from exp
    
    Remove the __slowexp code, so exp is no longer correctly rounded.  The
    result is computed to about 70 bits precision so the worst case ulp
    error is about 0.500007 in nearest rounding mode.
    
        * manual/probes.texi: Remove slowexp probes.
        * math/Makefile: Remove slowexp.
        * sysdeps/generic/math_private.h (__slowexp): Remove.
        * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Remove __slowexp and
        document error bounds.
        * sysdeps/i386/fpu/slowexp.c: Remove.
        * sysdeps/ia64/fpu/slowexp.c: Remove.
        * sysdeps/ieee754/dbl-64/slowexp.c: Remove.
        * sysdeps/ieee754/dbl-64/uexp.h (err_0): Remove.
        * sysdeps/m68k/m680x0/fpu/slowexp.c: Remove.
        * sysdeps/powerpc/power4/fpu/Makefile (CPPFLAGS-slowexp.c): Remove.
        * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowexp-fma.
        * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Remove.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Remove.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Remove.
        * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Remove.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Remove.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Remove.

commit c3d466cba1692708a19c6ff829d0386c83a0c6e5
Author: Wilco Dijkstra <address@hidden>
Date:   Mon Feb 12 10:42:42 2018 +0000

    Remove slow paths from pow
    
    Remove the slow paths from pow.  Like several other double precision math
    functions, pow is exactly rounded.  This is not required from math functions
    and causes major overheads as it requires multiple fallbacks using higher
    precision arithmetic if a result is close to 0.5ULP.  Ridiculous slowdowns
    of up to 100000x have been reported when the highest precision path 
triggers.
    
    All GLIBC math tests pass on AArch64 and x64 (with ULP of pow set to 1).
    The worst case error is ~0.506ULP.  A simple test over a few hundred million
    values shows pow is 10% faster on average.  This fixes BZ #13932.
    
        [BZ #13932]
        * sysdeps/ieee754/dbl-64/uexp.h (err_1): Remove.
        * benchtests/pow-inputs: Update comment for slow path cases.
        * manual/probes.texi (slowpow_p10): Delete removed probe.
        (slowpow_p10): Likewise.
        * math/Makefile: Remove halfulp.c and slowpow.c.
        * sysdeps/aarch64/libm-test-ulps: Set ULP of pow to 1.
        * sysdeps/generic/math_private.h (__exp1): Remove error argument.
        (__halfulp): Remove.
        (__slowpow): Remove.
        * sysdeps/i386/fpu/halfulp.c: Delete file.
        * sysdeps/i386/fpu/slowpow.c: Likewise.
        * sysdeps/ia64/fpu/halfulp.c: Likewise.
        * sysdeps/ia64/fpu/slowpow.c: Likewise.
        * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove error argument,
        improve comments and add error analysis.
        * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Add error analysis.
        (power1): Remove function:
        (log1): Remove error argument, add error analysis.
        (my_log2): Remove function.
        * sysdeps/ieee754/dbl-64/halfulp.c: Delete file.
        * sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/halfulp.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/slowpow.c: Likewise.
        * sysdeps/powerpc/power4/fpu/Makefile: Remove CPPFLAGS-slowpow.c.
        * sysdeps/x86_64/fpu/libm-test-ulps: Set ULP of pow to 1.
        * sysdeps/x86_64/fpu/multiarch/Makefile: Remove slowpow-fma.c,
        slowpow-fma4.c, halfulp-fma.c, halfulp-fma4.c.
        * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c (__slowpow): Remove define.
        * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c (__slowpow): Likewise.
        * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Delete file.
        * sysdeps/x86_64/fpu/multiarch/halfulp-fma4.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowpow-fma4.c: Likewise.

commit 7bb087bd7bfe3616c4c0974a3f7352b593353ea5
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 11:58:33 2018 +0100

    nscd: don't unconditionally use 
PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
    
    PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP is Linux-only.
    
    * nscd/connections.c (RWLOCK_INITIALIZER): Define to
    PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP or
    PTHREAD_RWLOCK_INITIALIZER if that is not available.
    (dbs): Use RWLOCK_INITIALIZER instead of
    PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP.

commit 2fd4bbaa1446f1be700e10c526cf585a796c4991
Author: Dmitry V. Levin <address@hidden>
Date:   Fri Dec 29 23:19:32 2017 +0000

    linux/aarch64: sync sys/ptrace.h with Linux 4.15 [BZ #22433]
    
    Remove compat-specific constants that were never exported by kernel
    headers under these names.  Before linux commit v3.7-rc1~16^2~1 they
    were exported with COMPAT_ prefix, and since that commit they are not
    exported at all.
    
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request):
    Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS,
    and PTRACE_SETHBPREGS.

commit 402ecba487804e9196769f39a8d157847d3b3104
Author: Zack Weinberg <address@hidden>
Date:   Sat Feb 10 16:24:17 2018 -0500

    [BZ #22830] malloc_stats: restore cancellation for stderr correctly.
    
    malloc_stats means to disable cancellation for writes to stderr while
    it runs, but it restores stderr->_flags2 with |= instead of =, so what
    it actually does is disable cancellation on stderr permanently.
    
        [BZ #22830]
        * malloc/malloc.c (__malloc_stats): Restore stderr->_flags2
            correctly.
            * malloc/tst-malloc-stats-cancellation.c: New test case.
            * malloc/Makefile: Add new test case.

commit 4f5b921eb9b775aa3549a9bcd684c3013132f04b
Author: Wilco Dijkstra <address@hidden>
Date:   Sat Feb 10 15:02:51 2018 +0000

    [AArch64] Fix testsuite error due to fpsr/fscr change
    
    Add features.h include for __GNUC_PREREQ.
    
        * sysdeps/aarch64/fpu/fpu_control.h: Add features.h to fix build error.

commit d8742dd82f6a00601155c69bad3012e905591e1f
Author: Joseph Myers <address@hidden>
Date:   Sat Feb 10 02:08:43 2018 +0000

    Add narrowing add functions.
    
    This patch adds the narrowing add functions from TS 18661-1 to glibc's
    libm: fadd, faddl, daddl, f32addf64, f32addf32x, f32xaddf64 for all
    configurations; f32addf64x, f32addf128, f64addf64x, f64addf128,
    f32xaddf64x, f32xaddf128, f64xaddf128 for configurations with
    _Float64x and _Float128; __nldbl_daddl for ldbl-opt.  As discussed for
    the build infrastructure patch, tgmath.h support is deliberately
    deferred, and FP_FAST_* macros are not applicable without optimized
    function implementations.
    
    Function implementations are added for all relevant pairs of formats
    (including certain cases of a format and itself where more than one
    type has that format).  The main implementations use round-to-odd, or
    a trivial computation in the case where both formats are the same or
    where the wider format is IBM long double (in which case we don't
    attempt to be correctly rounding).  The sysdeps/ieee754/soft-fp
    implementations use soft-fp, and are used automatically for
    configurations without exceptions and rounding modes by virtue of
    existing Implies files.  As previously discussed, optimized versions
    for particular architectures are possible, but not included.
    
    i386 gets a special version of f32xaddf64 to avoid problems with
    double rounding (similar to the existing fdim version), since this
    function must round just once without an intermediate rounding to long
    double.  (No such special version is needed for any other function,
    because the nontrivial functions use round-to-odd, which does the
    intermediate computation with the rounding mode set to round-to-zero,
    and double rounding is OK except in round-to-nearest mode, so is OK
    for that intermediate round-to-zero computation.)  mul and div will
    need slightly different special versions for i386 (using round-to-odd
    on long double instead of precision control) because of the
    possibility of inexact intermediate results in the subnormal range for
    double.
    
    To reduce duplication among the different function implementations,
    math-narrow.h gets macros CHECK_NARROW_ADD, NARROW_ADD_ROUND_TO_ODD
    and NARROW_ADD_TRIVIAL.
    
    In the trivial cases and for any architecture-specific optimized
    implementations, the overhead of the errno setting might be
    significant, but I think that's best handled through compiler built-in
    functions rather than providing separate no-errno versions in glibc
    (and likewise there are no __*_finite entry points for these function
    provided, __*_finite effectively being no-errno versions at present in
    most cases).
    
    Tested for x86_64 and x86, with both GCC 6 and GCC 7.  Tested for
    mips64 (all three ABIs, both hard and soft float) and powerpc with GCC
    7.  Tested with build-many-glibcs.py with both GCC 6 and GCC 7.
    
        * math/Makefile (libm-narrow-fns): Add add.
        (libm-test-funcs-narrow): Likewise.
        * math/Versions (GLIBC_2.28): Add narrowing add functions.
        * math/bits/mathcalls-narrow.h (add): Use __MATHCALL_NARROW .
        * math/gen-auto-libm-tests.c (test_functions): Add add.
        * math/math-narrow.h (CHECK_NARROW_ADD): New macro.
        (NARROW_ADD_ROUND_TO_ODD): Likewise.
        (NARROW_ADD_TRIVIAL): Likewise.
        * sysdeps/ieee754/float128/float128_private.h (__faddl): New
        macro.
        (__daddl): Likewise.
        * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fadd and
        dadd.
        (CFLAGS-nldbl-dadd.c): New variable.
        (CFLAGS-nldbl-fadd.c): Likewise.
        * sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
        __nldbl_daddl.
        * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_daddl): New
        prototype.
        * manual/arith.texi (Misc FP Arithmetic): Document fadd, faddl,
        daddl, fMaddfN, fMaddfNx, fMxaddfN and fMxaddfNx.
        * math/auto-libm-test-in: Add tests of add.
        * math/auto-libm-test-out-narrow-add: New generated file.
        * math/libm-test-narrow-add.inc: New file.
        * sysdeps/i386/fpu/s_f32xaddf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_f32xaddf64.c: Likewise.
        * sysdeps/ieee754/dbl-64/s_fadd.c: Likewise.
        * sysdeps/ieee754/float128/s_f32addf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64addf128.c: Likewise.
        * sysdeps/ieee754/float128/s_f64xaddf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_daddl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_f64xaddf128.c: Likewise.
        * sysdeps/ieee754/ldbl-128/s_faddl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_daddl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_faddl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_daddl.c: Likewise.
        * sysdeps/ieee754/ldbl-96/s_faddl.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-dadd.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/nldbl-fadd.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_fadd.c: Likewise.
        * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise.
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.
        * sysdeps/mach/hurd/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: 
Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit a85b70dbd2efb84123dcfb7a2131b2de81b59b6a
Author: Joseph Myers <address@hidden>
Date:   Sat Feb 10 01:52:33 2018 +0000

    Fix narrowing function tests build for powerpc64le.
    
    Testing narrowing functions with build-many-glibcs.py showed up a
    further testsuite fix needed to enable building such functions for
    powerpc64le: tests test-<narrower-type>-float128-<function> (and
    likewise for float64x) needed the same special handling for
    powerpc64le as test-float128-* and test-float64x-*.  This patch adds
    that special handling.
    
    Tested with build-many-glibcs.py for powerpc64le in conjunction with
    the main patch adding narrowing add functions.
    
        * sysdeps/powerpc/powerpc64le/Makefile [$(subdir) = math]
        (f128-pairs): New variable.
        [$(subdir) = math] ($(foreach suf,$(all-object-suffixes),$(foreach
        pair,$(f128-pairs),$(objpfx)test-$(pair)%$(suf)))): Add -mfloat128
        to CFLAGS.
        [$(subdir) = math] ($(foreach pair,$(f128-pairs),test-$(pair)%)):
        Also make tests add $(f128-loader-link) to gnulib-tests.

commit 6a1ff640dcec04905d8518983ad6252d38b7a733
Author: DJ Delorie <address@hidden>
Date:   Fri Feb 9 18:37:15 2018 -0500

    [RISC-V] Fix parsing flags in ELF64 files.
    
    When ldconfig reads Elf64 files to determine the ABI, it used the
    Elf32 type, so read the wrong location, and stored the wrong ABI
    type in the cache, making the cache useless.  This patch uses
    an Elf64 type for Elf64 objects instead.
    
    Note that pre-patch caches might need to be manually removed and
    regenerated to get the correct ABIs stored.
    
        [BZ #22827]
        * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
        64-bit ELF type for 64-bit ELF objects.

commit 31958338998aba1cca8090839a4c4866366d76cf
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 9 22:56:35 2018 +0000

    Handle narrowing function sNaN test disabling based on argument format.
    
    Testing narrowing functions for x86_64 with GCC 6 showed up a further
    testsuite fix needed: there is no _Float128 sNaN support before GCC 7
    on x86_64 / x86, and the existing tests of SNAN_TESTS only checked it
    for the return type, not for the argument type.  This patch fixes the
    code to check SNAN_TESTS (ARG_FLOAT) as well (in a variable set in
    libm-test-driver.c, since libm-test-support.c is compiled only once
    for each choice of FLOAT).
    
    Tested for x86_64 and x86 with GCC 6 in conjunction with the main
    patch adding narrowing add functions.
    
        * math/libm-test-driver.c (snan_tests_arg): New variable.
        * math/libm-test-support.h (snan_tests_arg): New declaration.
        * math/libm-test-support.c (enable_test): Check snan_tests_arg.

commit 8e554659ad7722ff1d09c6fa68d7df8e75530dc8
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 9 21:55:48 2018 +0000

    Add test infrastructure for narrowing libm functions.
    
    This patch continues preparations for adding TS 18661-1 narrowing libm
    functions by adding the required testsuite infrastructure to test such
    functions through the libm-test infrastructure.
    
    That infrastructure is based around testing for a single type, FLOAT.
    For the narrowing functions, FLOAT, the "main" type for testing, is
    the function return type; the argument type is ARG_FLOAT.  This is
    consistent with how the code built once for each type,
    libm-test-support.c, depends on FLOAT for such things as calculating
    ulps errors in results but can already handle different argument types
    (pointers, integers, long double for nexttoward).
    
    Makefile machinery is added to handle building tests for all pairs of
    types for which there are narrowing functions (as with non-narrowing
    functions, aliases are tested just the same as the functions they
    alias).  gen-auto-libm-tests gains a --narrow option for building
    outputs for narrowing functions (so narrowing sqrt and fma will share
    the same inputs as non-narrowing, but gen-auto-libm-tests will be run
    with and without that option to generate different output files).  In
    the narrowing case, the auto-libm-test-out-narrow-* files include
    annotations for each test about what properties ARG_FLOAT must have to
    be able to represent all the inputs for that test; those annotations
    result in calls to the TEST_COND_arg_fmt macro.
    
    gen-libm-test.pl has some minor updates to handle narrowing tests (for
    example, arguments in such tests must be surrounded by ARG_LIT calls
    instead of LIT calls).  Various new macros are added to the C test
    support code (for example, sNaN initializers need to be properly
    typed, so arg_snan_value is added; other such arg_* macros are added
    as it seems cleanest to do so, though some are not strictly required).
    Special-casing of the ibm128 format to allow for its limitations is
    adjusted to handle it as the argument format as well as as the result
    format; thus, the tests of the new functions allow nonzero ulps only
    in the case where ibm128 is the argument format, as otherwise the
    functions correspond to fully-defined IEEE operations.  The ulps in
    question appear as e.g. 'Function: "add_ldouble"' in libm-test-ulps
    (with 1ulp errors then listed for double and float for that function
    in powerpc); no support is added to generate corresponding faddl /
    daddl ulps listings in the ulps table in the manual.
    
    For the previous patch, I noted the need to avoid spurious macro
    expansions of identifiers such as "add".  A test test-narrow-macros.c
    is added to verify such macro expansions are successfully avoided, and
    there is also a -mlong-double-64 version of that test for ldbl-opt.
    This test is set up to cover the full set of relevant identifiers from
    the start rather than adding functions one at a time as each function
    group is added.
    
    Tested for x86_64 (this patch in isolation, as well as testing for
    various configurations in conjunction with the actual addition of
    "add" functions).
    
        * math/Makefile (test-type-pairs): New variable.
        (test-type-pairs-f64xf128-yes): Likewise.
        (tests): Add test-narrow-macros.
        (libm-test-funcs-narrow): New variable.
        (libm-test-c-narrow): Likewise.
        (generated): Add $(libm-test-c-narrow).
        (libm-tests-base-narrow): New variable.
        (libm-tests-narrow): Likewise.
        (libm-tests): Add $(libm-tests-narrow).
        (libm-tests-for-type): Handle $(libm-tests-narrow).
        (libm-test-c-narrow-obj): New variable.
        ($(libm-test-c-narrow-obj)): New rule.
        ($(foreach t,$(libm-tests-narrow),$(objpfx)$(t).c)): Likewise.
        ($(foreach f,$(libm-test-funcs-narrow),$(objpfx)$(o)-$(f).o)): Use
        $(o-iterator) to set dependencies and CFLAGS.
        * math/gen-auto-libm-tests.c: Document use for narrowing
        functions.
        (output_for_one_input_case): Take argument NARROW.
        (generate_output): Likewise.  Update call to
        output_for_one_input_case.
        (main): Take --narrow option.  Update call to generate_output.
        * math/gen-libm-test.pl (_apply_lit): Take macro name as argument.
        (apply_lit): Update call to _apply_lit.
        (apply_arglit): New function.
        (parse_args): Handle "a" arguments.
        (parse_auto_input): Handle format names using ":".
        * math/README.libm-test: Document "a" parameter type.
        * math/libm-test-support.h (ARG_TYPE_MIN): New macro.
        (ARG_TYPE_TRUE_MIN): Likewise.
        (ARG_TYPE_MAX): Likwise.
        (ARG_MIN_EXP): Likewise.
        (ARG_MAX_EXP): Likewise.
        (ARG_MANT_DIG): Likewise.
        (TEST_COND_arg_ibm128): Likewise.
        (TEST_COND_ibm128_libgcc): Define conditional on [ARG_FLOAT].
        (TEST_COND_arg_fmt): New macro.
        (init_max_error): Update prototype.
        * math/libm-test-support.c (test_ibm128): New variable.
        (init_max_error): Take argument testing_ibm128 and set test_ibm128
        instead of using [TEST_COND_ibm128] conditional.
        (test_exceptions): Use test_ibm128 instead of TEST_COND_ibm128.
        * math/libm-test-driver.c (STR_ARG_FLOAT): New macro.
        [TEST_NARROW] (TEST_MSG): New definition.
        (arg_plus_zero): New macro.
        (arg_minus_zero): Likewise.
        (arg_plus_infty): Likewise.
        (arg_minus_infty): Likewise.
        (arg_qnan_value_pl): Likewise.
        (arg_qnan_value): Likewise.
        (arg_snan_value_pl): Likewise.
        (arg_snan_value): Likewise.
        (arg_max_value): Likewise.
        (arg_min_value): Likewise.
        (arg_min_subnorm_value): Likewise.
        [ARG_FLOAT] (struct test_aa_f_data): New struct type.
        (RUN_TEST_LOOP_aa_f): New macro.
        (TEST_SUFF): New macro.
        (TEST_SUFF_STR): Likewise.
        [!TEST_MATHVEC] (VEC_SUFF): Don't define.
        (TEST_COND_any_ibm128): New macro.
        (START): Use TEST_SUFF and TEST_SUFF_STR in initializer for
        this_func.  Update call to init_max_error.
        * math/test-double.h (FUNC_NARROW_PREFIX): New macro.
        * math/test-float.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-float128.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-float32.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-float32x.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-float64.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-float64x.h (FUNC_NARROW_PREFIX): Likewise.
        * math/test-math-scalar.h (TEST_NARROW): Likewise.
        * math/test-math-vector.h (TEST_NARROW): Likewise.
        * math/test-arg-double.h: New file.
        * math/test-arg-float128.h: Likewise.
        * math/test-arg-float32x.h: Likewise.
        * math/test-arg-float64.h: Likewise.
        * math/test-arg-float64x.h: Likewise.
        * math/test-arg-ldouble.h: Likewise.
        * math/test-math-narrow.h: Likewise.
        * math/test-narrow-macros.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/test-narrow-macros-ldbl-64.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/Makefile (tests): Add
        test-narrow-macros-ldbl-64.
        (CFLAGS-test-narrow-macros-ldbl-64.c): New variable.

commit 63716ab270df6846233e82c8b7ef494be90b2c45
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 9 21:18:52 2018 +0000

    Add build infrastructure for narrowing libm functions.
    
    TS 18661-1 defines libm functions that carry out an operation (+ - * /
    sqrt fma) on their arguments and return a result rounded to a
    (usually) narrower type, as if the original result were computed to
    infinite precision and then rounded directly to the result type
    without any intermediate rounding to the argument type.  For example,
    fadd, faddl and daddl for addition.  These are the last remaining TS
    18661-1 functions left to be added to glibc.  TS 18661-3 extends this
    to corresponding functions for _FloatN and _FloatNx types.
    
    As functions parametrized by two rather than one varying
    floating-point types, these functions require infrastructure in glibc
    that was not required for previous libm functions.  This patch
    provides such infrastructure - excluding test support, and actual
    function implementations, which will be in subsequent patches.
    
    Declaring the functions uses a header bits/mathcalls-narrow.h, which
    is included many times, for each relevant pair of types.  This will
    end up containing macro calls of the form
    
    __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
    
    for each family of narrowing functions.  (The structure of this macro
    call, with the calls to __MATHCALL_NAME and __MATHCALL_REDIR_NAME
    there rather than in the definition of __MATHCALL_NARROW, arises from
    the names such as "add" *not* themselves being reserved identifiers -
    meaning it's necessary to avoid any indirection that would result in a
    user-defined "add" macro being expanded.)  Whereas for existing
    functions declaring long double functions is disabled if _LIBC in the
    case where they alias double functions, to facilitate defining the
    long double functions as aliases of the double ones, there is no such
    logic for the narrowing functions in this patch.  Rather, the files
    defining such functions are expected to use #define to hide the
    original declarations of the alias names, to avoid errors about
    defining aliases with incompatible types.
    
    math/Makefile support is added for building the functions (listed in
    libm-narrow-fns, currently empty) for all relevant pairs of types.  An
    internal header math-narrow.h is added for macros shared between
    multiple function implementations - currently a ROUND_TO_ODD macro to
    facilitate writing functions using the round-to-odd implementation
    approach, and alias macros to create all the required function
    aliases.  libc_feholdexcept_setroundf128 and libc_feupdateenv_testf128
    are added for use when required (only for x86_64).  float128_private.h
    support is added for ldbl-128 narrowing functions to be used for
    _Float128.
    
    Certain things are specifically omitted from this patch and the
    immediate followups.  tgmath.h support is deferred; there remain
    unresolved questions about how the type-generic macros for these
    functions are supposed to work, especially in the case of arguments of
    integer type.  The math.h / bits/mathcalls-narrow.h logic, and the
    logic for determining what functions / aliases to define, will need
    some adjustments to support the sqrt and fma functions, where
    e.g. f32xsqrtf64 can just be an alias for sqrt rather than a separate
    function.  TS 18661-1 defines FP_FAST_* macros but no support is
    included for defining them (they won't in general be true without
    architecture-specific optimized function versions).
    
    For each of the function groups (add sub mul div sqrt fma) there are
    always six functions present (e.g. fadd, faddl, daddl, f32addf64,
    f32addf32x, f32xaddf64).  When _Float64x and _Float128 are supported,
    there are seven more (e.g. f32addf64x, f32addf128, f64addf64x,
    f64addf128, f32xaddf64x, f32xaddf128, f64xaddf128).  In addition, in
    the ldbl-opt case there are function names such as __nldbl_daddl (an
    alias for f32xaddf64, which is not a reserved name in TS 18661-1, only
    in TS 18661-3), for calls to daddl to be mapped to in the
    -mlong-double-64 case.  (Calls to faddl just get mapped to fadd, and
    for sqrt and fma there won't be __nldbl_* functions because dsqrtl and
    dfmal can just be mapped to sqrt and fma with -mlong-double-64.)
    
    While there are six or thirteen functions present in each group (plus
    __nldbl_* names only as an ABI, not an API), not all are distinct;
    they fall in various groups of aliases.  There are two distinct
    versions built if long double has the same format as double; four if
    they have distinct formats but there is no _Float64x or _Float128
    support; five if long double has binary128 format; seven when
    _Float128 is distinct from long double.
    
    Architecture-specific optimized versions are possible, but not
    included in my patches.  For example, IA64 generally supports
    narrowing the result of most floating-point instructions; Power ISA
    2.07 (POWER8) supports double values as arguments to float
    instructions, with the results narrowed as expected; Power ISA 3
    (POWER9) supports round-to-odd for float128 instructions, so meaning
    that approach can be used without needing to set and restore the
    rounding mode and test "inexact".  I intend to leave any such
    optimized versions to the architecture maintainers.  Generally in such
    cases it would also make sense for calls to these functions to be
    expanded inline (given -fno-math-errno); I put a suggestion for TS
    18661-1 built-in functions at <https://gcc.gnu.org/wiki/SummerOfCode>.
    
    Tested for x86_64 (this patch in isolation, as well as testing for
    various configurations in conjunction with further patches).
    
        * math/bits/mathcalls-narrow.h: New file.
        * include/bits/mathcalls-narrow.h: Likewise.
        * math/math-narrow.h: Likewise.
        * math/math.h (__MATHCALL_NARROW_ARGS_1): New macro.
        (__MATHCALL_NARROW_ARGS_2): Likewise.
        (__MATHCALL_NARROW_ARGS_3): Likewise.
        (__MATHCALL_NARROW_NORMAL): Likewise.
        (__MATHCALL_NARROW_REDIR): Likewise.
        (__MATHCALL_NARROW): Likewise.
        [__GLIBC_USE (IEC_60559_BFP_EXT)]: Repeatedly include
        <bits/mathcalls-narrow.h> with _Mret_, _Marg_ and __MATHCALL_NAME
        defined.
        [__GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
        * math/Makefile (headers): Add bits/mathcalls-narrow.h.
        (libm-narrow-fns): New variable.
        (libm-narrow-types-basic): Likewise.
        (libm-narrow-types-ldouble-yes): Likewise.
        (libm-narrow-types-float128-yes): Likewise.
        (libm-narrow-types-float128-alias-yes): Likewise.
        (libm-narrow-types): Likewise.
        (libm-routines): Add narrowing functions.
        * sysdeps/i386/fpu/fenv_private.h [__x86_64__]
        (libc_feholdexcept_setroundf128): New macro.
        [__x86_64__] (libc_feupdateenv_testf128): Likewise.
        * sysdeps/ieee754/float128/float128_private.h: Include
        <math/math-narrow.h>.
        [libc_feholdexcept_setroundf128] (libc_feholdexcept_setroundl):
        Undefine and redefine.
        [libc_feupdateenv_testf128] (libc_feupdateenv_testl): Likewise.
        (libm_alias_float_ldouble): Undefine and redefine.
        (libm_alias_double_ldouble): Likewise.

commit bfd475876f4b71474a640fc2d4c6904e03f3fedc
Author: Joseph Myers <address@hidden>
Date:   Fri Feb 9 18:15:32 2018 +0000

    Remove unused math/Makefile variable libm-test-incs.
    
    The math/Makefile variable libm-test-incs was formerly used, but no
    longer is.  This patch removes it.
    
    Tested for x86_64.
    
        * math/Makefile [$(PERL) != no] (libm-test-incs): Remove variable.

commit 3f8d9d58c59fdbe27301d0e18bfd426a5f2edf19
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Feb 9 16:59:23 2018 +0000

    [AArch64] Use builtins for fpcr/fpsr
    
    Since GCC has support for accessing FPSR/FPCR, use them when possible
    so that the asm instructions can be removed eventually.  Although GCC 5
    supports the builtins, it has an optimization bug, so use them from GCC 6
    onwards.
    
        * sysdeps/aarch64/fpu/fpu_control.h: Use builtins for accessing
        FPCR/FPSR.

commit 1f6676d7da1b7c864e9a5d59fe9162a88bd21952
Author: Rical Jasan <address@hidden>
Date:   Wed Jan 24 01:03:38 2018 -0800

    manual: Fix Texinfo warnings about improper node names.
    
    A number of cross-references to the GCC info manual cause Texinfo
    warnings; e.g.:
    
      ./creature.texi:11: warning: @xref node name should not contain `.'
    
    This is due to "gcc.info" being used in the INFO-FILE-NAME (fourth)
    argument.  Changing it to "gcc" removes these warnings.  (Manually
    confirmed equivalent behaviour for make info, html, and pdf.)
    
        * manual/creature.texi: Convert references to gcc.info to gcc.
        * manual/stdio.texi: Likewise.
        * manual/string.texi: Likewise.

commit 15081be9938d0b84634e81b7f0e433ff62406430
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 7 20:33:55 2018 +0000

    Define char16_t, char32_t consistently with uint_least16_t, uint_least32_t 
(bug 17979).
    
    As noted in bug 17979 (and as I noted earlier in
    <https://sourceware.org/ml/libc-alpha/2012-02/msg00647.html>), uchar.h
    has gratuitously complicated code to determine the types for char16_t
    and char32_t, and to reject including that header for pre-C11
    compilers not defining __CHAR16_TYPE__ and __CHAR32_TYPE__.  Since
    those types are always required to match uint_least16_t and
    uint_least32_t, which glibc knows how to define without reference to
    such predefined macros, it's safe just to define those types the same
    as the *least* types are defined in stdint.h, so allowing the header
    to work with (for example) GCC 4.3.
    
    This patch implements that.  bits/types.h is made to define
    __int_leastN_t and __uint_leastN_t so the logic for those types can
    stay in a single place, and stdint.h is made to use those __*_t to
    define the public *_t types.  uchar.h is then made to use
    __uint_least16_t and __uint_least32_t to define char16_t and char32_t,
    so simplifying the logic there.  A new test is added that verifies the
    types chosen for char16_t and char32_t do indeed match the types the
    compiler uses for u"" and U"" string literals.
    
    Tested for x86_64.  (I have not tested with any of the older compilers
    for which this would actually make a difference to whether you can
    include uchar.h.)
    
        [BZ #17979]
        * posix/bits/types.h (__int_least8_t): New typedef.
        (__uint_least8_t): Likewise.
        (__int_least16_t): Likewise.
        (__uint_least16_t): Likewise.
        (__int_least32_t): Likewise.
        (__uint_least32_t): Likewise.
        (__int_least64_t): Likewise.
        (__uint_least64_t): Likewise.
        * sysdeps/generic/stdint.h (int_least8_t): Define using
        __int_least8_t.
        (int_least16_t): Define using __int_least16_t.
        (int_least32_t): Define using __int_least32_t.
        (int_least64_t): Define using __int_least64_t.
        (uint_least8_t): Define using __uint_least8_t.
        (uint_least16_t): Define using __uint_least16_t.
        (uint_least32_t): Define using __uint_least32_t.
        (uint_least64_t): Define using __uint_least64_t.
        * wcsmbs/uchar.h: Include <bits/types.h>.
        (char16_t): Define using __uint_least16_t conditional only on
        [!__USE_ISOCXX11].
        (char32_t): Define using __uint_least32_t conditional only on
        [!__USE_ISOCXX11].
        * wcsmbs/test-char-types.c: New file.
        * wcsmbs/Makefile (tests): Add test-char-types.

commit d80441dde6ec7993f11c18f20de7e76d454a209e
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 7 17:38:13 2018 +0000

    Use MPFR 4.0.1 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default MPFR
        version to 4.0.1.

commit 63fb8f9aa9d19f85599afe4b849b567aefd70a36
Author: Zack Weinberg <address@hidden>
Date:   Mon Feb 5 14:13:41 2018 -0500

    Post-cleanup 2: minimize _G_config.h.
    
    Nearly everything in _G_config.h is either junk or more appropriately
    defined elsewhere:
    
     * _G_fpos_t, _G_fpos64_t, and _G_BUFSIZ are already completely unused.
     * All remaining uses of _G_va_list have been changed to __gnuc_va_list.
     * The definition of _G_HAVE_ST_BLKSIZE/_IO_HAVE_ST_BLKSIZE has
       been inlined into its sole use.
     * The complete definition of _G_iconv_t has been moved to libio.h and
       renamed _IO_iconv_t (all actual users used that name).
     * _G_IO_IO_FILE_VERSION is vestigial; some code cares whether
       _IO_stdin_used exists, but nothing looks at its value.  I've
       preserved the value as a hardwired constant in csu/init.c.
       This means csu/init.c no longer needs to include anything.
     * Many of the headers included by _G_config.h were already being
       included directly by either either libio.h or stdio.h; the
       remaining ones were moved to libio.h.
     * _G_HAVE_MREMAP is still relevant, because mremap genuinely is a
       Linux extension; it's not in POSIX and as far as I can tell it's
       not available on the Hurd either.  I also preserved _G_HAVE_MMAP,
       since it's conceivable someone would want to port glibc to a
       MMU-less, mmap-less environment in the future.  Both are now always
       defined to 1/0 as is the current convention, instead of the older
       1/undef convention.  These are the only symbols still defined in
       _G_config.h.
     * The actual inclusion of _G_config.h moves from libio.h to libioP.h,
       as this is where a potential override of _G_HAVE_MMAP happens.
     * The #ifdef logic in libioP.h controlling _IO_JUMPS_OFFSET has been
       simplified.
    
    After this patch, the only surviving _G_ symbols are the struct tag
    names _G_fpos_t and _G_fpos64_t, which are preserved for the sake of
    C++ mangled names in applications, and _G_HAVE_MMAP and _G_HAVE_MREMAP,
    which do not seem worth renaming.
    
    Installed stripped libraries are unchanged by this patch.
    
        * bits/_G_config.h: Move back to sysdeps/generic/_G_config.h.
        Delete all contents except for definitions of _G_HAVE_MMAP and
        _G_HAVE_MREMAP.  Add commentary explaining those two symbols.
        * sysdeps/unix/sysv/linux/bits/_G_config.h: Move back to
        sysdeps/unix/sysv/linux/_G_config.h.  Make same content
        change as above.
    
        * libio/libio.h: Don't include bits/_G_config.h here.
        Include stddef.h with __need_wchar_t defined.  Include
        bits/types/__mbstate_t.h, bits/types/wint_t.h, and gconv.h.
        Define _IO_iconv_t here, directly.
        Don't define _IO_HAVE_ST_BLKSIZE.
        * libio/libioP.h: Include _G_config.h here.  Move include of
        shlib-compat.h up with rest of includes.  Simplify conditionals
        controlling definition of _IO_JUMPS_OFFSET.
    
        * csu/init.c: Remove always-true #if around entire file.
        Don't include stdio.h.  Set _IO_stdin_used to hardwired
        constant 0x20001, and update commentary.
        * include/stdio.h, sysdeps/ieee754/ldbl-opt/nldbl-compat.h:
        Replace all uses of _G_va_list with __gnuc_va_list.
        * libio/filedoalloc.c: Use #if defined _STATBUF_ST_BLKSIZE
        instead of #if _IO_HAVE_ST_BLKSIZE.
        * libio/fileops.c: Test _G_HAVE_MREMAP with #if, not #ifdef.
        * libio/iofdopen.c, libio/iofopen.c: Test _G_HAVE_MMAP with #if,
        not #ifdef.

commit 6c6c962a202299b55d180e04f44a63ffb748096c
Author: Zack Weinberg <address@hidden>
Date:   Mon Feb 5 13:09:15 2018 -0500

    Post-cleanup 1: move libio.h back out of bits/.
    
    We can't go very far with libio cleanups as long as we still have
    _IO_MTSAFE_IO, and I am not tackling that in this patch series,
    but we can at least make the maze of stdio-related headers a
    little less complicated.
    
    In this patch, libio.h moves back out of bits/ into the top level of
    the libio subdirectory, and is merged with libio/bits/libio-ldbl.h
    (which also used to be installed) and include/libio.h.  Since almost
    no files include libio.h directly, this is quite straightforward.
    
    libio.h is now always used with _LIBC defined, so all of the _LIBC ||
    _GLIBCPP_USE_WCHAR_T conditionals are unnecessary.  Similarly, the
    ifdef nest surrounding the definition of _IO_fwide_maybe_incompatible
    can collapse down to a single SHLIB_COMPAT check.  I also took the
    opportunity to add some checks for configuration botches to libio.h.
    
    Installed stripped libraries are unchanged by this patch.
    
            * libio/bits/libio.h: Move back to libio/libio.h and adjust
            multiple-include guard to match.
            Merge contents of libio/bits/libio-ldbl.h and include/libio.h
            into this file.
            Remove preprocessor conditionals that are always true and/or
            redundant to other preprocessor conditionals in the same nest.
            Include shlib-compat.h unconditionally.
            Error out if _LIBC is not defined, or if _ISOMAC is defined,
            or if _IO_MTSAFE_IO is defined but _IO_lock_t_defined is not
            defined after including stdio.h.
            Use __BEGIN_DECLS/__END_DECLS.
    
            * libio/bits/libio-ldbl.h, include/bits/libio.h: Delete file.
            * include/stdio.h, libio/iolibio.h, libio/libioP.h: Include
            libio.h as <libio/libio.h> rather than as <bits/libio.h>.

commit a4fea3f2c3253b9ae6ffacd3747034ccbe56bc60
Author: Zack Weinberg <address@hidden>
Date:   Fri Feb 2 19:36:42 2018 -0500

    Don't install libio.h or _G_config.h.
    
    We shipped 2.27 with libio.h and _G_config.h still installed but
    issuing warnings when used.  Let's stop installing them early in 2.28
    so that we have plenty of time to think of another plan if there are
    problems.
    
    The public stdio.h had a genuine dependency on libio.h for the
    complete definitions of FILE and cookie_io_functions_t, and a genuine
    dependency on _G_config.h for the complete definitions of fpos_t and
    fpos64_t; these are moved to single-type headers.
    bits/types/struct_FILE.h also provides a handful of accessor and
    bitflags macros so that code is not duplicated between bits/stdio.h
    and libio.h.  All the other _IO_ and _G_ names used by the public
    stdio.h can be replaced with either public names or __-names.
    
    In order to minimize the risk of breaking our own compatibility code,
    bits/types/struct_FILE.h preserves the _IO_USE_OLD_IO_FILE mechanism
    exactly as it was in libio.h, but you have to define _LIBC to use it,
    or it'll error out.  Similarly, _IO_lock_t_defined is preserved
    exactly, but will error out if used without defining _LIBC.
    
    Internally, include/stdio.h continues to include libio.h, and libio.h
    scrupulously provides every _IO_* and _G_* name that it always did,
    perhaps now defined in terms of the public names.  This is how this
    patch avoids touching dozens of files throughout glibc and becoming
    entangled with the _IO_MTSAFE_IO mess.  The remaining patches in this
    series eliminate most of the _G_ names.
    
    Tested on x86_64-linux; in addition to the test suite, I installed the
    library in a sysroot and verified that a simple program that uses
    stdio.h could be compiled against the installed library, and I also
    verified that installed stripped libraries are unchanged.
    
        * libio/bits/types/__fpos_t.h, libio/bits/types/__fpos64_t.h:
        New single-type headers split from _G_config.h.
        * libio/bits/types/cookie_io_functions_t.h
        * libio/bits/types/struct_FILE.h
        New single-type headers split from libio.h.
    
        * libio/Makefile: Install the above new headers.  Don't install
        libio.h, _G_config.h, bits/libio.h, bits/_G_config.h, or
        bits/libio-ldbl.h.
        * libio/_G_config.h, libio/libio.h: Delete file.
    
        * libio/bits/libio.h: Remove improper-inclusion guard.
        Include stdio.h and don't repeat anything that it does.
        Define _IO_fpos_t as __fpos_t, _IO_fpos64_t as __fpos64_t,
        _IO_BUFSIZ as BUFSIZ, _IO_va_list as __gnuc_va_list,
        __io_read_fn as cookie_read_function_t,
        __io_write_fn as cookie_write_function_t,
        __io_seek_fn as cookie_seek_function_t,
        __io_close_fn as cookie_close_function_t,
        and _IO_cookie_io_functions_t as cookie_io_functions_t.
        Define _STDIO_USES_IOSTREAM, __HAVE_COLUMN, and _IO_file_flags
        here, in the "compatibility defines" section.  Remove an #if 0
        block.  Use the "body" macros from bits/types/struct_FILE.h to
        define _IO_getc_unlocked, _IO_putc_unlocked, _IO_feof_unlocked,
        and _IO_ferror_unlocked.
        Move prototypes of __uflow and __overflow...
    
        * libio/stdio.h: ...here.  Don't include bits/libio.h.
        Don't define _STDIO_USES_IOSTREAM.  Get __gnuc_va_list
        directly from stdarg.h.  Include bits/types/__fpos_t.h,
        bits/types/__fpos64_t.h, bits/types/struct_FILE.h,
        and, when __USE_GNU, bits/types/cookie_io_functions_t.h.
        Use __gnuc_va_list, not _G_va_list; __fpos_t, not _G_fpos_t;
        __fpos64_t, not _G_fpos64_t; FILE, not struct _IO_FILE;
        cookie_io_functions_t, not _IO_cookie_io_functions_t;
        __ssize_t, not _IO_ssize_t.  Unconditionally define
        BUFSIZ as 8192 and EOF as (-1).
    
        * libio/bits/stdio.h: Add multiple-include guard.  Use the "body"
        macros from bits/types/struct_FILE.h instead of _IO_* macros
        from libio.h; use __gnuc_va_list instead of va_list and __ssize_t
        instead of _IO_ssize_t.
        * libio/bits/stdio2.h: Similarly.
    
        * libio/iolibio.h: Add multiple-include guard.
        Include bits/libio.h after stdio.h.
        * libio/libioP.h: Add multiple-include guard.
        Include stdio.h and bits/libio.h before iolibio.h.
    
            * include/bits/types/__fpos_t.h, include/bits/types/__fpos64_t.h
        * include/bits/types/cookie_io_functions_t.h
        * include/bits/types/struct_FILE.h: New wrappers.
    
        * bits/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h:
            Get definitions of _G_fpos_t and _G_fpos64_t from
            bits/types/__fpos_t.h and bits/types/__fpos64_t.h
            respectively.  Remove improper-inclusion guards.
    
            * conform/data/stdio.h-data: Update expectations of va_list.
        * scripts/check-installed-headers.sh: Remove special case for
            libio.h and _G_config.h.

commit 8b4a118222c7ed41bc653943b542915946dff1dd
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 7 14:57:31 2018 +0000

    Fix -Os gnu_dev_* linknamespace, localplt issues (bug 15105, bug 19463).
    
    Building with -Os produces linknamespace and localplt failures for,
    among other functions, gnu_dev_major, gnu_dev_minor and
    gnu_dev_makedev.
    
    The issue is that those functions are not inlined when building with
    -Os.  While one could force them to be inlined in that case, it seems
    more natural to fix this issue similarly to other namespace issues.
    Thus, this patch makes gnu_dev_* into weak aliases for hidden symbols
    __gnu_dev_*; __gnu_dev_* are then defined as inlines in the internal
    include/sys/sysmacros.h, and uses of gnu_dev_* (often via the macros
    major, minor and makedev) for which there are namespace issues are
    changed to use __gnu_dev_*; where there are no namespace issues, use
    of libc_hidden_proto serves to avoid unnecessary local PLT entry use.
    
    Tested for x86_64, (a) without -Os, to verify the testsuite continues
    to pass without problems and that the functions called under their new
    names continue to be inlined as expected in that case; (b) with -Os,
    to verify that the linknamespace and localplt failures in question go
    away (but because of other such failures present, neither of the
    relevant bugs can yet be closed).
    
        [BZ #15105]
        [BZ #19463]
        * include/sys/sysmacros.h [!_ISOMAC]
        (__SYSMACROS_NEED_IMPLEMENTATION): Define macro.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC]
        (_SYS_SYSMACROS_H_WRAPPER): Likewise.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_major): Use
        libc_hidden_proto.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_minor): Likewise.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (gnu_dev_makedev):
        Likewise.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_DECL_TEMPL):
        Undefine and redefine to add use __gnu_dev_ prefix.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__SYSMACROS_IMPL_TEMPL):
        Likewise.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_major): Declare
        and define as hidden inline function.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_minor):
        Likewise.
        [!_SYS_SYSMACROS_H_WRAPPER && !_ISOMAC] (__gnu_dev_makedev):
        Likewise.
        * misc/makedev.c (OUT_OF_LINE_IMPL_TEMPL): Use __gnu_dev_ prefix.
        (gnu_dev_major): Use weak_alias and libc_hidden_weak.
        (gnu_dev_minor): Likewise.
        (gnu_dev_makedev): Likewise.
        * csu/check_fds.c (check_one_fd): Use __gnu_dev_makedev instead of
        makedev.
        * posix/wordexp.c (exec_comm_child): Likewise.
        * sysdeps/mach/hurd/xmknodat.c (__xmknodat): Use __gnu_dev_minor
        instead of minor and __gnu_dev_major instead of major.
        * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Use
        __gnu_dev_major instead of major.
        * sysdeps/unix/sysv/linux/pathconf.c (distinguish_extX): Use
        __gnu_dev_major instead of gnu_dev_major and __gnu_dev_minor
        instead of gnu_dev_minor.
        * sysdeps/unix/sysv/linux/ptsname.c (MASTER_P): Likewise.
        (SLAVE_P): Likewise.
        (__ptsname_internal): Use __gnu_dev_minor instead of minor.
        * sysdeps/unix/sysv/linux/ttyname.h (is_pty): Use __gnu_dev_major
        instead of major.

commit ce999220903ae5ad027a2a7df722acaf2cecf4bf
Author: Joseph Myers <address@hidden>
Date:   Wed Feb 7 13:36:14 2018 +0000

    Fix -Os strcoll, wcscoll, build (bug 21313).
    
    The findidx functions used in implementing strcoll / wcscoll already
    use DIAG_IGNORE_Os_NEEDS_COMMENT for spurious -Wmaybe-uninitialized
    warnings that appear with -Os.  In building with GCC 7 for x86_64 with
    -Os, I find there are additional such warnings, for the same structure
    elements, which are spurious for the same reasons given in the
    existing comments (and this was also reported for MIPS with GCC 5 in
    bug 21313).  This patch adds corresponding uses of DIAG_* in the
    places that get the additional warnings.
    
    Tested for x86_64 with -Os that this eliminates those warnings and so
    allows the build to progress further.
    
        [BZ #21313]
        * locale/weight.h (findidx): Disable -Wmaybe-uninitialized for -Os
        in another place.
        * locale/weightwc.h (findidx): Likewise.

commit b7c83ca30ef8e85b6642151d95600a36535f8d97
Author: Wilco Dijkstra <address@hidden>
Date:   Wed Feb 7 12:24:43 2018 +0000

    Remove slow paths from log
    
    Remove the slow paths from log.  Like several other double precision math
    functions, log is exactly rounded.  This is not required from math functions
    and causes major overheads as it requires multiple fallbacks using higher
    precision arithmetic if a result is close to 0.5ULP.  Ridiculous slowdowns
    of up to 100000x have been reported when the highest precision path 
triggers.
    
    Interestingly removing the slow paths makes hardly any difference in 
practice:
    the worst case error is still ~0.502ULP, and exp(log(x)) shows identical 
results
    before/after on many millions of random cases.  All GLIBC math tests pass on
    AArch64 and x64 with no change in ULP error.  A simple test over a few 
hundred
    million values shows log is now 18% faster on average.
    
        * manual/probes.texi (slowlog): Delete documentation of removed probe.
        (slowlog_inexact): Likewise
        * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Remove slow paths.
        * sysdeps/ieee754/dbl-64/ulog.h: Remove unused declarations.

commit 388ff7bd0d57d7061fdd39a2f26f65687e8058da
Author: Igor Gnatenko <address@hidden>
Date:   Wed Feb 7 12:11:39 2018 +0100

    Linux: use reserved name __key in pkey_get [BZ #22797]
    
    _key is not reserved name and we should avoid using that. It seems that
    it was simple typo when pkey_* was implemented.

commit 0d40d0ecba3b1e5b8c3b8da01c708fea3948e193
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:55:08 2018 +0000

    Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, 
bug 15512, bug 17082, bug 20530).
    
    We have a general principle of preferring optimizations for library
    facilities to use compiler built-in functions rather than being
    located in library headers, where the compiler can reasonably optimize
    code without needing to know glibc implementation details.
    
    This patch applies this principle to bits/byteswap.h, eliminating all
    the architecture-specific variants and bits/byteswap-16.h.  The
    __bswap_16, __bswap_32 and __bswap_64 interfaces all become inline
    functions, never macros, using the GCC built-in functions where
    available and otherwise a single architecture-independent definition
    using shifts and masking (which compilers may well be able to detect
    and optimize; GCC has detection of various byte-swapping idioms).
    
    The __bswap_constant_32 macro needs to stay around because of uses in
    static initializers within glibc and its tests, and so for consistency
    all __bswap_constant_* are kept rather than just being inlined into
    the old-GCC-or-non-GCC parts of the __bswap_* inline function
    definitions.
    
    Various open bugs are addressed by this cleanup, with caveats about
    exactly what is covered by those bugs and when the bugs applied at
    all.
    
    Bug 14508 reports -Wformat warnings building glibc because __bswap_*
    sometimes returned the wrong types.  Obviously we already don't have
    such warnings any more or the build would be failing, given -Werror,
    and I suspect that bug was originally for wrong types for x86_64, as
    fixed by commit d394eb742a3565d7fe7a4b02710a60b5f219ee64 (glibc 2.17).
    The only case I saw removed by this patch where the types would still
    have been wrong was the non-__GNUC__ case of __bswap_64 in the s390
    header (using unsigned long long int, but uint64_t would be unsigned
    long int for 64-bit).  In any case, the single header consistently
    uses __uintN_t types after this patch, thereby eliminating all such
    bugs.  The existing string/test-endian-types.c test already suffices
    to verify that the types are correct with the compiler used to build
    glibc and its tests.
    
    Bug 15512 reports an error from __bswap_constant_16 with -Werror
    -Wsign-conversion.  I am unable to reproduce this with any GCC version
    supporting -Wsign-conversion - all seem to be able to avoid warning
    for ((x) >> 8) & 0xffu, where x is uint16_t, which while it formally
    does involve an implicit conversion from int to unsigned int, is also
    a case where it should be easy for the compiler to see that the value
    converted is never negative.  But in this patch __bswap_constant_16 is
    changed to use signed 0xff so that no such implicit conversion occurs
    at all, and a test with -Werror -Wsign-conversion is added.
    
    Bug 17082 objects to the use of ({}) statement expressions in these
    macros preventing use at file scope (in C, that's in sizeof etc.; in
    C++, more generally in static initializers).  The particular case of
    these interfaces is fixed by this patch as it changes them to inline
    functions, eliminating all uses of ({}) in bits/byteswap.h, and a
    corresponding testcase is added.  The bug tries to raise a more
    general policy question about use of ({}) in macros in installed
    headers, referring to "many other libc functions" (unspecified which
    functions are being considered).
    
    Since such policy questions belong on libc-alpha, and since there
    *are* macros in installed headers which can't really avoid using ({})
    (where they are type-generic, so can't use an inline function, but
    need a temporary variable, and a few where the interface involves
    returning memory from alloca so can't use an inline function either),
    I propose to consider that bug fixed with this change.  That is
    without prejudice to any other new bugs anyone wishes to file *for
    precisely defined sets of macros* requesting moving away from ({})
    *where it is clearly possible for those interfaces*.  Where ({}) can
    be avoided, typically by use of an inline function, I think that's a
    good idea - that inline functions are typically to be preferred to
    ({}) for header interfaces where such optimizations are useful but the
    interface is suited to being defined using an inline function.
    
    Bug 20530 requests use of __builtin_bswap16 when available (GCC 4.8
    and later), which this patch implements.
    
    Tested for x86_64, and with build-many-glibcs.py.  Also did an x86_64
    test with the __GNUC_PREREQ conditionals changed to "#if 0" to verify
    the old-GCC/non-GCC case in the headers.  (There are already existing
    tests for correctness of results of these interfaces.)
    
        [BZ #14508]
        [BZ #15512]
        [BZ #17082]
        [BZ #20530]
        * bits/byteswap.h: Update file comment.  Do not include
        <bits/byteswap-16.h>.
        (__bswap_constant_16): Cast result to __uint16_t.  Use signed 0xff
        constant.
        (__bswap_16): Define as inline function.
        (__bswap_constant_32): Reformat definition.
        (__bswap_32): Always define as inline function, not macro, using
        __uint32_t.  Use __builtin_bswap32 if [__GNUC_PREREQ (4, 3)],
        otherwise __bswap_constant_32.
        (__bswap_constant_64): Reformat definition.  Do not use
        __extension__ here.
        (__bswap_64): Always define as inline function, not macro.  Use
        __extension__ on function definition.  Use __builtin_bswap64 if
        [__GNUC_PREREQ (4, 3)], otherwise __bswap_constant_64.
        * string/test-endian-file-scope.c: New file.
        * string/test-endian-sign-conversion.c: Likewise.
        * string/Makefile (headers): Remove bits/byteswap-16.h.
        (tests): Add test-endian-file-scope and
        test-endian-sign-conversion.
        (CFLAGS-test-endian-sign-conversion.c): New variable.
        * bits/byteswap-16.h: Remove file.
        * sysdeps/ia64/bits/byteswap-16.h: Likewise.
        * sysdeps/ia64/bits/byteswap.h: Likewise.
        * sysdeps/m68k/bits/byteswap.h: Likewise.
        * sysdeps/s390/bits/byteswap-16.h: Likewise.
        * sysdeps/s390/bits/byteswap.h: Likewise.
        * sysdeps/tile/bits/byteswap.h: Likewise.
        * sysdeps/x86/bits/byteswap-16.h: Likewise.
        * sysdeps/x86/bits/byteswap.h: Likewise.

commit 383e87c96b9eee3b4b2d78dbeeaa8e2c0db35feb
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:48:35 2018 +0000

    Fix non-__GNUC__ definitions of __inline and __restrict (bug 17721).
    
    Bug 17721 reports that the non-__GNUC__ definitions of __inline and
    __restrict are suboptimal, in that they are defined to empty when they
    could be defined to inline and restrict for appropriate language
    versions.  This patch makes those fixes.
    
    Tested for x86_64 (however, I have not done any testing with an actual
    non-__GNUC__ compiler and it's likely such compilers may have other
    problems with glibc headers).
    
        [BZ #17721]
        * misc/sys/cdefs.h [!__GNUC__ && (__cplusplus || (__STDC_VERSION__
        && __STDC_VERSION__ >= 199901L))] (__inline): Define to inline.
        [!__GNUC_PREREQ (2,92) && __STDC_VERSION__ && __STDC_VERSION__ >=
        199901L] (__restrict): Define to restrict.

commit d92c2759976600decd8353730a5b5ce30c2758d8
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:43:20 2018 +0000

    Move string/testcopy.c to test-driver.c and xmalloc (bug 19667).
    
    Bug 19667 reports unchecked malloc calls in the test
    string/testcopy.c.  This patch makes that test use xmalloc and the
    support/test-driver.c test framework.
    
    Tested for x86_64.
    
        [BZ #19667]
        * string/testcopy.c: Include <support/support.h>.  Do not include
        <malloc.h>.  Use <support/test-driver.c>.
        (main): Rename to do_test.  Make static.  Use xmalloc instead of
        malloc.

commit 625fb764b4d9138fe9c2cbffa1b755e8f43f6e06
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:38:51 2018 +0000

    Correct type of SSIZE_MAX for 32-bit (bug 13575).
    
    Bug 13575 reports that SSIZE_MAX is wrongly defined as LONG_MAX on
    32-bit systems where ssize_t is defined as int (which is most 32-bit
    systems supported by glibc).
    
    This patch fixes the definition, using a conditional on
    __WORDSIZE32_SIZE_ULONG to determine the appropriate type in the
    32-bit case.  Formally ssize_t need not be the signed type
    corresponding to size_t, but as it is for all current glibc
    configurations, there is no need for a new macro different from the
    one used for defining SIZE_MAX.  A testcase is added for both the type
    and the value of SSIZE_MAX.
    
    There is a relevant peculiarity in
    sysdeps/unix/sysv/linux/s390/bits/typesizes.h:
    
    /* Compatibility with g++ 2.95.x.  */
    /* size_t is unsigned long int on s390 -m31.  */
    
    This has the effect that for GCC 2 for s390, ssize_t does not match
    __WORDSIZE32_SIZE_ULONG.  I don't think such a conditional on the GCC
    version makes sense - to have a well-defined ABI, the choices of
    standard types should not depend on the GCC version.  It's also the
    case that upstream GCC 2.95 did not support s390, and glibc headers
    don't in general try to support past development GCC versions - only
    actual releases and current mainline development.  But whether or not
    that GCC 2 case should be removed (with or without a NEWS entry for
    such a change), this patch does not result in any changes for s390;
    the value is always still LONG_MAX in the s390 case because
    __WORDSIZE32_SIZE_ULONG is always defined for 32-bit s390.  I don't
    think any such oddity in code only active for unofficial or unreleased
    old compiler versions should block closing the present bug as fixed
    once this patch is in.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        [BZ #13575]
        * posix/bits/posix1_lim.h: Include <bits/wordsize.h>.
        [!SSIZE_MAX && !(__WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG)]
        (SSIZE_MAX): Define to INT_MAX.
        * posix/test-ssize-max.c: New file.
        * posix/Makefile (tests): Add test-ssize-max.

commit 02325d6c3a3eb415556782a7d2cfff589d29493d
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:32:53 2018 +0000

    Use xmalloc in tst-setcontext-fpscr.c (bug 19668).
    
    Bug 19668 reports an unchecked malloc call in the test
    sysdeps/powerpc/fpu/tst-setcontext-fpscr.c.  This patch makes that
    test use xmalloc.  It does not otherwise move this test to the
    support/ infrastructure or support/test-driver.c; the test has various
    uses of exit and _exit on error cases, and uses atexit, and while I
    think those things would all still work in the context of
    test-driver.c, it's not an immediately obvious conversion the way it
    would be for many tests that don't use test-driver.c.
    
    Tested for powerpc.
    
        [BZ #19668]
        * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: Include
        <support/support.h>.  Do not include <malloc.h>.
        (query_auxv): Use xmalloc instead of malloc.

commit 663e7d784977f6b15c0cab73f754f9f39c9c0c2c
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 21:29:50 2018 +0000

    Only define loff_t for __USE_MISC (bug 14553).
    
    Bug 14553 reports that sys/types.h defines loff_t unconditionally,
    despite it not being part of any supported standard.  This is
    permitted by the POSIX *_t reservation, but as a
    quality-of-implementation issue it's still best not to define it
    except for __USE_MISC.  This patch conditions the definition
    accordingly, updating a macro in sysdeps/unix/sysv/linux/sys/quota.h
    to use __loff_t so it still works even if __USE_MISC is not defined.
    
    codesearch.debian.net suggests there are quite a lot of loff_t uses
    outside glibc, but it might well make sense to change all (few) uses
    of loff_t or __loff_t inside glibc to use off64_t or __off64_t
    instead, leaving only the definitions, treating this name as
    obsolescent.
    
    Tested for x86_64.
    
        [BZ #14553]
        * posix/sys/types.h (loff_t): Only define for [__USE_MISC].
        * sysdeps/unix/sysv/linux/sys/quota.h (dqoff): Use __loff_t
        instead of loff_t.

commit 6d7aa2b531088c3a277911534179975eb2622954
Author: Florian Weimer <address@hidden>
Date:   Wed Jan 24 15:40:29 2018 -0200

    getlogin_r: switch Linux variant to struct scratch_buffer
    
        [BZ #18023]
        * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
        Use scratch_buffer instead of extend_alloca.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 71aa429b029fdb6f9e65d44050388b51eca460d6
Author: Florian Weimer <address@hidden>
Date:   Tue Feb 6 09:19:03 2018 +0100

    Record CVE-2018-6551 in NEWS and ChangeLog [BZ #22774]

commit 26c07172cde74617ca7214c93cdcfa75321e6b2b
Author: Zack Weinberg <address@hidden>
Date:   Mon Feb 5 14:42:29 2018 -0500

    Remove getc and putc macros from the public stdio.h.
    
    The getc and putc macros in the public stdio.h expand to call _IO_getc
    and _IO_putc respectively.  As _IO_getc, fgetc, and getc are all aliases
    for the same function, and _IO_putc, fputc, and putc are also all aliases
    for the same function, the macros are pointless.  The C standard does
    not require getc and putc to be macros, so let's just not have macros.
    All four symbols are exported from libc.so at the same, ancient symbol
    version, so there should be no risks for binary compatibility.  Similarly,
    the getchar and putchar inlines in bits/stdio.h forward to getc and putc
    instead of their _IO_ aliases.
    
    As a change from longstanding historical practice, this does seem
    like it might break _something_, so there is a note in NEWS, which
    is also a convenient place to advise people that if they thought getc
    and putc had reduced per-character overhead they should consider using
    getc_unlocked and putc_unlocked instead.  (These are also not macros,
    but when optimizing, they are inlines.)
    
        * libio/stdio.h: Don't define getc or putc as macros.
        * libio/bits/stdio.h (getchar, putchar): Use getc and putc,
        not _IO_getc and _IO_putc.

commit de6da571eeff41e69a28744b4c57e219828e26bc
Author: Zack Weinberg <address@hidden>
Date:   Mon Feb 5 14:38:46 2018 -0500

    Remove some unnecessary redefinitions of std symbols.
    
    Two files in stdio-common were unnecessarily redefining some standard
    symbols as their _IO_ aliases.
    
        * stdio-common/vfprintf.c: Don't redefine FILE, va_list, or BUFSIZ.
            * stdio-common/tstgetln.c: Don't redefine ssize_t.

commit c2b84df9b0207d1233b2de07b836a773889d93d8
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 00:42:22 2018 +0000

    Add TCP_FASTOPEN_KEY, TCP_FASTOPEN_NO_COOKIE from Linux 4.15.
    
    This patch adds the TCP_FASTOPEN_KEY and TCP_FASTOPEN_NO_COOKIE macros
    from Linux 4.15 to sysdeps/gnu/netinet/tcp.h.
    
    Tested for x86_64.
    
        * sysdeps/gnu/netinet/tcp.h (TCP_FASTOPEN_KEY): New macro.
        (TCP_FASTOPEN_NO_COOKIE): Likewise.

commit 41376f8c626612335649beaa71dc981f017350ad
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 00:41:34 2018 +0000

    Add IPV6_FREEBIND from Linux 4.15.
    
    This patch adds the IPV6_FREEBIND macro from Linux 4.15 to
    sysdeps/unix/sysv/linux/bits/in.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/in.h (IPV6_FREEBIND): New macro.

commit d28bf648976eb2e6d0bcc64a53f4ed1ebb59a40e
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 00:37:17 2018 +0000

    Add elf.h NT_* macros from Linux 4.15 (bug 14890).
    
    Linux 4.15 adds NT_S390_RI_CB to linux/elf.h (and NT_ARM_SVE, which we
    already have in glibc).  This shows up that various other ELF note
    values from linux/elf.h are missing from glibc's elf.h.
    
    This patch adds the missing values that are relevant to glibc
    architectures.  As elf.h is a general description of the ELF format,
    not necessarily limited to glibc configurations, there's an argument
    for having the remaining NT_* values that Linux uses for non-glibc
    architectures in glibc's elf.h as well, but this patch does not add
    them.
    
    Adding the NT_PRFPREG name is bug 14890.  That bug also requests
    making the NT_FPREGSET name obsolete.  Given that elf.h is not just
    for Linux but can describe ELF for other operating systems, I don't
    think that a change of name in the Linux kernel is sufficient
    justification for declaring the other name obsolete; there can be
    multiple names for the same note value, even with incompatible
    semantics, if those reflect variants of the ELF format in actual use.
    For example, FreeBSD appears still to have the name NT_FPREGSET
    <https://github.com/freebsd/freebsd/blob/master/sys/sys/elf_common.h>
    (note: I haven't checked whether the FreeBSD kernel actually generates
    such notes or whether this is actually an other-OS definition present
    in FreeBSD's header).
    
        [BZ #14890]
        * elf/elf.h (NT_PRFPREG): New macro.
        (NT_S390_VXRS_LOW): Likewise.
        (NT_S390_VXRS_HIGH): Likewise.
        (NT_S390_GS_CB): Likewise.
        (NT_S390_GS_BC): Likewise.
        (NT_S390_RI_CB): Likewise.

commit e76def72eb74ddc4fcf2b1630f5da742ddbd811d
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 00:36:14 2018 +0000

    Add MAP_SYNC from Linux 4.15.
    
    This patch adds the MAP_SYNC macro from Linux 4.15 to various
    bits/mman.h headers.  Note that this is *not* added to all
    architectures: in Linux 4.15, this macro is only in
    asm-generic/mman.h, and only some architectures' asm/mman.h include
    the asm-generic file - the architectures not using the asm-generic
    file will need their own values of MAP_SYNC allocated to support this
    functionality (some of them also already have conflicting mmap flags
    so the value there will have to be different from the generic
    0x80000).  Specifically, for glibc architectures, alpha hppa mips
    powerpc sparc tile lack allocations of values for MAP_SYNC.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC]
        (MAP_SYNC): New macro.
        * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] (MAP_SYNC):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC]
        (MAP_SYNC): Likewise.
        * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] (MAP_SYNC):
        Likewise.
        * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] (MAP_SYNC):
        Likewise.

commit 92669d6ee3f25b3ca4cb227d194900489f895432
Author: Joseph Myers <address@hidden>
Date:   Tue Feb 6 00:35:09 2018 +0000

    Add MAP_SHARED_VALIDATE from Linux 4.15.
    
    This patch adds the MAP_SHARED_VALIDATE macro from Linux 4.15 to
    bits/mman-linux.h and the hppa bits/mman.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_MISC]
        (MAP_SHARED_VALIDATE): New macro.
        * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC]
        (MAP_SHARED_VALIDATE): Likewise.

commit 6a5cac49b6eeb60abc891f9e28908da733766630
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 14:58:39 2018 -0800

    Use ADDRIDX with DT_GNU_HASH
    
    The only differences in ld.so are line numbers for asserts.
    
    Reviewed-by: Jonathan Nieder <address@hidden>
    
        * elf/dl-addr.c (determine_info): Use ADDRIDX with DT_GNU_HASH.
        * elf/dl-lookup.c (_dl_setup_hash): Likewise.
        * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise.

commit b44e0dfbacecd0f84ebfa942e6d6c0153981680e
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 06:30:04 2018 -0800

    Add DT_SYMTAB_SHNDX from gABI
    
        * elf/elf.h (DT_SYMTAB_SHNDX): New.  Set to 34.
        (DT_NUM): Updated to 35.

commit f886c16ca5d1f35bd77946c3a93b6149b05f38f0
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 06:13:31 2018 -0800

    i386: Use __glibc_likely/__glibc_likely in dl-machine.h
    
    The differences in elf/dl-reloc.os are
    
    --- before          2018-02-05 03:53:31.970492246 -0800
    +++ after           2018-02-05 03:53:49.719902340 -0800
    @@ -1202,9 +1202,9 @@ _dl_relocate_object:
        movl    -60(%ebp), %eax
        testl   %eax, %eax
        je      .L249
    -   movl    8(%eax), %eax
    -   movl    8(%ebx), %esi
    -   cmpl    %esi, %eax
    +   movl    8(%eax), %esi
    +   movl    8(%ebx), %eax
    +   cmpl    %eax, %esi
        ja      .L284
        jb      .L707
     .L285:
    @@ -2255,7 +2255,7 @@ _dl_relocate_object:
        cmpl    $6, %edi
        movl    $4, %edx
        je      .L132
    -   cmpl    %ecx, %eax
    +   cmpl    %eax, %ecx
        je      .L350
        cmpl    $7, %edi
        je      .L419
    @@ -2735,7 +2735,7 @@ _dl_relocate_object:
        je      .L120
     .L121:
        movl    -96(%ebp), %edx
    -   movl    $640, 8(%esp)
    +   movl    $639, 8(%esp)
        leal    address@hidden(%edx), %eax
        movl    %eax, 12(%esp)
        leal    address@hidden(%edx), %eax
    @@ -3454,10 +3454,10 @@ _dl_relocate_object:
        movl    -152(%ebp), %eax
        movl    %eax, 4(%esp)
        call    _dl_dprintf
    -   movl    -60(%ebp), %eax
    -   movl    8(%ebx), %esi
    +   movl    8(%ebx), %eax
    +   movl    -60(%ebp), %ebx
        movl    -112(%ebp), %edx
    -   movl    8(%eax), %eax
    +   movl    8(%ebx), %esi
        jmp     .L285
     .L713:
        movl    %esi, (%esp)
    
        * sysdeps/i386/dl-machine.h (elf_machine_rel): Replace
        __builtin_expect with __glibc_likely and __glibc_unlikely.
        (elf_machine_rela): Likewise.
        (elf_machine_lazy_rel): Likewise.

commit 8f4bf93fb9c15097db552a3427e169cdec6107c4
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 06:19:59 2018 -0800

    Fix a typo in ChangeLog entry

commit 658050164df9bce9ef8f2ccb1b74ba9ee2b2f4af
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 06:17:18 2018 -0800

    Add a missing ChangeLog item in commit 371b220f620

commit 06fbebfff79abaa825ec8ad846deb05887e34f37
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 06:07:54 2018 -0800

    x86-64: Use __glibc_likely/__glibc_likely in dl-machine.h
    
    The differences in elf/dl-reloc.os are
    
    --- before          2018-02-05 03:52:32.803125207 -0800
    +++ after           2018-02-05 03:52:14.913711879 -0800
    @@ -1129,7 +1129,7 @@ _dl_relocate_object:
        leaq    __PRETTY_FUNCTION__.9767(%rip), %rcx
        leaq    .LC11(%rip), %rsi
        leaq    .LC12(%rip), %rdi
    -   movl    $540, %edx
    +   movl    $539, %edx
        call    __GI___assert_fail
        .p2align 4,,10
        .p2align 3
    
        * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Replace
        __builtin_expect with __glibc_likely and __glibc_likely.
        (elf_machine_lazy_rel): Likewise.

commit 371b220f6208968d5f4bffc9f66bf885930a42a5
Author: H.J. Lu <address@hidden>
Date:   Mon Feb 5 05:46:38 2018 -0800

    sparc: Check PIC instead of SHARED in start.S [BZ #22638]
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.
    
        [BZ #22638]
        * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
        SHARED.
        * sysdeps/sparc/sparc64/start.S (_start): Likewise.

commit f649a1b8b01ffc46a0e0ee5cca0623deccc94bf7
Author: Andreas Schwab <address@hidden>
Date:   Wed Jan 31 10:52:14 2018 +0100

    Fix uninitialized variable in assert_perror (bug 22761)

commit 9fdb340e64920cfaf006c8a7042f3ca0373d1d63
Author: Samuel Thibault <address@hidden>
Date:   Sun Feb 4 13:48:49 2018 +0100

    hurd: Fix build
    
        * stdlib/test-atexit-race-common.c [!defined PTHREAD_STACK_MIN]: Do
        not check against PTHREAD_STACK_MIN.

commit 09e56b9e18f987105e39768f907db800e9330930
Author: Sean McKean <address@hidden>
Date:   Fri Feb 2 11:59:31 2018 +0100

    time: Reference CLOCKS_PER_SEC in clock comment [BZ #22735]

commit d4b4a00a462348750bb18544eb30853ee6ac5d10
Author: Florian Weimer <address@hidden>
Date:   Fri Feb 2 10:46:26 2018 +0100

    preadv2/pwritev2: Handle offset == -1 [BZ #22753]
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 84c94d2fd90d84ae7e67657ee8e22c2d1b796f63
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Feb 2 10:15:20 2018 +0530

    aarch64: Use the L() macro for labels in memcmp
    
    The L() macro makes the assembly a bit more readable.
    
        * sysdeps/aarch64/memcmp.S: Use L() macro for labels.

commit 96e6a7167e127d5e65000f2724e074f1c026e1f1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Feb 2 09:56:47 2018 +0530

    benchtests: Make bench-memcmp print json
    
    The benchamrk result can now be studied using the compare_strings.py
    script.
    
        * benchtests/bench-memcmp.c: Print json instead of plain text.

commit 3dfcbfa1a4bfa39344e8d945ed1bd697c4c9fe96
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Feb 2 09:55:45 2018 +0530

    benchtests: Reallocate buffers for every test run
    
    Keeping the buffers the same across test runs gives later invocations
    the advantage since they access cached data.  Reallocate so that all
    test runs are on equal grounds.
    
        * benchtests/bench-memcmp.c (do_test): Call realloc_buf for
        every test run.

commit 39f898c69205ea4dc3ca2e817f797df95d928347
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 21:10:04 2018 +0000

    Update syscall-names.list for 4.15.
    
    This patch updates sysdeps/unix/sysv/linux/syscall-names.list for
    Linux 4.15.  There only appears to be one new syscall to add to the
    list.  (The riscv_flush_icache syscall is *not* added because for
    whatever reason it doesn't appear in the uapi asm/unistd.h; only in
    arch/riscv/include/uapi/asm/syscalls.h, which is only included by the
    non-uapi asm/unistd.h - and only syscalls whose __NR_* macros are
    defined in the uapi asm/unistd.h are relevant for this list.)
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
        version to 4.15.
        (s390_sthyi): New syscall.

commit 6f9a3dd8b831f92d9d9a53d99101a7fe7f755f44
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 21:01:00 2018 +0000

    Move LDBL_CLASSIFY_COMPAT to its own header.
    
    The general rule in glibc is that it's better for a macro to be always
    defined, and tested with #if, than for it to be tested with #ifdef,
    because the latter is prone to typos in the macro name as well as to
    the header with the macro accidentally not being included in a file
    testing it.  (Testing with an "if" statement is even better, in those
    cases where it's possible to do things that way, as it then means both
    cases in the code get checked for syntax in glibc builds with either
    value of the condition.)
    
    math_private.h has several different groups of macros, meaning that
    architectures wanting to override some of them need to define those
    then include the generic version, which then defines macros if not
    already defined.  It's hard to avoid that arrangement completely, but
    various cases can be improved by splitting out macros or groups of
    macros into separate files.
    
    This patch splits out the LDBL_CLASSIFY_COMPAT macro into a separate
    ldbl-classify-compat.h header.  This macro is tested with #ifdef; this
    patch changes it to testing with #if, with a default definition to 0
    in the generic header and then architecture-specific headers defining
    it to 1.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * sysdeps/generic/ldbl-classify-compat.h: New file.
        * sysdeps/arm/ldbl-classify-compat.h: Likewise.
        * sysdeps/m68k/coldfire/ldbl-classify-compat.h: Likewise.
        * sysdeps/microblaze/ldbl-classify-compat.h: Likewise.
        * sysdeps/mips/ldbl-classify-compat.h: Likewise.
        * sysdeps/nios2/ldbl-classify-compat.h: Likewise.
        * sysdeps/sh/ldbl-classify-compat.h: Likewise.
        * sysdeps/ieee754/dbl-64/s_finite.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/ieee754/dbl-64/s_isinf.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/ieee754/dbl-64/s_isnan.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Include
        <ldbl-classify-compat.h>.
        [LDBL_CLASSIFY_COMPAT]: Test value, not whether defined.
        * sysdeps/arm/math_private.h (LDBL_CLASSIFY_COMPAT): Remove macro.
        * sysdeps/mips/math_private.h (LDBL_CLASSIFY_COMPAT): Likewise.
        * sysdeps/m68k/coldfire/math_private.h: Remove file.
        * sysdeps/microblaze/math_private.h: Likewise.
        * sysdeps/nios2/math_private.h: Likewise.
        * sysdeps/sh/math_private.h: Likewise.

commit eb65a3d545f9820853b454ce342385799dd479e9
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:58:57 2018 +0000

    Remove some math_private.h libc_feholdexcept_setround overrides.
    
    math_private.h headers for configurations lacking support for
    floating-point exceptions and rounding modes define
    libc_feholdexcept_setround to override the default version with one
    that discards its rounding mode argument.
    
    Unlike other such libc_fe* macros that I removed, this one is actually
    used for such configurations (in dbl-64/e_sqrt.c).  However, this does
    not make the macro required.  It's only used for such configurations
    with FE_TONEAREST as the rounding mode (anything needing another mode
    should not be used when that mode is unavailable), and the default
    definition just calls __feholdexcept and __fesetround.  Since we now
    have suitable inline do-nothing definitions of __feholdexcept and
    __fesetround for the cases of no exceptions and rounding modes, we can
    just rely on those inlines to achieve the same optimization as this
    macro definition.  Thus, this patch removes those macro definitions
    (and the math_private.h headers containing them, when no longer needed
    after that removal).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * sysdeps/m68k/coldfire/fpu/math_private.h: Move to ....
        * sysdeps/m68k/coldfire/math_private.h: ... here.
        * sysdeps/m68k/coldfire/nofpu/math_private.h: Remove file.
        * sysdeps/tile/math_private.h: Likewise.
        * sysdeps/microblaze/math_private.h (libc_feholdexcept_setround):
        Remove macro.
        * sysdeps/nios2/math_private.h (libc_feholdexcept_setround):
        Likewise.

commit 8a6bb1d08686ae921601d00bdbcc76c96e5b92de
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:57:22 2018 +0000

    Remove some math_private.h libc_fe* overrides.
    
    math_private.h headers for configurations lacking support for
    floating-point exceptions and rounding modes define various libc_fe*
    macros to override the default versions with ones that discard any
    exception or rounding mode arguments.
    
    Three of the four macros defined in these headers are no longer needed
    there: those macros are only used in fma implementations that are not
    used for such configurations, now all those configurations properly
    use soft-fp fma implementations instead.  (Effectively, those macros
    were a workaround to allow glibc to build in the absence of a proper
    fma implementation for this case - now there is such an
    implementation, there is no need to support building the wrong
    implementation for those configurations.)  Thus, this patch removes
    the unnecessary macros.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround):
        Remove macro.
        (libc_fetestexcept): Likewise.
        (libc_feupdateenv_test): Likewise.
        * sysdeps/microblaze/math_private.h (libc_fesetround): Likewise.
        (libc_fetestexcept): Likewise.
        (libc_feupdateenv_test): Likewise.
        * sysdeps/nios2/math_private.h (libc_fesetround): Likewise.
        (libc_fetestexcept): Likewise.
        (libc_feupdateenv_test): Likewise.
        * sysdeps/tile/math_private.h (libc_fesetround): Likewise.
        (libc_fetestexcept): Likewise.
        (libc_feupdateenv_test): Likewise.

commit ae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:56:08 2018 +0000

    Add feholdexcept inline in generic math_private.h.
    
    Continuing the process of improving and cleaning up the handling of
    configurations lacking support for floating-point exceptions and
    rounding modes, this patch adds trivial inline definitions of
    feholdexcept and __feholdexcept to the set of inlines for such
    configurations in math_private.h.  These inlines were missing from the
    tile version used as a basis for the previous inlines, despite a few
    such function calls ending up in libm.so.
    
    Tested with build-many-glibcs.py.  As expected, installed stripped
    shared libraries are unchanged for architectures supporting exceptions
    and rounding modes, but changed for architectures lacking such
    support.
    
        * sysdeps/generic/math_private.h
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept):
        New inline function.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept):
        Likewise.

commit b1c347e2cd33a1a7f705de5c0876ba47c254a55c
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:54:44 2018 +0000

    Move fenv.h override inline functions to generic math_private.h.
    
    The tile version of math_private.h defines some inline functions for
    fenv.h functions, to optimize away internal calls to these functions
    that do nothing given no support for floating-point exceptions and
    rounding modes.  (Some functions may have error cases for invalid
    arguments, but those aren't applicable to the internal calls from
    within glibc.)  Other configurations lacking support for exceptions
    and rounding modes lack such inline functions.  This patch moves them
    to the generic math_private.h, appropriately conditioned, so that all
    such configurations can benefit from the.
    
    include/fenv.h is made to check whether there are any non-default
    rounding modes; that needs to be done there, rather than later,
    because get-rounding-mode.h defines values for otherwise unsupported
    FE_* rounding modes.  It also gives an error for FE_TONEAREST
    undefined, a case that already did not work for building the glibc
    testsuite; the convention has by now been established that all
    architectures need to provide a version of bits/fenv.h that at least
    defines FE_TONEAREST.
    
    Tested with build-many-glibcs.py.  As expected, installed stripped
    shared libraries are unchanged for tile and for architectures
    supporting exceptions and rounding modes, but changed for non-tile
    architectures not supporting exceptions and rounding modes that
    previously lacked this optimization (e.g. Nios II libm.so is about 1kB
    smaller).
    
    The optimization is not in fact complete (does not cover feholdexcept
    / __feholdexcept, so a few calls to those remain unnecessarily within
    libm even after this patch), but that can be dealt with separately.
    
        * include/fenv.h [!_ISOMAC && !FE_TONEAREST]: Give #error.
        [!_ISOMAC] (FE_HAVE_ROUNDING_MODES): New macro.
        * sysdeps/generic/math_private.h
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fegetenv): New
        inline function.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fegetenv):
        Likewise.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (fesetenv):
        Likewise.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__fesetenv):
        Likewise.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feupdateenv):
        Likewise.
        [!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feupdateenv):
        Likewise.
        [!FE_HAVE_ROUNDING_MODES] (fegetround): Likewise.
        [!FE_HAVE_ROUNDING_MODES] (__fegetround): Likewise.
        [!FE_HAVE_ROUNDING_MODES] (fesetround): Likewise.
        [!FE_HAVE_ROUNDING_MODES] (__fesetround): Likewise.
        * sysdeps/tile/math_private.h (fegetenv): Remove inline function.
        (__fegetenv): Likewise.
        (fesetenv): Likewise.
        (__fesetenv): Likewise.
        (feupdateenv): Likewise.
        (__feupdateenv): Likewise.
        (fegetround): Likewise.
        (__fegetround): Likewise.
        (fesetround): Likewise.
        (__fesetround): Likewise.

commit d23a4962bb35a38b86bccf9ab1d426e2531c250d
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:52:59 2018 +0000

    Move some fenv.h override macros to generic math_private.h.
    
    Various configurations lacking support for floating-point exceptions
    and rounding modes have a math_private.h that overrides certain
    functions and macros, internal and external, to avoid references to
    FE_* constants that are undefined in those configurations.  For
    example, there are unconditional feraiseexcept (FE_INVALID) calls in
    generic libm code, and these macro definitions duly define
    feraiseexcept to ignore its argument to avoid an error from FE_INVALID
    being undefined.
    
    In fact it is easy to tell in an architecture-independent way whether
    this is needed, by testing whether FE_ALL_EXCEPT == 0.  Thus, this
    patch puts such a test, and feraiseexcept and __feraiseexcept macros,
    in the generic math_private.h, so reducing the duplication between
    architecture versions of this header.  The feclearexcept macro present
    in several versions of this header, and fetestexcept in the tile
    version, are not needed; they would have been needed before there were
    proper soft-fp fma implementations (when generic versions, that depend
    on FE_TOWARDZERO and FE_INEXACT, were being used for configurations
    not supporting those features), but aren't needed any more, and so are
    removed.
    
    The tile version of this header has several inline functions for
    fenv.h functions to optimize calls to them away in such configurations
    where they do nothing useful, and all these header versions also have
    definitions of some of the libc_fe* internal macros.  I intend to make
    those generic in subsequent patches.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * sysdeps/generic/math_private.h [FE_ALL_EXCEPT == 0]
        (feraiseexcept): New macro.
        [FE_ALL_EXCEPT == 0] (__feraiseexcept): Likewise.
        * sysdeps/m68k/coldfire/nofpu/math_private.h (feraiseexcept):
        Remove macro.
        (__feraiseexcept): Likewise.
        (feclearexcept): Likewise.
        * sysdeps/microblaze/math_private.h (feraiseexcept): Likewise.
        (__feraiseexcept): Likewise.
        (feclearexcept): Likewise.
        * sysdeps/nios2/math_private.h (feraiseexcept): Likewise.
        (__feraiseexcept): Likewise.
        (feclearexcept): Likewise.
        * sysdeps/tile/math_private.h (feraiseexcept): Likewise.
        (__feraiseexcept): Likewise.
        (feclearexcept): Likewise.
        (fetestexcept): Likewise.

commit 5f167950dffde066dea973e90456fe95350e2e68
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:50:00 2018 +0000

    Add ColdFire math-tests.h.
    
    Since I've been fixing build issues for ColdFire, this patch adds a
    math-tests.h file for ColdFire, reflecting the lack of support for
    exceptions and rounding modes for soft float.  I think it is logically
    correct, but have not tested it beyond build-many-glibcs.py for both
    hard and soft float.
    
        * sysdeps/m68k/coldfire/math-tests.h: New file.

commit ccc9035a67cad676cc917c189ced45d303a94df5
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:48:22 2018 +0000

    Fix m68k bits/fenv.h for no-FPU ColdFire.
    
    The m68k bits/fenv.h is in sysdeps/m68k/fpu/, meaning that no-FPU
    ColdFire instead gets the generic (top-level) bits/fenv.h.
    
    That top-level bits/fenv.h defines no rounding mode constants.  That
    no longer works for building glibc tests: some tests fail to build (at
    least with warnings) if no rounding mode macros are defined, so at
    least FE_TONEAREST must be defined in all cases (as various
    architectures without rounding mode support indeed do), while
    __FE_UNDEFINED must be defined in the case where not all the standard
    rounding modes are supported.
    
    On general principles of supporting multilib toolchains with a single
    set of headers shared between multilibs for a given architecture, it's
    also desirable for the same bits/fenv.h header to work for both FPU
    and no-FPU configurations.  Thus, this patch moves the m68k
    bits/fenv.h to sysdeps/m68k/bits/fenv.h, and inserts appropriate
    conditionals to handle the no-FPU case.  All the exception macros, and
    FE_NOMASK_ENV, are disabled in the no-FPU case; FE_ALL_EXCEPT is
    defined to 0 in that case.  All rounding modes except FE_TONEAREST are
    disabled in that case, and __FE_UNDEFINED is defined accordingly.  To
    avoid an unnecessary ABI change, fenv_t is defined in the no-FPU case
    to match the definition it would have got from the generic
    bits/fenv.h.
    
    This suffices to get a clean glibc and testsuite build for this
    configuration with build-many-glibcs.py (and keeps a clean build for
    the other m68k configurations); it has not been otherwise tested.
    
        * sysdeps/m68k/fpu/bits/fenv.h: Move to ....
        * sysdeps/m68k/bits/fenv.h: ... here.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INEXACT): Do
        not define.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DIVBYZERO):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UNDERFLOW):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_OVERFLOW):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_INVALID):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_ALL_EXCEPT):
        Define to 0.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__]
        (__FE_UNDEFINED): New enum constant.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_TOWARDZERO):
        Do not define.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_DOWNWARD):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_UPWARD):
        Likewise.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (fenv_t): Define
        to match generic bits/fenv.h.
        [!__HAVE_68881__ && !__HAVE_FPU__ && !__mcffpu__] (FE_NOMASK_ENV):
        Do not define.

commit 049375e2b5fc707436fd5d80337c253beededb2d
Author: Joseph Myers <address@hidden>
Date:   Thu Feb 1 20:44:49 2018 +0000

    Do not use packed structures in soft-fp.
    
    Building for soft-float ColdFire produces an error in soft-fp:
    
    In file included from ../sysdeps/ieee754/soft-fp/s_fmaf.c:42:
    ../soft-fp/single.h:85:3: error: 'packed' attribute ignored for field of 
type 'struct <anonymous>' [-Werror=attributes]
       } bits __attribute__ ((packed));
       ^
    
    While this error only appears in that particular case, this attribute
    is in fact never useful, on any architecture.  If you have
    
      struct __attribute__ ((packed)) { ... } bits;
    
    or
    
      struct { ... } __attribute__ ((packed)) bits;
    
    then the attribute affects the layout of the structure type.  But with
    the form used in this code
    
      struct { ... } bits __attribute__ ((packed));
    
    the field bits is being declared packed, but the layout of its type
    has already been determined at that point.  If on any platform the
    layout of the sequence of bit-fields were wrong without the use of a
    packed attribute, the attribute would need to be used via a definition
    of _FP_STRUCT_LAYOUT, not in its present position.
    
    So this patch removes the useless attribute to fix the build for
    ColdFire soft-float.  Tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * soft-fp/double.h (union _FP_UNION_D): Do not use attribute
        packed on bits.
        * soft-fp/extended.h (union _FP_UNION_E): Likewise.
        * soft-fp/half.h (union _FP_UNION_H): Likewise.
        * soft-fp/quad.h (union _FP_UNION_Q): Likewise.
        * soft-fp/single.h (union _FP_UNION_S): Likewise.

commit f1d7368196e27370dcb5dfa3319e102f33b9ad66
Author: Carlos O'Donell <address@hidden>
Date:   Thu Feb 1 20:40:48 2018 +0000

    Fix -Os log1p, log1pf build (bug 21314).
    
    As reported in bug 21314, building log1p and log1pf fails with -Os
    because of a spurious -Wmaybe-uninitialized warning (reported there
    for GCC 5 for MIPS, I see it also with GCC 7 for x86_64).  This patch,
    based on the patches in the bug, fixes this using the DIAG_* macros.
    
    Tested for x86_64 with -Os that this eliminates those warnings and so
    allows the build to progress further.
    
    2018-02-01  Carlos O'Donell  <address@hidden>
            Ramin Seyed-Moussavi  <address@hidden>
            Joseph Myers  <address@hidden>
    
        [BZ #21314]
        * sysdeps/ieee754/dbl-64/s_log1p.c: Include <libc-diag.h>.
        (__log1p): Disable -Wmaybe-uninitialized for -Os around
        computation using c.
        * sysdeps/ieee754/flt-32/s_log1pf.c: Include <libc-diag.h>.
        (__log1pf): Disable -Wmaybe-uninitialized for -Os around
        computation using c.

commit 086ee48eaeaba871a2300daf85469671cc14c7e9
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Feb 1 17:18:19 2018 +0000

    Open master branch for glibc 2.28 development

commit 23158b08a0908f381459f273a984c6fd328363cb
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Feb 1 16:17:18 2018 +0000

    Update for 2.27 release

commit 363e4519a644244aa5796a3096ad8c62b631ad53
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Feb 1 16:17:18 2018 +0000

    Fix ChangeLog formatting

commit 242cbc904743ccf37de3184aea16606e36bc5b5c
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Feb 1 16:17:18 2018 +0000

    NEWS: add the list of bugs fixed in 2.27

commit 4590634fd65162568b9f52fb4beb60aa25da37f2
Author: Florian Weimer <address@hidden>
Date:   Thu Feb 1 15:00:44 2018 +0100

    Record CVE-2018-6485 in ChangeLog and NEWS [BZ #22343]

commit 673e230560ac874deed6993d8b9ebaf82e73c408
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Feb 1 10:31:57 2018 -0200

    stdlib: Fixing test-*atexit*-race tests on ia64
    
    These tests require a new thread stack size set to a value (0x20000)
    lower than the architecture minimum (0x30000).  Set the stack size
    to PTHREAD_STACK_MIN in this case.
    
    Checked on ia64-linux-gnu.
    
        * stdlib/test-atexit-race-common.c (do_test): Check stack size
        against PTHREAD_STACK_MIN.

commit ced64e014c811573cbafc92315161d6d5ce05543
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Feb 1 13:07:39 2018 +0000

    Update contributions in the manual
    
    * manual/contrib.texi (Palmer Dabbelt, Arjun Shankar, Florian Weimer):
    New entries.
    (Rafal Luzynski, Andreas Schwab): Update.

commit c10c9a5efedc11ec6e905571cf02d8f152a5761e
Author: Rafal Luzynski <address@hidden>
Date:   Thu Feb 1 01:45:43 2018 +0100

    NEWS: List the languages which use the alternative months.
    
        [BZ #10871]
        * NEWS: List the languages which actually use the alternative
        months feature in this release.  Also explain that "alt_mon" and
        "ab_alt_mon" are optional.

commit 650ba77ad547b24e0839c90ed56f7b9445d8165a
Author: Il'ya Malakhov <address@hidden>
Date:   Wed Jan 31 14:32:19 2018 -0800

    crypt: Fix badsalttest test (Bug 22765)
    
    The value of 'cd.initialized' is left uninitialized before the
    first invocation of 'crypt_r ()' in this test despite the fact
    that it should be set to zero according to the API.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit d9f442ce56a716ef4723a05ba913c5e2e78d3096
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Jan 31 23:13:00 2018 +0000

    Fix typo in the previous commit
    
    The version of GCC was 7.3, not 7.3.1.

commit 93493119648db44af0b8170588e02ad273ec86a4
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Jan 31 14:20:10 2018 +0000

    Update information about the newest versions of tools used to build glibc
    
    * manual/install.texi (Tools for Compilation): Update the newest
    versions of gcc, binutils, texinfo, gawk, bison, and sed.
    * INSTALL: Regenerated.

commit 407552cf0b1cc7b992c5a8ad7f29ba5ce6ac5dfc
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 30 21:42:21 2018 +0100

    allocalim.h: use __glibc_likely instead of __builtin_expect
    
        * sysdeps/pthread/allocalim.h (__libc_use_alloca): Use __glibc_likely
        instead of __builtin_expect.

commit d31a4a4803fab392e8111eec117dbb62531d202c
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 30 19:56:07 2018 +0100

    hurd: Fix ChangeLog date

commit d7536874b85c33b770a0b249bcbeb499cd631d75
Author: Florian Weimer <address@hidden>
Date:   Tue Jan 30 06:28:49 2018 +0100

    nss: Adjust tests to use nss_files only

commit 9a1b267d470827ced2c81f6e711b5d5582a91a4d
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 30 12:33:14 2018 +0100

    hr_HR: Add alternative month names (bug 10871).
    
        [BZ #10871]
        * localedata/locales/hr_HR (mon): Rename to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).
        (d_t_fmt): Update the comment.

commit 9a123ff05d624f429aa31fce10a8276a52a11f0d
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 30 01:17:51 2018 +0100

    hurd: include generic's hp-timing.h instead of copying it
    
    * sysdeps/mach/hurd/hp-timing.h: include <sysdeps/generic/hp-timing.h>
    instead of copying it.

commit ef4cf463e59b763f289b80084e70911962da6d6c
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 30 00:52:48 2018 +0100

    hurd: Add tlsdesc.sym
    
        * sysdeps/mach/hurd/i386/tlsdesc.sym: New file.

commit ac56adbb0cbe3ff8995662fed0a644d1aa7acb7b
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 30 00:47:31 2018 +0100

    hurd: disable hp timing
    
    We don't have support for hp timing for now, even the i686 variant, which 
needs
    to know the CPU speed.
    Copied from sysdeps/generic/hp-timing.h
    
        * sysdeps/mach/hurd/hp-timing.h: New file.

commit 99dfbef48da238e9a29f83acf3897c2901e5de17
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:56:03 2018 +0100

    hurd: Fix comments for FREAD and FWRITE
    
        * bits/fcntl.h: Fix comment for FREAD and FWRITE.
        * sysdeps/mach/hurd/bits/fcntl.h: Likewise.

commit 406e7a0a47110adbf79326c8a0bda5ffac3e0f10
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:49:45 2018 +0100

    malloc: Use assert.h's assert macro
    
    This avoids assert definition conflicts if some of the headers used by
    malloc.c happens to include assert.h.  Malloc still needs a malloc-avoiding
    implementation, which we get by redirecting __assert_fail to malloc's
    __malloc_assert.
    
        * malloc/malloc.c: Include <assert.h>.
        (assert): Do not define.
        [!defined NDEBUG] (__assert_fail): Define to __malloc_assert.

commit 2aadb70562feae948ed093c86808e7331c5bc6bd
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:44:46 2018 +0100

    libio: Rename _FWRITE to FWRITE_FUNC
    
    _FWRITE would be in the reserved-namespace.
    
        * libio/tst-memstream3.c (_FWRITE): Rename to FWRITE_FUNC.
        (do_test_bz20181): Rename accordingly.

commit ba729de6436ea0a8af3ad80f9555cf3161c7694b
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:21:46 2018 +0100

    allocalim.h: Fix codestyle
    
        * sysdeps/pthread/allocalim.h (__libc_use_alloca): Commute operands of
        || to respect codestyle.

commit 1fd1e27ca7cac9a636cde2c7d19364caf0aaaf33
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:19:14 2018 +0100

    hurd: Fix ChangeLog date

commit 2f8902cc7ac60f03fc4ab0646055cf2b3863a8a7
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 22:17:11 2018 +0100

    hurd: Fix preprocessor indentation

commit 9a1793289b08339660985cb2baada60debc70bf2
Author: Andreas Schwab <address@hidden>
Date:   Sun Jan 28 18:48:04 2018 +0100

    Reject invalid definitions of _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, 
_POSIX_VDISABLE
    
    POSIX requires that the constants _POSIX_CHOWN_RESTRICTED,
    _POSIX_NO_TRUNC, and _POSIX_VDISABLE are always defined to a value other
    than -1.

commit e01e0ddc42e5909af0409d28bc4fd52ebfdbc7db
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 23:30:15 2018 +0100

    hurd: Add expected ABI lists
    
    * hurd/Versions: Fix version when _hurd_exec_paths was added.
    * mach/Versions: Fix version when __mach_host_self_ was added.
    * sysdeps/mach/hurd/i386/ld.abilist: New file.
    * sysdeps/mach/hurd/i386/libBrokenLocale.abilist: New file.
    * sysdeps/mach/hurd/i386/libanl.abilist: New file.
    * sysdeps/mach/hurd/i386/libc.abilist: New file.
    * sysdeps/mach/hurd/i386/libcrypt.abilist: New file.
    * sysdeps/mach/hurd/i386/libdl.abilist: New file.
    * sysdeps/mach/hurd/i386/libm.abilist: New file.
    * sysdeps/mach/hurd/i386/libnsl.abilist: New file.
    * sysdeps/mach/hurd/i386/libresolv.abilist: New file.
    * sysdeps/mach/hurd/i386/librt.abilist: New file.
    * sysdeps/mach/hurd/i386/libutil.abilist: New file.

commit 521877e10c17c25530a62306791101582daa974a
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 09:32:37 2018 -0800

    RISC-V: Add ipc_priv.h
    
    This contains a definition of __IPC_64 that matches the RISC-V Linux
    ABI.
    
    2018-01-29  Darius Rad  <address@hidden>
    
            * sysdeps/unix/sysv/linux/riscv/ipc_priv.h: New file.

commit 0fd5d876d2e016b611ada62410bd8a6298f327d3
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:30:51 2018 -0800

    Add RISC-V to build-many-glibcs.py
    
    For full disclosure, I've only run build-many-glibcs.py with the
    additional diff below.
    
        diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
        index 1c7b85050b57..22cc7b427041 100755
        --- a/scripts/build-many-glibcs.py
        +++ b/scripts/build-many-glibcs.py
        @@ -706,7 +706,7 @@ class Context(object):
                                     'gcc': 'vcs-7',
                                     'glibc': 'vcs-mainline',
                                     'gmp': '6.1.2',
        -                            'linux': '4.14',
        +                            'linux': '4.15-rc8',
                                     'mpc': '1.0.3',
                                     'mpfr': '3.1.6'}
                 use_versions = {}
        @@ -841,7 +841,7 @@ class Context(object):
                 url_map = {'binutils':
        'https://ftp.gnu.org/gnu/binutils/binutils-%(version)s.tar.bz2',
                            'gcc':
        'https://ftp.gnu.org/gnu/gcc/gcc-%(version)s/gcc-%(version)s.tar.bz2',
                            'gmp':
        'https://ftp.gnu.org/gnu/gmp/gmp-%(version)s.tar.xz',
        -                   'linux':
                            
'https://www.kernel.org/pub/linux/kernel/v4.x/linux-%(version)s.tar.xz',
        +                   'linux':
        'https://git.kernel.org/torvalds/t/linux-%(version)s.tar.gz',
                            'mpc':
        'https://ftp.gnu.org/gnu/mpc/mpc-%(version)s.tar.gz',
                            'mpfr':
        'https://ftp.gnu.org/gnu/mpfr/mpfr-%(version)s.tar.xz'}
                 if component not in url_map:
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * scripts/build-many-glibcs.py (Context): Add RISC-V targets.
            (Config): Likewise.

commit c5061557092769e2440e1f7a41552db1de1fc486
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:30:24 2018 -0800

    RISC-V: Build Infastructure
    
    This patch lays out the top-level orginazition of the RISC-V port.  It
    contains all the Implies files as well as various other fragments of
    build infastructure for the RISC-V port.  This contains the only change
    to a shared file: config.h.in.
    
    RISC-V is a family of base ISAs with optional extensions.  The base ISAs
    are RV32I and RV64I, which are 32-bit and 64-bit integer-only ISAs, but
    this port currently only supports RV64I based systems.  Support for
    RISC-V lives in in sysdeps/riscv.  In addition to these ISAs, our glibc
    port supports most of the currently-defined extensions: the A extension
    for atomics, the M extension for multiplication, the C extension for
    compressed instructions, and the F/D extensions for single/double
    precision IEEE floating-point.  Most of these extensions are handled by
    GCC, but glibc defines various floating-point wrappers and emulation
    routines as well as some atomic wrappers.
    
    We support running glibc-based programs on Linux, the support for which
    lives in sysdeps/unix/sysv/linux/riscv.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/Implies: New file.
            * sysdeps/riscv/Makefile: Likewise.
            * sysdeps/riscv/configure: Likewise.
            * sysdeps/riscv/configure.ac: Likewise.
            * sysdeps/riscv/nptl/Makefile: Likewise.
            * sysdeps/riscv/preconfigure: Likewise.
            * sysdeps/riscv/rv64/Implies-after: Likewise.
            * sysdeps/riscv/rv64/rvd/Implies: Likewise.
            * sysdeps/riscv/rv64/rvf/Implies: Likewise.
            * sysdeps/unix/sysv/linux/riscv/Implies: Likewise.
            * sysdeps/unix/sysv/linux/riscv/Makefile: Likewise.
            * sysdeps/unix/sysv/linux/riscv/Versions: Likewise.
            * sysdeps/unix/sysv/linux/riscv/configure: Likewise.
            * sysdeps/unix/sysv/linux/riscv/configure.ac: Likewise.
            * sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/Implies: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Likewise.
            * sysdeps/unix/sysv/linux/riscv/shlib-versions: Likewise.

commit 2268c4337ce97283c0b507ef1bfd8934edbe9b96
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:29:57 2018 -0800

    RISC-V: Add ABI Lists
    
    I started with the aarch64 ABI lists and manually went through each
    difference, ensuring that the missing entries had been deprecated along
    the line.  Darius generated the ulps files by running the test cases on 
QEMU.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/nofpu/libm-test-ulps: New file.
            * sysdeps/riscv/nofpu/libm-test-ulps-name: Likewise.
            * sysdeps/riscv/rv64/rvd/libm-test-ulps: Likewise.
            * sysdeps/riscv/rv64/rvd/libm-test-ulps-name: Likewise.
            * sysdeps/unix/sysv/linux/riscv/localplt.data: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/c++-types.data: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libnsl.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist: Likewise.
            * sysdeps/unix/sysv/linux/riscv/rv64/libutil.abilist: Likewise.

commit ee53fed9d8aee94d5980a36aab28889d93a4c49d
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:29:13 2018 -0800

    RISC-V: Linux Startup and Dynamic Loading Code
    
    This contains the Linux-specific code for loading programs on RISC-V.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/unix/sysv/linux/riscv/dl-static.c: New file.
            * sysdeps/unix/sysv/linux/riscv/ldconfig.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/ldsodefs.h: Likewise.

commit 7f33b09c65e3fdb6b6a1af8816918bcce977b38a
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:28:32 2018 -0800

    RISC-V: Linux ABI
    
    Linux-specific code that is required for maintaining ABI compatibility.
    This doesn't contain the actual system call interface, that is split out
    in order to avoid having a patch that's too big.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/nptl/pthread-offsets.h: New file.
            * sysdeps/riscv/nptl/pthreaddef.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/bits/fcntl.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/bits/sigcontext.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/dl-cache.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/flush-icache.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/getcontext.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/init-first.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/makecontext.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/readelflib.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/register-dump.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/setcontext.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/swapcontext.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sys/cachectl.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sys/user.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/ucontext-macros.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/ucontext_i.sym: Likewise.

commit 36960f0c763a904d6d1f028e2c33b7bbe43c2a3a
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:27:52 2018 -0800

    RISC-V: Linux Syscall Interface
    
    Contains the Linux system call interface, as well as the definitions of
    a handful of system calls.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/nptl/nptl-sysdep.S: New file.
            * sysdeps/unix/sysv/linux/riscv/arch-fork.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/clone.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/profil-counter.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/pt-vfork.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/syscall.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sysdep.S: Likewise.
            * sysdeps/unix/sysv/linux/riscv/sysdep.h: Likewise.
            * sysdeps/unix/sysv/linux/riscv/vfork.S: Likewise.

commit d1c09b247130c1aedd11b913f579c7764b1b5ae1
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:27:17 2018 -0800

    RISC-V: Atomic and Locking Routines
    
    This patch implements various atomic and locking routines on RISC-V.  We
    mandate the A extension on Linux-capable RISC-V systems, so this can
    rely on always having the various atomic instructions availiable.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/nptl/bits/pthreadtypes-arch.h: New file.
            * sysdeps/riscv/nptl/bits/semaphore.h: Likewise.
            * sysdeps/riscv/nptl/libc-lowlevellock.c: Likewise.
            * sysdeps/unix/sysv/linux/riscv/atomic-machine.h: Likewise.

commit b2cb5e0298e08b486190610a9e82356ccb6f564b
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 09:27:10 2018 -0800

    RISC-V: Hard Float Support
    
    This patch contains hardware floating-point support for the RISC-V ISA.
    While we currently only support hard-float systems with both the F and D
    extensions, I've left the F-specific code split out into seperate
    folders in order to ease adding support for F-only and RV32I-based
    systems in the future.  I gave this a quick once-over and believe I've
    removed all the code that implements RV32IF, RV32IFD, and RV64IF
    targets.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/rv64/rvd/s_ceil.c: New file.
            * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_llrint.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_llround.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_lrint.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_lround.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_nearbyint.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_round.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_roundeven.c: Likewise.
            * sysdeps/riscv/rv64/rvd/s_trunc.c: Likewise.
            * sysdeps/riscv/rv64/rvf/s_llrintf.c: Likewise.
            * sysdeps/riscv/rv64/rvf/s_llroundf.c: Likewise.
            * sysdeps/riscv/rv64/rvf/s_lrintf.c: Likewise.
            * sysdeps/riscv/rv64/rvf/s_lroundf.c: Likewise.
            * sysdeps/riscv/rvd/e_sqrt.c: Likewise.
            * sysdeps/riscv/rvd/s_copysign.c: Likewise.
            * sysdeps/riscv/rvd/s_finite.c: Likewise.
            * sysdeps/riscv/rvd/s_fma.c: Likewise.
            * sysdeps/riscv/rvd/s_fmax.c: Likewise.
            * sysdeps/riscv/rvd/s_fmin.c: Likewise.
            * sysdeps/riscv/rvd/s_fpclassify.c: Likewise.
            * sysdeps/riscv/rvd/s_isinf.c: Likewise.
            * sysdeps/riscv/rvd/s_isnan.c: Likewise.
            * sysdeps/riscv/rvd/s_issignaling.c: Likewise.
            * sysdeps/riscv/rvf/e_sqrtf.c: Likewise.
            * sysdeps/riscv/rvf/fclrexcpt.c: Likewise.
            * sysdeps/riscv/rvf/fegetenv.c: Likewise.
            * sysdeps/riscv/rvf/fegetmode.c: Likewise.
            * sysdeps/riscv/rvf/fegetround.c: Likewise.
            * sysdeps/riscv/rvf/feholdexcpt.c: Likewise.
            * sysdeps/riscv/rvf/fesetenv.c: Likewise.
            * sysdeps/riscv/rvf/fesetexcept.c: Likewise.
            * sysdeps/riscv/rvf/fesetmode.c: Likewise.
            * sysdeps/riscv/rvf/fesetround.c: Likewise.
            * sysdeps/riscv/rvf/feupdateenv.c: Likewise.
            * sysdeps/riscv/rvf/fgetexcptflg.c: Likewise.
            * sysdeps/riscv/rvf/fraiseexcpt.c: Likewise.
            * sysdeps/riscv/rvf/fsetexcptflg.c: Likewise.
            * sysdeps/riscv/rvf/ftestexcept.c: Likewise.
            * sysdeps/riscv/rvf/get-rounding-mode.h: Likewise.
            * sysdeps/riscv/rvf/math_private.h: Likewise.
            * sysdeps/riscv/rvf/s_ceilf.c: Likewise.
            * sysdeps/riscv/rvf/s_copysignf.c: Likewise.
            * sysdeps/riscv/rvf/s_finitef.c: Likewise.
            * sysdeps/riscv/rvf/s_floorf.c: Likewise.
            * sysdeps/riscv/rvf/s_fmaf.c: Likewise.
            * sysdeps/riscv/rvf/s_fmaxf.c: Likewise.
            * sysdeps/riscv/rvf/s_fminf.c: Likewise.
            * sysdeps/riscv/rvf/s_fpclassifyf.c: Likewise.
            * sysdeps/riscv/rvf/s_isinff.c: Likewise.
            * sysdeps/riscv/rvf/s_isnanf.c: Likewise.
            * sysdeps/riscv/rvf/s_issignalingf.c: Likewise.
            * sysdeps/riscv/rvf/s_nearbyintf.c: Likewise.
            * sysdeps/riscv/rvf/s_rintf.c: Likewise.
            * sysdeps/riscv/rvf/s_roundevenf.c: Likewise.
            * sysdeps/riscv/rvf/s_roundf.c: Likewise.
            * sysdeps/riscv/rvf/s_truncf.c: Likewise.

commit 67236aeb6e27bb6c975727f119e4b4f89e416706
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:26:35 2018 -0800

    RISC-V: Generic <math.h> and soft-fp Routines
    
    This patch contains the miscellaneous math routines and headers we have
    implemented for RISC-V.  This includes things from <math.h> that aren't
    completely ISA-generic, floating-point bit manipulation, and soft-fp
    hooks.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/bits/fenv.h: New file.
            * sysdeps/riscv/e_sqrtl.c: Likewise.
            * sysdeps/riscv/fpu_control.h: Likewise.
            * sysdeps/riscv/math-tests.h: Likewise.
            * sysdeps/riscv/nofpu/Implies: Likewise.
            * sysdeps/riscv/sfp-machine.h: Likewise.
            * sysdeps/riscv/tininess.h: Likewise.

commit 337126607ffdaf15cbc9ccf3a96e52d71333f191
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:25:58 2018 -0800

    RISC-V: Thread-Local Storage Support
    
    This patch implements TLS support for RISC-V.  We support all four
    standard TLS addressing modes (LE, IE, LD, and GD) when running on
    Linux via NPTL.  There is a draft psABI document that defines our TLS
    ABI here
    
      
https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md#thread-local-storage
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/dl-tls.h: New file.
            * sysdeps/riscv/libc-tls.c: Likewise.
            * sysdeps/riscv/nptl/tcb-offsets.sym: Likewise.
            * sysdeps/riscv/nptl/tls.h: Likewise.
            * sysdeps/riscv/stackinfo.h: Likewise.

commit c776fa113da1f0d0cf83418e8937c0a8a4d83d3e
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:51:24 2017 -0800

    RISC-V: ABI Implementation
    
    This patch contains code that needs to directly know about the RISC-V
    ABI, which is specified in a work-in-progress psABI document:
    
      https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
    
    This is meant to contain all the RISC-V code that needs to explicitly
    name registers or manage in-memory structure layout.  This does not
    contain any of the Linux-specific code.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/riscv/__longjmp.S: New file.
            * sysdeps/riscv/backtrace.c: Likewise.
            * sysdeps/riscv/bits/endian.h: Likewise.
            * sysdeps/riscv/bits/setjmp.h: Likewise.
            * sysdeps/riscv/bits/wordsize.h: Likewise.
            * sysdeps/riscv/bsd-_setjmp.c: Likewise.
            * sysdeps/riscv/bsd-setjmp.c: Likewise.
            * sysdeps/riscv/dl-trampoline.S: Likewise.
            * sysdeps/riscv/gccframe.h: Likewise.
            * sysdeps/riscv/jmpbuf-offsets.h: Likewise.
            * sysdeps/riscv/jmpbuf-unwind.h: Likewise.
            * sysdeps/riscv/machine-gmon.h: Likewise.
            * sysdeps/riscv/memusage.h: Likewise.
            * sysdeps/riscv/setjmp.S: Likewise.
            * sysdeps/riscv/sys/asm.h: Likewise.
            * sysdeps/riscv/tls-macros.h: Likewise.

commit ba9e25a62bd662ce8c7ed6c8d1c072110f1ffae5
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 10:25:23 2018 -0800

    Add documentation for __riscv_flush_icache
    
    This function is used by GCC to enforce ordering between data writes and
    instruction fetches, and while we'd prefer that users rely on the GCC
    intrinsic when possible this is user visible in case that's not
    possible.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * manual/platform.texi: Add RISC-V documenation for
            __riscv_flush_icache.

commit 4215e27674de95a564087a3841873f3d980d4764
Author: Palmer Dabbelt <address@hidden>
Date:   Mon Jan 29 08:59:03 2018 -0800

    Add RISC-V entries to config.h.in
    
    These were autogenerated.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * config.h.in: Regenerate.

commit 40ca951bdb804bc42c0e1b06c20a48da98667e03
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:55:44 2017 -0800

    Skeleton documentation for the RISC-V port
    
    During the upstreaming process it was suggested that I add a handful of
    small documentation entries about the RISC-V port, which I've collected
    here.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * manual/math.texi: RISC-V supports _Float128 and _Float64x.

commit 532cf290d023487b141b9369f29cd780ec93ac8b
Author: Palmer Dabbelt <address@hidden>
Date:   Thu Jan 25 10:33:18 2018 -0800

    sysdeps/init_array: Add PREINIT_FUNCTION to crti.S
    
    The RISC-V port contains a crti.S that simply contains a link to
    PREINIT_FUNCTION (when defined).  As this should be entirely generic,
    Joseph Myers suggested that we update the generic init_array version to
    contain this.  Since RISC-V is the only user of init_array this won't
    break any existing ports.
    
    2018-01-29  Palmer Dabbelt  <address@hidden>
    
            * sysdeps/init_array/crti.S (.section .init_array): Add
            PREINIT_FUNCTION when defined.

commit cdd14619a713ab41e26ba700add4880604324dbb
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 29 17:00:14 2018 +0100

    libnsl: Turn remaining symbols into compat symbols [BZ #22701]

commit b7ccb5de359e8dd9918dbedfc1f4d96e06fcd634
Author: Romain Naour <address@hidden>
Date:   Mon Jan 29 16:12:08 2018 +0000

    microblaze: don't use copy_file_range syscall with kernel headers < 4.10
    
    copy_file_range syscall was added for microblaze in 4.10.
    
    This patch makes the MicroBlaze kernel-features.h undefine
    __ASSUME_COPY_FILE_RANGE for toolchains built with kernel headers < 4.10.
    
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        (__ASSUME_COPY_FILE_RANGE) [__LINUX_KERNEL_VERSION < 0x040A00]: Undef.
    
    [1] 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=7181e5590e5ba898804aef3ee6be7f27606e6f8b
    
    Signed-off-by: Romain Naour <address@hidden>

commit e3aa6999d7f59324dfca6131268825bc73ee0375
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 29 13:59:33 2018 +0000

    Make build-many-glibcs.py clean git source directories.
    
    With the git checkouts of Hurd components in build-many-glibcs.py
    involving running autoreconf, there's a risk that generated files
    could be left behind by an old autoreconf run (if an old version of
    the sources generates those files in the source directory but a new
    version does not).
    
    This patch avoids that by using git clean -dxfq when updating git
    checkouts.  In this patch, that's conditional on --replace-sources, to
    avoid removing any local not-checked-in files someone may have in
    their checkout unless the option has been specifically passed that
    says it's OK to blow old checkouts away, complete with any local
    changes to them.
    
        * scripts/build-many-glibcs.py (Context.git_checkout): Use git
        clean -dxfq for git updates when replacing sources.

commit 088de7d0091bdfac4b702ab2060289affc85d6a4
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 29 13:49:21 2018 +0000

    Clean up build-many-glibcs.py libcilkrts disabling.
    
    The disabling of libcilkrts in build-many-glibcs.py has some
    peculiarities.  It's only for the final GCC build, not the initial
    bootstrap one, whereas normally anything disabled for the final build
    should be disabled for the bootstrap one as well.  And it's only for
    Hurd, when it's more natural by analogy with the libsanitizer
    disabling to disable this library unconditionally, not only for
    targets where it's known to break.  This patch cleans up that
    disabling accordingly, adding a comment so it's obvious it can be
    removed once GCC 7 is too old to build glibc.
    
        * scripts/build-many-glibcs.py (Config.build_gcc): Use
        --disable-libcilkrts unconditionally, not just for the final GCC
        build for Hurd.

commit 522623e4aaea1da007b6fe0c7c6e880ba1c971ee
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 29 13:38:21 2018 +0000

    Use Linux 4.15 in build-many-glibcs.py.
    
    This patch makes build-many-glibcs.py use Linux 4.15.  Other glibc
    updates for Linux 4.15 can wait until after the 2.27 release.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
        version to 4.15.

commit 8b406f8776d84d6697bca7d1da7bbfae6cfb8f85
Author: Rafal Luzynski <address@hidden>
Date:   Mon Jan 29 13:00:43 2018 +0100

    lt_LT: Add alternative month names (bug 10871).
    
        [BZ #10871]
        * localedata/locales/lt_LT (alt_mon): Import from CLDR (nominative
        case).

commit 105e90bd830bfd553773729690b1a71f36de345f
Author: Rafal Luzynski <address@hidden>
Date:   Sun Jan 28 01:23:45 2018 +0100

    be_BY, address@hidden: Add alternative month names (bug 10871).
    
    This patch also fixes spelling of lang_name in address@hidden, as reported
    by Ihar Hrachyshka.
    
        [BZ #10871]
        * localedata/locales/be_BY (mon): Rename to...
        (alt_mon): This, then synchronize with CLDR (nominative case).
        (abmon): Rename to...
        (ab_alt_mon): This, then synchronize with CLDR (nominative case).
        (mon): Import from CLDR (genitive case).
        (abmon): Likewise.
        * localedata/locales/address@hidden (mon): Rename to...
        (alt_mon): This.
        (mon): Add, proper genitive forms provided by Viktar Siarheichyk.
    
        * localedata/locales/address@hidden (lang_name): Reworded to
        "biełaruskaja mova".

commit 561cb41473be080c4569c2bceae30b5301d15b89
Author: Rafal Luzynski <address@hidden>
Date:   Sat Jan 27 01:33:38 2018 +0100

    el_CY, el_GR: Add alternative month names (bug 10871).
    
        [BZ #10871]
        * localedata/locales/el_CY (mon): Renamed to...
        (alt_mon): This.
        (mon): Import from CLDR (genitive case).
        * localedata/locales/el_GR: Likewise.

commit f7bdf30d1549f9b9e7d47f5314215eeb7116c47f
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 5 03:04:41 2016 +0100

    ru_RU, ru_UA: Add alternative month names (bug 10871).
    
        [BZ #10871]
        * localedata/locales/ru_RU (mon): Rename to...
        (alt_mon): This.
        (abmon): Rename to...
        (ab_alt_mon): This.
        (mon): Import from CLDR (genitive case).
        (abmon): Copy from the old content except the 5th month which is
        now in the genitive case, even when abbreviated.
        * localedata/locales/ru_UA: Likewise.
        * time/tst-strptime.c (day_tests): Add an actual example of
        a difference between %b and %Ob in Russian.

commit 1f89ac719018bf7cd372c4f73aa067ced5f7ecd4
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 01:48:24 2018 +0100

    hurd: Fix includes
    
        * sysdeps/mach/hurd/net/ethernet.h: Include <stdint.h>.
        * sysdeps/mach/hurd/net/if_arp.h: Include <stdint.h>.
        * sysdeps/mach/hurd/net/if_ppp.h: Do not include non-existing
        <net/ppp_defs.h>.

commit 80463dc69d0018d03740d440bdcaff2a0d054aee
Author: Samuel Thibault <address@hidden>
Date:   Mon Jan 29 00:05:20 2018 +0100

    hurd: Fix _POSIX_VDISABLE value
    
        * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_VDISABLE): Set to '\0'
        instead of invalid -1.

commit 2e52dff41fcf176107a6396cacd03de79390b247
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:38:09 2018 +0100

    hurd: Build stubs for new gnumach.defs
    
    * mach/Makefile (user-interfaces): Add mach/gnumach.
    * sysdeps/mach/configure.ac (mach_interface_list): Add gnumach.
    * sysdeps/mach/configure (mach_interface_list): Regenerate.

commit 625ba81ef5ed7b65269f88c5d85d4d9c0380c685
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:36:29 2018 +0100

    hurd: Include <sigsetops.h> from hurd/hurd/signal.h
    
    * hurd/hurd/signal.h [__USE_EXTERN_INLINES][_LIBC][IS_IN(libc) ||
    IS_IN(libpthread)]: Include <sigsetops.h>.

commit a902a0866abf4709852fa62302aab6d34a0b5240
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:33:37 2018 +0100

    hurd: Fix allocalim build
    
    * sysdeps/pthread/allocalim.h [!defined PTHREAD_STACK_MIN]: Do not
    check size against PTHREAD_STACK_MIN.

commit e925416840b02ddbcf275f27981f4458221e1ad9
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:27:19 2018 +0100

    hurd: fix typo

commit b10253044b49a0b6464b4837afc02755295c4a5c
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:13:55 2018 +0100

    hurd: Fix posix options
    
    _POSIX_CHOWN_RESTRICTED and _POSIX_NO_TRUNC should be always defined.
    
        * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_CHOWN_RESTRICTED,
        _POSIX_NO_TRUNC): Define to 0.

commit d23965cf888f38b5ae4b27f1c8f9cba6674e1780
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:13:20 2018 +0100

    Revert "hurd: Fix building io/tst-fchownat.c"
    
    This reverts commit fc221145a734d128d8f56f40d40fd4bb70a1d151.

commit 7c5b106dcbb10cf383ade30de14260f23a6ecfba
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 19:06:15 2018 +0100

    hurd: Fix getifaddrs / freeifaddrs exposition
    
    400669754de4 ('hurd: Fix nscd build') had the side effect of making
    libc's freeaddrinfo expose freeifaddrs through __check_pf.  We can just
    move the renames to gai.c itself, along others.
    
    * sysdeps/mach/hurd/check_pf.c (__getifaddrs, __freeifaddrs): Do not
    define macros.
    * nscd/gai.c (__getifaddrs): Define macro to getifaddrs.
    (__freeifaddrs): Define macro to freeifaddrs.

commit 28f6186f3e065ee9d46476e8e9f06135482ae17b
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 18:43:10 2018 +0100

    hurd: take __USE_EXTERN_INLINES into account and restrict inlines
    
    * hurd/hurd.h (__hurd_fail): Always declare function, and provide inline
    version only if __USE_EXTERN_INLINES is defined.
    * hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail,
    __hurd_sockfail): Likewise.
    (_hurd_fd_get): Always declare functions, and provide inline versions
    only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc).
    * hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get,
    _hurd_port_get, _hurd_port_free, _hurd_port_locked_set,
    _hurd_port_set): Always declare functions, and provide inline versions
    only if __USE_EXTERN_INLINES and _LIBC are defined and
    IS_IN(libc).
    * hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock,
    _hurd_critical_section_unlock): Likewise.
    * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp,
    * __hurd_threadvar_location): Likewise.
    * hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink,
    _hurd_userlink_clear): Likewise.
    * mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock,
    __mutex_unlock, __mutex_trylock): Always declare functions, and provide
    inline versions only if __USE_EXTERN_INLINES and _LIBC are defined.
    * mach/mach/mig_support.h (__mig_strncpy): Likewise.
    * sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock,
    __spin_lock_locked): Likewise.
    * sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock,
    __spin_lock_locked): Likewise.
    * mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1.
    * hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal,
    _hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set,
    __hurd_threadvar_location_from_sp, __hurd_threadvar_location,
    _hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear.

commit 3fc1ecf93549acd5bea1e84d93862ee556b3a5a8
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 17:56:49 2018 +0100

    hurd: Fix building io/tst-copy_file_range.c
    
        * io/tst-copy_file_range.c [!defined CLONE_NEWNS]: Do not include
        <sys/mount.h>.

commit fc221145a734d128d8f56f40d40fd4bb70a1d151
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 17:52:34 2018 +0100

    hurd: Fix building io/tst-fchownat.c
    
        * io/tst-fchownat.c [!defined _POSIX_CHOWN_RESTRICTED]: Act like when
        _POSIX_CHOWN_RESTRICTED is defined to 0.

commit cef7166ac10cff95e8e8ab76e32376faf34800e5
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 17:45:41 2018 +0100

    hurd: Fix building libio/tst-memstream3.c
    
    FWRITE is already an fcntl.h macro.
    
        * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE.
        (do_test_bz20181): Rename accordingly.
        * libio/tst-wmemstream3.c (FWRITE): Rename accordingly.

commit 5f982b0beb0f337ba3dfdae85462192d06b5af89
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 17:26:35 2018 +0100

    hurd: add base abilist files
    
        * sysdeps/mach/hurd/libhurduser.abilist: New file.
        * sysdeps/mach/libmachuser.abilist: New file.

commit 84814e2a40fc220afcc111a91bd16b6f8f57786a
Author: Thomas Schwinge <address@hidden>
Date:   Sun Jan 28 16:53:32 2018 +0100

    hurd: Add missing fcntl-internal.h
    
        * hurd/fcntl-internal.h: New file.

commit 400669754de4c88d9c04c4db8834e33e6ebd6ba6
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 16:28:48 2018 +0100

    hurd: Fix nscd build
    
    nscd won't find check_* from inet/, it needs a sysdeps file.
    
        * sysdeps/mach/hurd/check_native.c: New file.
        * sysdeps/mach/hurd/check_pf.c: New file.

commit f8bee46cc209ee968c1a34a4b46be91ce691dfc6
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 16:23:59 2018 +0100

    hurd: Fix warnings
    
        * hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
        __hurd_file_name_split, hurd_file_name_split,
        __hurd_directory_name_split, hurd_directory_name_split,
        __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry,
        hurd_file_name_path_lookup): Make lookup function parameter take a
        const char *name instead of char *name.
        * hurd/hurdlookup.c (__hurd_file_name_lookup, __hurd_file_name_split,
        __hurd_directory_name_split): Likewise.
        * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise.
        * hurd/path-lookup.c (hurd_file_name_path_lookup): Likewise.

commit 844bf92148eee21805b9248264b6c2c557529cc5
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 16:21:28 2018 +0100

    hurd: Fix warning
    
        * sysdeps/mach/hurd/spawni.c (__spawni): Make relpath and abspath
        const char * instead of char *.

commit 19fd8d0d3ebcf84e0e380902e0e2fe720d377f0f
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 28 15:48:04 2018 +0100

    hurd: Make build-many-glibcs.py use mainline gnumach
    
    Some warnings need a couple of fixes in the gnumach headers.
    
            * scripts/build-many-glibcs.py (checkout_vcs): Add gnumach
            repository URLs, run autoreconf, and make it the default for now.

commit 660b7bff81676aef6a7b068eb137efd74b30c628
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 23:49:18 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/getresgid.c (__getresgid): Set result from
        critical section to make code simpler and avoid warning.
        * sysdeps/mach/hurd/getresuid.c (__getresuid): Set result from
        critical section to make code simpler and avoid warning.

commit 41cdb1eb5a3627c3b6b6c4f74503233d9689a397
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 22:09:30 2018 +0100

    hurd: Fix enabling vm_copy
    
    Benchmarked on
    http://lists.gnu.org/archive/html/bug-hurd/2014-12/msg00081.html
    
        * sysdeps/mach/pagecopy.h (PAGE_THRESHOLD): Rename to
        PAGE_COPY_THRESHOLD and set to benchmarked 16384.

commit f817775364018856379b9475efd7b4345db66dc6
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 22:01:34 2018 +0100

    hurd: fix warning
    
    Making `special_profil_failure' both avoids warning "variable
    'special_profil_failure' set but not used", and makes it easier to
    access with gdb.
    
        * sysdeps/mach/hurd/profil.c (special_profil_failure): Move variable
        to global scope.

commit 06fac9f50335a5669672c4ac9ca93e5f43288822
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 22:00:23 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/dl-sysdep.c (_exit): Call LOSE and abort() if
        __task_terminate would ever return successfully.

commit f4d3cee3a00211b346620f88abc5cb81c318cabe
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 21:44:57 2018 +0100

    hurd: make build-many-glibcs.py use mainline mig
    
    Some warnings come from code generated by mig, so we need a very recent
    version for now.
    
            * scripts/build-many-glibcs.py (checkout_vcs): Add mig repository
            URL, and run autoreconf, make it the default for now.

commit 7dab2d00ee6098e6a771a3a566c71a614ef18bb2
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 21:40:08 2018 +0100

    hurd: drop elder MACH_IPC_COMPAT handling
    
    This was dropped from GNU Mach in 2006.
    
        * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0.
        * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
        * sysdeps/mach/hurd/fork.c (__fork): Drop special casing
        MACH_IPC_COMPAT.

commit 903d3633ec9e9ffe699611351200bebaf2152bd8
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 21:37:29 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add
        -DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c.

commit d4d5b2ddf348bd1e310a5d73da58bae9ec09a41e
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 19:53:44 2018 +0100

    hurd: fix gcc build in build-many-glibcs.py
    
    gcc's libcilkrts has never actually supported GNU/Hurd, and doesn't
    automatically disable it, and the support was actually removed in gcc trunk,
    so that will never actually be fixed there.
    
        * scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass
        --disable-libcilkrts to gcc configure.

commit 61a3a8c6ce4e6d42c900ce83cc69256e0b0589a3
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 17:17:49 2018 +0100

    hurd: fix warning
    
    timer_ptr2id and timer_id2ptr are used to convert between
    application-visible timer_t and struct timer_node *. timer_ptr2id was made
    to use void * instead of timer_t in 49b650430eb5 ('Update.') for no reason.
    It happens that on Linux timer_t is void *, so both that change and this
    commit are no-ops there, but not on systems where timer_t is not void *.
    
    Using timer_ptr2id for filling sival_ptr also does not make sense since that
    actually is a void *.
    
        * sysdeps/pthread/posix-timer.h (timer_ptr2id): Cast to timer_t
        instead of void *.
        * sysdeps/pthread/timer_create.c (timer_create): Do not use
        timer_ptr2id to cast struct timer_node * to void *.

commit 05ebfe87fa9464f0e414329accd82f20d6ec9946
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:49:05 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Cast
        vm_address_t * to ElfW(Addr) * for dl_main parameter.

commit 147d1dbb9d87ef73175e91d34d66d6bb4189a11e
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:47:36 2018 +0100

    hurd: fix warnings
    
        * sysdeps/generic/sigsetops.h (__sigemptyset, __sigfillset,
        __sigandset, __sigorset, __sigaddset, __sigdelset): Make them really
        return 0.

commit 4f66dc23900265f6cab8772de2134cb6bebe1945
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:45:55 2018 +0100

    hurd: fix warning
    
        * sysdeps/generic/sigset-cvt-mask.h: Include <sigsetops.h>.

commit b29848b99b2b9913e2c0d8760a224cdb98876d4b
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:45:10 2018 +0100

    hurd: fix warnings
    
        * sysdeps/generic/not-cancel.h: Include <fcntl.h>, <unistd.h>,
        <sys/wait.h>, <time.h>, <sys/uio.h>.
        (NOT_CANCEL_H): Add inclusion guard.

commit 3538a4b6c3f7831f57462bef6b6146638a11b97c
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:42:58 2018 +0100

    hurd: fix warning
    
        * resolv/res-close.c: Include <stdlib.h>.

commit da8168df01e0b47eb369e5871be8c224690d1cfe
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:33:13 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/profil.c: Reuse `a' variable instead of introducing
        a `c' variable.

commit 85285a0ce77de8c3f87a9aefe5263b7067caa9d1
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 27 16:32:16 2018 +0100

    hurd: fix warning
    
        * sysdeps/mach/hurd/xmknodat.c: Include <sys/sysmacros.h>.

commit 7e23a7ddf8b8a7a3a397c4d2bd80487c7eaec840
Author: James Clarke <address@hidden>
Date:   Sat Jan 27 01:52:54 2018 +0000

    Update hppa libm-test-ulps
    
        * sysdeps/hppa/fpu/libm-test-ulps: Update.
    
    Signed-off-by: James Clarke <address@hidden>

commit 3854c5a847bdd9faccc3a0b452faff3743aed314
Author: James Clarke <address@hidden>
Date:   Sat Jan 27 01:17:45 2018 +0000

    Update Alpha libm-test-ulps
    
        * sysdeps/alpha/fpu/libm-test-ulps: Update.
    
    Signed-off-by: James Clarke <address@hidden>

commit 7817b14ab838745f9b42c4dc04a2c53498c143a2
Author: Rafal Luzynski <address@hidden>
Date:   Sat Jan 27 02:03:34 2018 +0100

    Add ChangeLog entry for "pl_PL: Add alternative month names".

commit 5503f413bf4221d26f83333bb42d7b2cd056236c
Author: Andreas Schwab <address@hidden>
Date:   Fri Jan 26 19:01:03 2018 +0100

    Build only shared libnsl objects if NIS is disabled (bug 22701)

commit caaf7804e26c1a4f28a1bf7cfe1075d06bce1255
Author: Carlos O'Donell <address@hidden>
Date:   Fri Jan 26 09:49:54 2018 -0800

    README: hppa no longer requires patches.

commit 1cbf818d25f8683433e687d2b09235eb66ba41ed
Author: Patrick McGehearty <address@hidden>
Date:   Fri Jan 26 08:23:01 2018 -0800

    Update sparc ULPs.
    
            * sysdeps/sparc/fpu/libm-test-ulps: Update
            cpow, ctan, ctanh, j0, j1, y0, yn ulps.

commit 2ec0e7eade0ea1258acd5c6f5e5e9bfaeb5041a8
Author: Carlos O'Donell <address@hidden>
Date:   Wed Jan 24 20:35:22 2018 -0800

    Revert Intel CET changes to __jmp_buf_tag (Bug 22743)
    
    In commit cba595c350e52194e10c0006732e1991e3d0803b and commit
    f81ddabffd76ac9dd600b02adbf3e1dac4bb10ec, ABI compatibility with
    applications was broken by increasing the size of the on-stack
    allocated __pthread_unwind_buf_t beyond the oringal size.
    Applications only have the origianl space available for
    __pthread_unwind_register, and __pthread_unwind_next to use,
    any increase in the size of __pthread_unwind_buf_t causes these
    functions to write beyond the original structure into other
    on-stack variables leading to segmentation faults in common
    applications like vlc. The only workaround is to version those
    functions which operate on the old sized objects, but this must
    happen in glibc 2.28.
    
    Thank you to Andrew Senkevich, H.J. Lu, and Aurelien Jarno, for
    submitting reports and tracking the issue down.
    
    The commit reverts the above mentioned commits and testing on
    x86_64 shows that the ABI compatibility is restored. A tst-cleanup1
    regression test linked with an older glibc now passes when run
    with the newly built glibc. Previously a tst-cleanup1 linked with
    an older glibc would segfault when run with an affected glibc build.
    
    Tested on x86_64 with no regressions.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 47c4b4b060db0290022dcc37cab7b5ff4bdb5c32
Author: Samuel Thibault <address@hidden>
Date:   Fri Jan 26 02:35:10 2018 +0100

    hurd build-many-glibcs.py: use hurd mainline for now
    
        * scripts/build-many-glibcs.py (checkout_vcs): Make hurd
        mainline the default for now.

commit 65f6c94e682e3c21bde4c3aea74011c00d41ac04
Author: Rafal Luzynski <address@hidden>
Date:   Fri Jan 26 00:21:16 2018 +0100

    Add ChangeLog entry for "uk_UA: Add alternative month names".

commit fb58aac5fe5d6198b84ce43e7c53b2830b1b332c
Author: Palmer Dabbelt <address@hidden>
Date:   Sat Jan 13 01:59:12 2018 -0800

    Add support for the RISC-V-specific ELF flags
    
    The RISC-V port defines ELF flags that enforce compatibility between
    various objects.  This adds the shared support necessary for these
    flags.
    
    2018-01-25  Palmer Dabbelt  <address@hidden>
    
            * elf/cache.c (print_entry): Add FLAG_RISCV_FLOAT_ABI_SOFT and
            FLAG_RISCV_FLOAT_ABI_DOUBLE.
            * elf/elf.h (EF_RISCV_RVC): New define.
            (EF_RISCV_FLOAT_ABI): Likewise.
            (EF_RISCV_FLOAT_ABI_SOFT): Likewise.
            (EF_RISCV_FLOAT_ABI_SINGLE): Likewise.
            (EF_RISCV_FLOAT_ABI_DOUBLE): Likewise.
            (EF_RISCV_FLOAT_ABI_QUAD): Likewise.
            * sysdeps/generic/ldconfig.h (FLAG_RISCV_FLOAT_ABI_SOFT): New
            define.
            (FLAG_RISCV_FLOAT_ABI_DOUBLE): Likewise.

commit 128c43a2d6308668032b285ca08228bebf26e74e
Author: Andreas Schwab <address@hidden>
Date:   Thu Jan 25 10:41:27 2018 +0100

    LIBC_SLIBDIR_RTLDDIR: substitute arguments in single quotes
    
    The arguments of the LIBC_SLIBDIR_RTLDDIR macro are used both in unquoted
    and single quoted context, so that neither shell nor makefile variable
    references work.  Consistently put them in single quotes so that they can
    refer to makefile variables.

commit 86530b9fed4466a7c05e20ec4d5fd89b4dc41fa6
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 5 03:06:25 2016 +0100

    uk_UA: Add alternative month names (bug 10871).
    
    Primary month names are in a genitive case now, alternative month names
    are in a nominative case.
    
    The alternative digits hack is no longer needed and has been removed.
    
        [BZ #10871]
        * localedata/locales/uk_UA (mon): Renamed to...
        (alt_mon): This.
        (alt_digits): "0" removed and then renamed to...
        (mon): This.
        (date_fmt): Definition changed not to use the alternative
        digits hack.

commit 481306902f989d8eed0434eea3dcbebf6e609a95
Author: Samuel Thibault <address@hidden>
Date:   Thu Jan 25 03:14:22 2018 +0100

    build-many-glibcs.py: Fix hurd-vcs checkout
    
        * scripts/build-many-glibcs.py (checkout_vcs): Run autoconf.

commit f901500381b74cd734660f1d4f703766e199bc12
Author: Samuel Thibault <address@hidden>
Date:   Thu Jan 25 03:01:59 2018 +0100

    build-many-glibcs.py: Add hurd vcs support
    
    * scripts/build-many-glibcs.py (checkout_vcs): Add hurd repository URL.

commit 3005b70510f741082c97ae5d82e7c5946c139853
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 23:48:52 2018 +0000

    Add soft-float ColdFire to build-many-glibcs.py.
    
    Since it turns out soft-float ColdFire has a different glibc ABI to
    hard-float ColdFire, as well as various differences in which glibc
    code gets built, this patch adds such a configuration to
    build-many-glibcs.py to (hopefully) complete the set of ABIs being
    tested.  (Note that the build for soft-float ColdFire is currently
    broken even with GCC mainline - I have a glibc patch to fix this, but
    it needs before-and-after build-many-glibcs.py comparison of stripped
    binaries for all configurations before being committed.)
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Add
        soft-float ColdFire configuration.

commit 69231fabdd9460ba95adaa095d6c6848f16bdfab
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 23:43:33 2018 +0000

    Add localplt.data for ColdFire.
    
    The sole failure for ColdFire in the compilation part of the glibc
    testsuite is the localplt test.  This patch adds a localplt baseline
    for ColdFire to eliminate that failure.  The difference from the
    existing m68k baseline is that no PLT entry for _Unwind_Find_FDE is
    expected, because ColdFire does not set
    libc_cv_gcc_unwind_find_fde=yes.
    
    Tested with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/m68k/localplt.data: Move to ....
        * sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data: ... here.
        * sysdeps/unix/sysv/linux/m68k/coldfire/localplt.data: New file.

commit d4c7e1d0fdd1b1ff97606f2368b6cdeb7c915734
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 23:33:03 2018 +0000

    Add no-FPU ColdFire math_private.h.
    
    As with some other soft-float configurations, no-FPU ColdFire needs
    various fenv.h functions and glibc-internal macros overridden in
    math_private.h to avoid references to undefined FE_* macros when
    building glibc.  This patch adds a suitable math_private.h, based on
    the MicroBlaze one (Nios II and Tile also have similar files).
    
    There's a case for having such a file in sysdeps/ieee754/soft-fp so
    this logic is applied more generally to configurations without
    exceptions and rounding modes, even when the relevant macros are
    defined in fenv.h - the only case where that might be inappropriate is
    ARM soft-float (where the fenv.h functions might or might not work at
    runtime, depending on whether the processor used at runtime supports
    VFP).  There's also a case that soft-float configurations (on
    processors with both hard-float and soft-float) should more
    consistently avoid defining FE_* macros in bits/fenv.h when not
    actually supported.  But both of those are separate potential
    cleanups.
    
    This allows the no-FPU ColdFire build to get further (another fix is
    needed to allow the build to complete).
    
        * sysdeps/m68k/coldfire/nofpu/math_private.h: New file.  Based on
        MicroBlaze file.

commit 0cfe5be58faa2a9a67b1de734f356562c2f26eb6
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 23:22:28 2018 +0000

    Add jmp_buf-macros.h for no-FPU ColdFire.
    
    Continuing the fixes for ColdFire glibc build with
    build-many-glibcs.py, given a GCC patch for the libgcc build failure,
    this patch adds jmp_buf-macros.h for no-FPU ColdFire.  This allows the
    no-FPU build to progress further than without the patch (although
    other fixes are still needed for the build to complete).
    
        * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: Move to
        ....
        * sysdeps/unix/sysv/linux/m68k/coldfire/fpu/jmp_buf-macros.h:
        ... here.
        * sysdeps/unix/sysv/linux/m68k/coldfire/nofpu/jmp_buf-macros.h:
        New file.

commit 91b2cffa9fd5956b8d949e06196ab4c37a8a7f9a
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 22:26:24 2018 +0000

    Add jmp_buf-macros.h for ColdFire.
    
    This patch adds a jmp_buf-macros.h for ColdFire.  In conjunction with
    a GCC patch to fix the libgcc build failure for ColdFire
    <https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02064.html> this
    suffices to restore the build (tested with build-many-glibcs.py).  A
    further patch will be needed for soft-float ColdFire (while the
    function-calling ABI is the same for hard-float and soft-float
    ColdFire, it turns out the glibc ABI is not - so another ColdFire
    variant will be needed in build-many-glibcs.py), but I'll deal with
    that separately.
    
    Tested with build-many-glibcs.py (m68k-linux-gnu and
    m68k-linux-gnu-coldfire).  (There's a localplt test failure for
    coldfire; that's the only failure in the compilation part of the
    testsuite.)
    
        * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Move to ....
        * sysdeps/unix/sysv/linux/m68k/m680x0/jmp_buf-macros.h: ... here.
        * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: New
        file.

commit c739e191d0697e29110d4eb446e537ff336324c6
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Jan 22 11:13:31 2018 +0000

    aarch64: Revert the change of the __reserved member of mcontext_t
    
    The uc_mcontext.__reserved member of ucontext_t is a user visible API,
    that should not be changed, because this is the only way to access cpu
    states of various extensions of linux asm/sigcontext.h, it does not
    violate namespace rules either, so revert this part of the commit
    
    commit 4fa9b3bfe6759c82beb4b043a54a3598ca467289
    Commit:     Joseph Myers <address@hidden>
    
        Fix mcontext_t sigcontext namespace (bug 21457).
    
    (In principle the user can type cast &uc_mcontext to struct sigcontext*
    to use the linux sigcontext fields, but that's not the existing practice
    since mcontext_t used to be a typedef of struct sigcontext.)
    
        [BZ #22742]
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__glibc_reserved1):
        Rename to __reserved and add comment.
        * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (__glibc_reserved1):
        Rename to __reserved.

commit 394b5bac88ef678dcacadbc1f6b393a55308f616
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 24 01:18:54 2018 +0000

    Add build-many-glibcs.py support for Hurd.
    
    This patch adds build-many-glibcs.py support for GNU Hurd.  Builds of
    the i686-gnu configuration will fail until sufficient support is
    merged to master, so completing build-many-glibcs.py coverage of all
    glibc ABIs and making results accurately reflect the broken state of
    builds for Hurd.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Add
        i686-gnu configurations.
        (Context.run_builds): Include mig, gnumach and hurd in components
        considered.
        (Context.checkout): Add mig, gnumach and hurd to components.
        (Context.checkout_tar): Add URL mappings for mig, gnumach and
        hurd.
        (Context.bot_cycle): Check for changes to mig, gnumach and hurd.
        (Config.build): Install gnumach headers, build mig and install
        hurd headers for 'gnu' OS.
        (Config.install_gnumach_headers): New function.
        (Config.install_hurd_headers): Likewise.
        (Glibc.build_glibc): Do not use /usr for 'gnu' OS.  Specifiy MIG
        when building for 'gnu' OS.

commit d4ae782776da65904aba8c34bad6d04bfaca2a68
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 23 22:52:39 2018 +0100

    NEWS: Fix spelling mistake: "%ob" -> "%Ob".

commit bd7bbb26f3f99953779fb849af1cfe22e3782925
Author: Dmitry V. Levin <address@hidden>
Date:   Tue Jan 23 20:31:13 2018 +0000

    NEWS: fix spelling mistake

commit 0a32e21951d6fec4d9dfcb13b0600c016b56905b
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jan 23 12:22:51 2018 -0800

    NEWS: Fix spelling mistake.

commit 4378b735efba4a9de3cc9406a9492a823ff2fbf4
Author: Carlos O'Donell <address@hidden>
Date:   Tue Jan 23 12:20:01 2018 -0800

    NEWS: Document static application consequenes of %OB/%Ob.

commit 28c3f14f2ebd9cfc478e01543fa5da99bbdc507a
Author: Tobias Klauser <address@hidden>
Date:   Tue Jan 23 11:40:44 2018 -0800

    manual: Fix spelling of "Auxiliary."

commit 0f5e2da1608fc1d991f1925392dcdb62c6f6aedd
Author: Rical Jasan <address@hidden>
Date:   Mon Jan 22 19:24:24 2018 -0800

    manual: Touch up documentation for strftime and ALTMON_* constants.
    
    "%OB" is considered a conversion specifier ("B" is the format
    specifier), and the list of format specifiers for months in the
    description of the optional "O" modifier was incomplete.  A
    cross-reference from the ALTMON_* constants to the strftime section
    is also provided.  Lastly, some grammatical fixes (commas) are made
    and paragraphs refactored (rewrapped).
    
        * manual/locale.texi (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4,
        ALTMON_5, ALTMON_6, ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10,
        ALTMON_11, ALTMON_12): Improve documentation.
        * manual/time.texi (strftime): Likewise.

commit 25fb7dd6511f0f6eb3793215dbcb76f65cb80347
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Jan 22 15:54:02 2018 +0000

    Fix the wording in NEWS to use "or later"

commit 21c0696cdef617517de6e25711958c40455c554f
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Jan 22 10:22:24 2018 +0000

    Update NEWS with binutils version requirement for static PIE support

commit 2aa8009d21802f700c4b47cb8e0c7e71fe915ba2
Author: Rafal Luzynski <address@hidden>
Date:   Tue Jan 5 03:03:10 2016 +0100

    pl_PL: Add alternative month names (bug 10871).
    
        [BZ #10871]
        * localedata/locales/pl_PL: Alternative month names added,
        primary month names are genitive now.
        * time/tst-strptime.c (day_tests): Actually use a genitive case
        of a month name in Polish language.

commit 22390764f9ef3b04ae71ad100af6282f677315c2
Author: Rafal Luzynski <address@hidden>
Date:   Tue Sep 19 00:00:22 2017 +0200

    Documentation to the above changes (bug 10871).
    
        [BZ #10871]
        * manual/locale.texi: Document ALTMON_1..12 constants for
        nl_langinfo.  Specify when to use ALTMON instead of MON.
        * manual/time.texi (strftime, strptime): Document GNU extension
        permitting O modifier with %B and %b.  Specify when to use
        %OB instead of %B.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 761a585ce9245d5ad968303b200eef1f26fd501c
Author: Rafal Luzynski <address@hidden>
Date:   Tue Nov 14 02:22:38 2017 +0100

    Abbreviated alternative month names (%Ob) also added (bug 10871).
    
    All the previous changes also repeated to support abbreviated
    alternative month names.  In most languages which have declension and
    need nominative/genitive month names the abbreviated forms for both
    cases are the same.  An example where they do differ is May in Russian:
    this name is too short to be abbreviated so even the abbreviated form
    features the declension suffixes.
    
        [BZ #10871]
        * locale/C-time.c (_nl_C_LC_TIME): Add abbreviated alternative month
        names, define them as the same as abbreviated month names explicitly.
        * locale/categories.def (LC_TIME): Add ab_alt_mon and wide-ab_alt_mon.
        * locale/langinfo.h: (_NL_ABALTMON_1, _NL_ABALTMON_2, _NL_ABALTMON_3,
        _NL_ABALTMON_4, _NL_ABALTMON_5, _NL_ABALTMON_6, _NL_ABALTMON_7,
        _NL_ABALTMON_8, _NL_ABALTMON_9, _NL_ABALTMON_10, _NL_ABALTMON_11,
        _NL_ABALTMON_12, _NL_WABALTMON_1, _NL_WABALTMON_2, _NL_WABALTMON_3,
        _NL_WABALTMON_4, _NL_WABALTMON_5, _NL_WABALTMON_6, _NL_WABALTMON_7,
        _NL_WABALTMON_8, _NL_WABALTMON_9, _NL_WABALTMON_10, _NL_WABALTMON_11,
        _NL_WABALTMON_12): New enum constants.
        * locale/programs/ld-time.c (struct locale_time_t): Add ab_alt_mon,
        wab_alt_mon, and ab_alt_mon_defined members.
        (time_output): Output ab_alt_mon and wab_alt_mon members.
        (time_read): Read them, initialize them as copies of abmon and wabmon
        respectively if they are missing, initialize ab_alt_mon_defined.
        * locale/programs/locfile-kw.gperf (ab_alt_mon): Define.
        * locale/programs/locfile-kw.h: Regenerate.
        * locale/programs/locfile-token.h (tok_ab_alt_mon): New enum constant.
        * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add es_ES.UTF-8
        and ru_RU.UTF-8.
        * time/strftime_l.c (a_altmonth, aam_len): New macros.
        [!COMPILE_WIDE] (ABALTMON_1): New macro.
        (__strftime_internal): Handle %Ob and %Oh formats.
        * time/strptime_l.c [_LIBC] (ab_alt_month_name): New macro.
        (__strptime_internal): Handle %Ob and %Oh formats.
        * time/tst-strptime.c (day_tests): Add more tests to parse different
        forms of month names including the new %Ob format specifier.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 95cb863a1ef7760a11272bbd7ba5fe62dc41be54
Author: Rafal Luzynski <address@hidden>
Date:   Tue Nov 14 02:19:35 2017 +0100

    Implement alternative month names (bug 10871).
    
    Some languages (Slavic, Baltic, etc.) require a genitive case of the
    month name when formatting a full date (with the day number) while
    they require a nominative case when referring to the month standalone.
    This requirement cannot be fulfilled without providing two forms for
    each month name.  From now it is specified that nl_langinfo(MON_1)
    series (up to MON_12) and strftime("%B") generate the month names in
    the grammatical form used when the month is a part of a complete date.
    If the grammatical form used when the month is named by itself is needed,
    the new values nl_langinfo(ALTMON_1) (up to ALTMON_12) and
    strftime("%OB") are supported.  This new feature is optional so the
    languages which do not need it or do not yet provide the updated
    locales simply do not use it and their behaviour is unchanged.
    
        [BZ #10871]
        * locale/C-time.c (_nl_C_LC_TIME): Add alternative month names,
        define them as the same as primary full month names explicitly.
        * locale/categories.def (LC_TIME): Add alt_mon and wide-alt_mon.
        * locale/langinfo.h (__ALTMON_1, __ALTMON_2, __ALTMON_3, __ALTMON_4,
        __ALTMON_5, __ALTMON_6, __ALTMON_7, __ALTMON_8, __ALTMON_9, __ALTMON_10,
        __ALTMON_11, __ALTMON_12, _NL_WALTMON_1, _NL_WALTMON_2, _NL_WALTMON_3,
        _NL_WALTMON_4, _NL_WALTMON_5, _NL_WALTMON_6, _NL_WALTMON_7,
        _NL_WALTMON_8, _NL_WALTMON_9, _NL_WALTMON_10, _NL_WALTMON_11,
        _NL_WALTMON_12): New enum constants.
        [__USE_GNU] (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4, ALTMON_5, ALTMON_6,
        ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10, ALTMON_11, ALTMON_12): New
        macros.
        * locale/programs/ld-time.c (struct locale_time_t): Add alt_mon,
        walt_mon, and alt_mon_defined members.
        (time_output): Output alt_mon and walt_mon members.
        (time_read): Read them, initialize them as copies of mon and wmon
        respectively if they are missing, initialize alt_mon_defined.
        * locale/programs/locfile-kw.gperf (alt_mon): Define.
        * locale/programs/locfile-kw.h: Regenerate.
        * locale/programs/locfile-token.h (tok_alt_mon): New enum constant.
        * localedata/tst-langinfo.c (map): Add tests for the new constants
        ALTMON_1 .. ALTMON_12.
        * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add fr_FR.UTF-8
        and pl_PL.UTF-8.
        * time/strftime_l.c (f_altmonth): New macro.
        (__strftime_internal): Handle %OB format.
        * time/strptime_l.c [_LIBC] (alt_month_name): New macro.
        (__strptime_internal): Handle %OB format.
        * time/tst-strptime.c (day_tests): Add tests to parse different forms
        of month names including the new %OB format specifier.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jan 12 18:50:33 2018 -0200

    powerpc: Fix syscalls during early process initialization [BZ #22685]
    
    The tunables framework needs to execute syscall early in process
    initialization, before the TCB is available for consumption.  This
    behavior conflicts with powerpc{|64|64le}'s lock elision code, that
    checks the TCB before trying to abort transactions immediately before
    executing a syscall.
    
    This patch adds a powerpc-specific implementation of __access_noerrno
    that does not abort transactions before the executing syscall.
    
    Tested on powerpc{|64|64le}.
    
        [BZ #22685]
        * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed
        from ABORT_TRANSACTION.
        (ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL.
        * sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION,
        ABORT_TRANSACTION_IMPL): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file.  Reuse
        Linux code, but remove the code that aborts transactions.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>
    Tested-by: Aurelien Jarno <address@hidden>

commit 64f63cb4583ecc1ba16c7253aacc192b6d088511
Author: Samuel Thibault <address@hidden>
Date:   Fri Jan 19 00:47:45 2018 +0000

    generic if_ether.h: Fix build
    
    * sysdeps/generic/netinet/if_ether.h: Include <stdint.h>.

commit 32ac6e927da435405089d69f08424cff0b10a17c
Author: Rafal Luzynski <address@hidden>
Date:   Fri Jan 19 01:09:12 2018 +0100

    locales gu_IN, lo_LA: Fix obvious typos in dates.
    
    Reported-by: Robert Pluim <address@hidden>
    
        * localedata/locales/gu_IN (LC_IDENTIFICATION): Fix an obvious typo
        in date: "2004-14-09" should be "2004-09-14".
        * localedata/locales/lo_LA: Fix an obvious typo in date in the header:
        "2003-15-09" should be "2003-09-15".

commit 8e448310d74b283c5cd02b9ed7fb997b47bf9b22
Author: Arjun Shankar <address@hidden>
Date:   Thu Jan 18 16:47:06 2018 +0000

    Fix integer overflows in internal memalign and malloc functions [BZ #22343]
    
    When posix_memalign is called with an alignment less than MALLOC_ALIGNMENT
    and a requested size close to SIZE_MAX, it falls back to malloc code
    (because the alignment of a block returned by malloc is sufficient to
    satisfy the call).  In this case, an integer overflow in _int_malloc leads
    to posix_memalign incorrectly returning successfully.
    
    Upon fixing this and writing a somewhat thorough regression test, it was
    discovered that when posix_memalign is called with an alignment larger than
    MALLOC_ALIGNMENT (so it uses _int_memalign instead) and a requested size
    close to SIZE_MAX, a different integer overflow in _int_memalign leads to
    posix_memalign incorrectly returning successfully.
    
    Both integer overflows affect other memory allocation functions that use
    _int_malloc (one affected malloc in x86) or _int_memalign as well.
    
    This commit fixes both integer overflows.  In addition to this, it adds a
    regression test to guard against false successful allocations by the
    following memory allocation functions when called with too-large allocation
    sizes and, where relevant, various valid alignments:
    malloc, realloc, calloc, reallocarray, memalign, posix_memalign,
    aligned_alloc, valloc, and pvalloc.

commit 80647883cf5847c8b6b0197e9703eb04222496b6
Author: Rafal Luzynski <address@hidden>
Date:   Thu Jan 18 01:40:15 2018 +0100

    ChangeLog: Fix an entry for [BZ #22657]
    
    Remove myself, give the full credit to Egmont Koblinger.
    
    When committing someone else's changes, one should put the contributor's
    name in the change log entry.

commit e234d7cb9adf50ec98dc58405f4c5a90546ba018
Author: Rafal Luzynski <address@hidden>
Date:   Thu Jan 18 01:27:10 2018 +0100

    locales bho_NP, mai_IN, mai_NP: Fix an obvious typo in date.
    
        * localedata/locales/bho_NP (LC_IDENTIFICATION): Fix an obvious typo
        in date: "2017-24-07" should be "2017-07-24".
        * localedata/locales/mai_IN: Likewise.
        * localedata/locales/mai_NP: Likewise.

commit 48b66019ae06db6c9b9e4ed2da31d919cd663ea9
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Jan 17 22:00:50 2018 +0000

    Update translations from the Translation Project
    
    * po/ru.po: Update translations.

commit 1eeddc5854b9fdf5b909821fa53e08fbb9bbfc0a
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 17 13:31:47 2018 +0000

    Fix backtrace for hppa (bug 22719).
    
    The only architecture in glibc that uses the generic debug/backtrace.c
    is hppa.  The debug/tst-backtrace* tests fail for hppa, so in fact the
    generic debug/backtrace.c is not functional anywhere.  Instead, the
    x86_64 version is a reasonably generic version that uses
    _Unwind_Backtrace from libgcc to backtrace using unwind info, and is
    used by several architectures.  This patch adds hppa to the
    architectures using it (leaving open the possibility of a subsequent
    cleanup for 2.28 of moving the x86_64 version to debug/backtrace.c,
    and removing all the frame.h files that are now unused).
    
    Reported by Adhemerval in
    <https://sourceware.org/ml/libc-alpha/2018-01/msg00564.html> that this
    does fix the backtrace test failures for hppa.
    
        [BZ #22719]
        * sysdeps/hppa/backtrace.c: New file.

commit 207a72e2988c6d6343f50fe0128eb4fc4edfdd15
Author: H.J. Lu <address@hidden>
Date:   Wed Jan 17 04:31:51 2018 -0800

    x86-64: Properly align La_x86_64_retval to VEC_SIZE [BZ #22715]
    
    _dl_runtime_profile calls _dl_call_pltexit, passing a pointer to
    La_x86_64_retval which is allocated on stack.  The lrv_vector0
    field in La_x86_64_retval must be aligned to size of vector register.
    When allocating stack space for La_x86_64_retval, we need to make sure
    that the address of La_x86_64_retval + RV_VECTOR0_OFFSET is aligned to
    VEC_SIZE.  This patch checks the alignment of the lrv_vector0 field
    and pads the stack space if needed.
    
    Tested with x32 and x86-64 on SSE4, AVX and AVX512 machines.  It fixed
    
    FAIL: elf/tst-audit10
    FAIL: elf/tst-audit4
    FAIL: elf/tst-audit5
    FAIL: elf/tst-audit6
    FAIL: elf/tst-audit7
    
    on x32 AVX512 machine.
    
        [BZ #22715]
        * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_profile): Properly
        align La_x86_64_retval to VEC_SIZE.

commit 4942c4ea48099b4ba9dfecf7cfbc452ae74811b5
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 16 20:53:03 2018 +0000

    Use LIBGCC_S_SO in x86_64 backtrace.
    
    The x86_64 backtrace implementation is used as a generic
    implementation (unwinding via unwind info and _Unwind_Backtrace) by
    various other architectures.  This patch makes it more generic by
    making it use LIBGCC_S_SO from gnu/lib-names.h instead of hardcoding
    the libgcc_s.so.1 name, so that it can also be used on hppa which uses
    libgcc_s.so.4.
    
    Tested for x86_64.
    
        * sysdeps/x86_64/backtrace.c: Include <gnu/lib-names.h>.
        (init): Use LIBGCC_S_SO not hardcoded "libgcc_s.so.1".

commit 10d200dbace0ea5198006b313f40c3b884c88724
Author: Florian Weimer <address@hidden>
Date:   Tue Jan 16 16:46:00 2018 +0100

    nptl/tst-thread-exit-clobber: Run with any C++ compiler
    
    We do not need thread_local support in the C++11 comiler, and the
    minimum GCC version for glibc has C++11 support (if it has C++ support).

commit 953c49cc3bb1041090281042148197ad3537c551
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Jan 11 17:08:51 2018 +0000

    aarch64: Update bits/hwcap.h for Linux 4.15.
    
    Define new HWCAP bits and add their name to dl-procinfo.c following
    the linux definitions. Synchronizing with v4.15-rc8 version of linux,
    these are not expected to change before the 4.15 release.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_SHA3): Define.
        (HWCAP_SM3, HWCAP_SM4, HWCAP_ASIMDDP, HWCAP_SHA512, HWCAP_SVE): Define.
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
        (_dl_aarch64_cap_flags): Update.
        (_DL_HWCAP_COUNT): Update.

commit afce1991f6f61514172696ec3edf93331cb0e04f
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Jan 11 17:21:46 2018 +0000

    aarch64: make HWCAP updates less error prone
    
    Remove unused _DL_HWCAP_LAST definition and move _DL_HWCAP_COUNT
    where it is needed (dl-procinfo.h always includes dl-procinfo.c).
    
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
        (_DL_HWCAP_LAST): Remove.
        (_DL_HWCAP_COUNT): Move to ...
        * sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
        (_DL_HWCAP_COUNT): ... here.

commit b725132d2b0aeddf970b1ce3e5a24f8637a7b4c2
Author: Florian Weimer <address@hidden>
Date:   Tue Jan 16 07:19:28 2018 +0100

    nptl/tst-minstack-throw: Compile in C++11 mode with GNU extensions

commit c9e613a728b9eaf0713b5a5970bb9ad4984fc688
Author: Alan Hayward <address@hidden>
Date:   Fri Jan 12 16:56:19 2018 +0000

    Add NT_ARM_SVE to elf.h
    
    This definition is for AArch64 SVE registers in elf core dumps.
    
        * elf/elf.h (NT_ARM_SVE): Define.

commit 860b0240a5645edd6490161de3f8d1d1f2786025
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 15 15:30:00 2018 +0100

    nptl: Add PTHREAD_MIN_STACK C++ throw test [BZ #22636]

commit 16d0f6ac3e43ce2f3703e77bda5ab742d42a5640
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 15 14:02:54 2018 +0000

    Update build-many-glibcs.py binutils, mpfr, mpc versions.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default
        binutils version to 2.30 branch, MPFR version to 4.0.0 and MPC
        version to 1.1.0.

commit 505d39100454b38c62a8eff4c1b7c06b4a31f3aa
Author: Carlos O'Donell <address@hidden>
Date:   Sat Jan 13 20:21:57 2018 -0800

    Synchronize DF_1_* flags with binutils (Bug 22707)
    
    This patch synchronizes DF_1_* flags with binutils
    and ensures that all DF_1_* flags defined in binutil's
    include/elf/common.h are also defined glibc's elf/elf.h.
    This is a user visible change since elf/elf.h is installed
    by default as /usr/include/elf.h.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit af1e6be4ba60067907ea9e19e0cd6897d194e9cf
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jan 12 20:39:42 2018 -0200

    powerpc: Fix llround spurious inexact on 32-bit POWER4 [BZ #22697]
    
    This issue is similar to BZ #19235, where spurious exceptions are
    created from adding 0.5 then converting to an integer.
    The solution is based on Joseph's fix for BZ #19235.
    
        [BZ #22697]
        * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
        Do not add 0.5 to integer or out-of-range arguments.

commit 98d13ce07a6aee9efb2ef2405a95c6bb8e01dca3
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Jan 11 15:00:00 2018 +0000

    Update translations from the Translation Project
    
    * po/bg.po: Update translations.
    * po/cs.po: Likewise.
    * po/de.po: Likewise.
    * po/ko.po: Likewise.
    * po/pl.po: Likewise.
    * po/sv.po: Likewise.
    * po/uk.po: Likewise.
    * po/vi.po: Likewise.

commit 3d1d79283e6de4f7c434cb67fb53a4fd28359669
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Dec 19 18:43:04 2017 +0000

    aarch64: fix static pie enabled libc when main is in a shared library
    
    In the static pie enabled libc, crt1.o uses the same position independent
    code as rcrt1.o and crt1.o is used instead of Scrt1.o when -no-pie
    executables are linked.  When main is not defined in the executable, but
    in a shared library crt1.o is currently broken, it assumes main is local.
    (glibc has a test for this but i missed it in my previous testing.)
    
    To make both rcrt1.o and crt1.o happy with the same code, a wrapper is
    introduced around main: with this crt1.o works with extern main symbol
    while rcrt1.o does not depend on GOT relocations. (The change only
    affects static pie enabled libc. Further simplification of start.S is
    possible in the future by using the same approach for Scrt1.o too.)
    
        * aarch64/start.S (_start): Use __wrap_main.
        (__wrap_main): New local symbol.

commit 52a713fdd0a30e1bd79818e2e3c4ab44ddca1a94
Author: Dmitry V. Levin <address@hidden>
Date:   Sun Jan 7 02:03:41 2018 +0000

    linux: make getcwd(3) fail if it cannot obtain an absolute path [BZ #22679]
    
    Currently getcwd(3) can succeed without returning an absolute path
    because the underlying getcwd syscall, starting with linux commit
    v2.6.36-rc1~96^2~2, may succeed without returning an absolute path.
    
    This is a conformance issue because "The getcwd() function shall
    place an absolute pathname of the current working directory
    in the array pointed to by buf, and return buf".
    
    This is also a security issue because a non-absolute path returned
    by getcwd(3) causes a buffer underflow in realpath(3).
    
    Fix this by checking the path returned by getcwd syscall and falling
    back to generic_getcwd if the path is not absolute, effectively making
    getcwd(3) fail with ENOENT.  The error code is chosen for consistency
    with the case when the current directory is unlinked.
    
    [BZ #22679]
    CVE-2018-1000001
    * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Fall back to
    generic_getcwd if the path returned by getcwd syscall is not absolute.
    * io/tst-getcwd-abspath.c: New test.
    * io/Makefile (tests): Add tst-getcwd-abspath.

commit 249a5895f120b13290a372a49bb4b499e749806f
Author: Istvan Kurucsai <address@hidden>
Date:   Fri Jan 12 15:26:20 2018 +0100

    malloc: Ensure that the consolidated fast chunk has a sane size.

commit 1a51e46e4a87e1cd9528ac5e5656011636e4086b
Author: Florian Weimer <address@hidden>
Date:   Fri Jan 12 08:18:30 2018 +0100

    support: Preserve errno in write_message, TEST_VERIFY and other checks
    
    These facilities could clobber errno, which makes it difficult to write
    certain checks because a specific order has to be used.

commit 63b52889c35b367cf20896442203bbe5d123058c
Author: Florian Weimer <address@hidden>
Date:   Fri Jan 12 12:15:38 2018 +0100

    Add missing reference to bug 20532

commit 9a08a366a7e7ddffe62113a9ffe5e50605ea0924
Author: Florian Weimer <address@hidden>
Date:   Fri Jan 12 08:42:56 2018 +0100

    libnsl: Do not install libnsl.so, libnsl.a if NIS is disabled [BZ #22701]
    
    This also skips building the .o files for libnsl.a.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit f172187b2d5bd9d22a5311b3ecd89d4ce5dbd2da
Author: Egmont Koblinger <address@hidden>
Date:   Mon Jan 1 20:40:11 2018 +0000

    hu_HU locale: Avoid double space (bug 22657).
    
    The current date format prefixes one-digit days with a space, resulting
    in ugly two spaces:
    
    $ LC_ALL=hu_HU.UTF-8 date
    2018. jan.  1., hétfő, 21:25:35 CET
              ^^
    
    The official orthography rules doesn't contain an explicit rule about
    this (which already gives no sane reason for double space), and an
    implicit example of "1848. március 9." under bullet point 296 at
    http://helyesiras.mta.hu/helyesiras/default/akh12 contains a single
    space only. It's sure not convincing on an HTML page, but I confirm
    that the official book edition (e.g.
    https://www.libri.hu/en/konyv/a-magyar-helyesiras-szabalyai-32.html)
    also contains a single space there.
    
        [BZ #22657]
        * localedata/locales/hu_HU (d_t_fmt): Avoid a leading space
        before the day number which may produce a double space.
        (date_fmt): Likewise.

commit c8924f1ff22cb78abc9bb950c3b23d8483ac7bba
Author: Joseph Myers <address@hidden>
Date:   Fri Jan 12 00:12:57 2018 +0000

    Fix s390 linknamespace fallout of bug 22702 patch.
    
    My fix for bug 22702 introduced linknamespace test failures on
    s390x-linux-gnu and s390-linux-gnu because it made remainder call
    __feholdexcept, and the s390 __feholdexcept calls fegetenv, and
    remainder is in Unix98 and XPG4.2 but fegetenv isn't.  This patch
    makes __feholdexcept call __fegetenv instead to avoid that namespace
    issue.
    
    Tested (compilation) with build-many-glibcs.py for s390x-linux-gnu,
    where it resolves the test failures.
    
        * sysdeps/s390/fpu/feholdexcpt.c (__feholdexcept): Call __fegetenv
        instead of fegetenv.

commit da09e6fa2f8194fbdd82281195145aec195144dc
Author: Joseph Myers <address@hidden>
Date:   Thu Jan 11 18:18:46 2018 +0000

    Make default libc_feholdsetround_noex_ctx use __feholdexcept (bug 22702).
    
    For soft-float powerpc, the math/test-nearbyint-except-2 test fails
    because nearbyintl traps when traps on "inexact" are enabled on entry
    (and an "inexact" exception is generated internally, though cleared
    for the final return).
    
    The problem is the default implementation of
    libc_feholdsetround_noex_ctx, which does not disable exception traps.
    There is some ambiguity about whether the *noex* interfaces are
    required to do so or only permitted to do so.  But given that we
    support fe* interfaces to enable and disable traps (on architectures
    with that functionality), functions that must not raise an exception
    (must not leave the flag set on exit if not set on entry) should also
    not trap on it when traps on that exception are enabled.  So it is
    appropriate to define these interfaces to have the feholdexcept effect
    of disabling exception traps; this patch updates the default
    implementation and comments accordingly.
    
    At least some architecture versions already disable traps; there are
    few uses of the *noex* interfaces at all, and while it's possible
    there are bugs on any architecture versions failing to disable traps
    that appear in the exp2 and remainder implementations, there are
    currently no tests, other than this one for nearbyintl (where only the
    ldbl-128ibm implementation uses SET_RESTORE_ROUND_NOEX), that would
    fail as a result of such a bug.  (Hard-float powerpc does disable
    traps here, hence the nearbyintl failure not appearing there.)
    
    Tested for powerpc (soft-float).  This brings that configuration to
    clean math/ test results, provided you build with GCC 8 to get the fix
    for GCC bug 64811.
    
        [BZ #22702]
        * sysdeps/generic/math_private.h (libc_feresetround_noex): Update
        comment to say exceptions are discarded.
        (libc_feholdsetround_noex_ctx): Use __feholdexcept instead of
        __fegetenv.
        (SET_RESTORE_ROUND_NOEX): Update comment to say non-stop mode must
        be enabled.

commit 08c6e95234c60a5c2f37532d1111acf084f39345
Author: Florian Weimer <address@hidden>
Date:   Thu Jan 11 13:13:28 2018 +0100

    csu: Update __libgcc_s_init comment
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit d8b778907e5270fdeb70459842ffbc20bd2ca5e1
Author: Florian Weimer <address@hidden>
Date:   Thu Jan 11 13:13:14 2018 +0100

    nptl: Add tst-minstack-cancel, tst-minstack-exit [BZ #22636]
    
    I verified that without the guard accounting change in commit
    630f4cc3aa019ede55976ea561f1a7af2f068639 (Fix stack guard size
    accounting) and RTLD_NOW for libgcc_s introduced by commit
    f993b8754080ac7572b692870e926d8b493db16c (nptl: Open libgcc.so with
    RTLD_NOW during pthread_cancel), the tst-minstack-cancel test fails on
    an AVX-512F machine.  tst-minstack-exit still passes, and either of
    the mentioned commit by itself frees sufficient stack space to make
    tst-minstack-cancel pass, too.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit b303185df9b4f3d097956fe566a32aed4f85b127
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 10 17:59:01 2018 +0000

    Fix ldbl-128ibm log1pl (-qNaN) spurious "invalid" exception (bug 22693).
    
    The ldbl-128ibm implementation of log1pl does ordered comparisons on a
    negative qNaN argument, so resulting in spurious "invalid" exceptions
    (for soft-float powerpc; hard-float only avoids this because of GCC
    bug 58684 meaning ordered comparison instructions never get
    generated).  This patch fixes this by arranging for the test for NaN
    or infinity arguments to handle negative arguments as well.
    
    Tested for powerpc (soft float).
    
        [BZ #22693]
        * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Handle
        negative arguments in test for NaN or infinity argument.

commit ee61d0285029d35ebb03bdd548ccce948ebfaea5
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Jan 10 15:00:00 2018 +0000

    Regenerate libc.pot

commit f993b8754080ac7572b692870e926d8b493db16c
Author: Florian Weimer <address@hidden>
Date:   Wed Jan 10 13:18:04 2018 +0100

    nptl: Open libgcc.so with RTLD_NOW during pthread_cancel [BZ #22636]
    
    Disabling lazy binding reduces stack usage during unwinding.
    
    Note that RTLD_NOW only makes a difference if libgcc.so has not
    already been loaded, so this is only a partial fix.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 09085ede12fb9650f286bdcd805609ae69f80618
Author: Samuel Thibault <address@hidden>
Date:   Wed Jan 10 01:58:23 2018 +0100

    hurd: Implement faccessat without AT_EACCESS flag
    
    * hurd/hurd/fd.h: Include <fcntl.h>
    (__hurd_at_flags): New function.
    * hurd/lookup-at.c (__file_name_lookup_at): Replace flag computation
    with call to __hurd_at_flags.
    * include/unistd.h (__faccessat, __faccessat_noerrno): Add declaration.
    * sysdeps/mach/hurd/access.c (access_common): Move implementation to
    __faccessat
    (hurd_fail_seterrno, hurd_fail_noerrno): Move to 
sysdeps/mach/hurd/faccessat.c.
    (__access_noerrno): Use __faccessat_common instead of access_common.
    (__access): Likewise.
    * sysdeps/mach/hurd/euidaccess.c (__euidaccess): Replace implementation
    with a call to __faccessat.
    * sysdeps/mach/hurd/faccessat.c (faccessat): Rename into...
    (__faccessat_common): ... this. Move implementation of __access into it when
    AT_FLAGS does not contain AT_EACCESS. Make it call __hurd_at_flags, add
    reauthenticate_cwdir_at helper to implement AT mechanism.
    (__faccessat_noerrno): New function, just calls __faccessat_common.
    (__faccessat): New function, just calls __faccessat_common.
    (faccessat): Define weak alias.

commit 87faac55161d7dd62997fb09e9fcb5890cf6e4c6
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 10 00:38:12 2018 +0000

    Fix powerpc-nofpu fmaxmagl, fminmagl spurious "invalid" exception (bug 
22691).
    
    For soft-float powerpc, fmaxmagl and fminmagl generate spurious
    "invalid" exceptions for quiet NaN arguments.  This is another case of
    the problems with fabsl inline expansion via comparisons, and so is
    fixed by building those functions with -fno-builtin-fabsl.
    
    Tested for powerpc (soft-float).
    
        [BZ #22691]
        * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math]
        (CFLAGS-s_fmaxmagl.c): New variable.
        [$(subdir) = math] (CFLAGS-s_fminmagl.c: Likewise.

commit 1272748886257ae4d73485eb7534756e89643091
Author: Joseph Myers <address@hidden>
Date:   Wed Jan 10 00:02:35 2018 +0000

    Fix ldbl-128ibm lrintl, lroundl missing "invalid" exceptions (bug 22690).
    
    The ldbl-128ibm implementations of lrintl and lroundl are missing
    "invalid" exceptions for certain overflow cases when compiled with GCC
    8.  The cause of this is after-the-fact integer overflow checks that
    fail when the compiler optimizes on the basis of integer overflow
    being undefined; GCC 8 must be able to detect new cases of
    undefinedness here.
    
    Failure: lrint (-0x80000001p0): Exception "Invalid operation" not set
    Failure: lrint_downward (-0x80000001p0): Exception "Invalid operation" not 
set
    Failure: lrint_towardzero (-0x80000001p0): Exception "Invalid operation" 
not set
    Failure: lrint_upward (-0x80000001p0): Exception "Invalid operation" not set
    
    Failure: lround (-0x80000001p0): Exception "Invalid operation" not set
    Failure: lround_downward (-0x80000001p0): Exception "Invalid operation" not 
set
    Failure: lround_towardzero (-0x80000001p0): Exception "Invalid operation" 
not set
    Failure: lround_upward (-0x80000001p0): Exception "Invalid operation" not 
set
    
    (Tested that these failures occur before the patch for powerpc
    soft-float, but the issue applies in principle for hard-float as well,
    whether or not the particular optimizations in fact occur there at
    present.)
    
    This patch fixes the bug by ensuring the additions / subtractions in
    question cast arguments to unsigned long int, or use 1UL as a constant
    argument, so that the arithmetic occurs in an unsigned type with the
    result then converted back to a signed type.
    
    Tested for powerpc (soft-float).
    
        [BZ #22690]
        * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c (__lrintl): Use unsigned
        long int for arguments of possibly overflowing addition or
        subtraction.
        * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c (__lroundl): Likewise.

commit b2584ac2a4d3d5ba7da01a52e6bbc495d61974c8
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 9 23:14:45 2018 +0000

    Fix powerpc-nofpu remainderl wrong sign of zero result (bug 22688).
    
    For soft-float powerpc, the remainderl function produces zero results
    with the wrong sign for various inputs.  This is another instance of
    the problem with incorrect built-in fabsl expansion, so is fixed by
    this patch using -fno-builtin-fabsl for this function.
    
    Tested for powerpc (soft-float).
    
        [BZ #22688]
        * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math]
        (CFLAGS-e_remainderl.c): New variable.

commit e134ca175318e0f1c04b4e857f38efae091c35ce
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 9 22:34:35 2018 +0000

    Fix powerpc-nofpu complex long double functions spurious "invalid" 
exception (bug 22687).
    
    For soft-float powerpc, various _Complex long double functions
    generate spurious "invalid" exceptions, even with a compiler with GCC
    bug 64811 fixed.
    
    The problem is GCC's built-in fabsl expansion.  Various files are
    already built with -fno-builtin-fabsl because in this case (IBM long
    double, for soft-float or e500v1) a fallback fabsl expansion based on
    comparisons is used, which can produce the wrong sign of a zero
    result.  Those comparisons can also produce spurious exceptions for
    NaN arguments.  Furthermore, __builtin_fpclassify implemently uses
    __builtin_fabsl, and is unaffected by -fno-builtin-fabsl, and the
    fpclassify macro uses __builtin_fpclassify in the absence of
    -fsignaling-nans.  Thus, this patch arranges for the problem files
    using fpclassify to be built with -fsignaling-nans in this case, to
    avoid spurious exceptions from fpclassify.
    
    Tested for powerpc (soft-float).
    
        [BZ #22687]
        * sysdeps/powerpc/nofpu/Makefile (CFLAGS-s_cacosl.c): New
        variable.
        (CFLAGS-s_cacoshl.c): Likewise.
        (CFLAGS-s_casinhl.c): Likewise.
        (CFLAGS-s_catanl.c): Likewise.
        (CFLAGS-s_catanhl.c): Likewise.
        (CFLAGS-s_cexpl.c): Likewise.
        (CFLAGS-s_ccoshl.c): Add -fsignaling-nans.
        (CFLAGS-s_csinhl.c): Likewise.
        (CFLAGS-s_clogl.c): Likewise.
        (CFLAGS-s_clog10l.c): Likewise.
        (CFLAGS-s_csinl.c): Likewise.
        (CFLAGS-s_csqrtl.c): Likewise.

commit 311ba8dc4416467947eff2ab327854f124226309
Author: Samuel Thibault <address@hidden>
Date:   Tue Jan 9 01:36:58 2018 +0100

    hurd: Use the new file_exec_paths RPC
    
    From: Emilio Pozuelo Monfort <address@hidden>
    From: Svante Signell <address@hidden>
    
    Pass the file paths of executable to the exec server, both relative and
    absolute, which exec needs to properly execute and avertise #!-scripts.
    Previously, the exec server tried to guess the name from argv[0] but argv[0]
    only contains the executable name by convention.
    
        * hurd/hurdexec.c (_hurd_exec): Deprecate function.
        (_hurd_exec_paths): New function.
        * hurd/hurd.h (_hurd_exec): Deprecate function.
        (_hurd_exec_paths): Declare function.
        * hurd/Versions: Export _hurd_exec_paths.
        * sysdeps/mach/hurd/execve.c: Include <stdlib.h> and <stdio.h>
        (__execve): Use __getcwd to build absolute path, and use
        _hurd_exec_paths instead of _hurd_exec.
        * sysdeps/mach/hurd/spawni.c: Likewise.
        * sysdeps/mach/hurd/fexecve.c: Use _hurd_exec_paths instead of
        _hurd_exec.

commit d7ff3f11b64a28273285d341f795217bbf18ac9c
Author: Dmitry V. Levin <address@hidden>
Date:   Mon Dec 25 02:30:32 2017 +0000

    tst-ttyname: skip the test when /dev/ptmx is not available
    
    * sysdeps/unix/sysv/linux/tst-ttyname.c (do_in_chroot_1): Skip the
    test instead of failing in case of ENOENT returned by posix_openpt.

commit 401311cfba71b61d93d23aa17e5c9ac5fb047d48
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 8 14:33:17 2018 +0100

    resolv: Support binary labels in test framework
    
    The old implementation based on hsearch_r used an ad-hoc C string
    encoding and produced an incorrect format on the wire for domain
    names which contained bytes which needed escaping when printed.
    
    This commit switches to ns_name_pton for the wire format conversion
    (now that we have separate tests for it) and uses a tsearch tree
    with a suitable comparison function to locate compression targets.

commit 2b3aa44656dd873e2753c98fdcb95be6a9d147a6
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 8 13:01:36 2018 +0100

    support: Increase usability of TEST_COMPARE
    
    The previous implementation of the TEST_COMPARE macro would fail
    to compile code like this:
    
      int ret = res_send (query, sizeof (query), buf, sizeof (buf));
      TEST_COMPARE (ret,
                    sizeof (query)
                    + 2             /* Compression reference.  */
                    + 2 + 2 + 4 + 2 /* Type, class, TTL, RDATA length.  */
                    + 1             /* Pascal-style string length.  */
                    + strlen (expected_name));
    
    This resulted in a failed static assertion, "integer conversions
    may alter sign of operands".  A user of the TEST_COMPARE would have
    to add a cast to fix this.
    
    This patch reverts to the original proposed solution of a run-time
    check, making TEST_COMPARE usable for comparisons of numbers with
    types with different signedness in more contexts.

commit 630f4cc3aa019ede55976ea561f1a7af2f068639
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Dec 6 13:05:50 2017 +0000

    [BZ #22637] Fix stack guard size accounting
    
    Previously if user requested S stack and G guard when creating a
    thread, the total mapping was S and the actual available stack was
    S - G - static_tls, which is not what the user requested.
    
    This patch fixes the guard size accounting by pretending the user
    requested S+G stack.  This way all later logic works out except
    when reporting the user requested stack size (pthread_getattr_np)
    or when computing the minimal stack size (__pthread_get_minstack).
    
    Normally this will increase thread stack allocations by one page.
    TLS accounting is not affected, that will require a separate fix.
    
        [BZ #22637]
        * nptl/descr.h (stackblock, stackblock_size): Update comments.
        * nptl/allocatestack.c (allocate_stack): Add guardsize to stacksize.
        * nptl/nptl-init.c (__pthread_get_minstack): Remove guardsize from
        stacksize.
        * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise.

commit c70e4e9c9efff9df4c847dd7cfd81bae674219ab
Author: H.J. Lu <address@hidden>
Date:   Mon Jan 8 08:04:26 2018 -0800

    x86-64: Add sincosf with vector FMA
    
    Since the x86-64 assembly version of sincosf is higly optimized with
    vector instructions, there isn't much room for improvement.  However
    s_sincosf.c written in C with vector math and intrinsics can be
    optimized by GCC with FMA.
    
    On Skylake, bench-sincosf reports performance improvement:
    
               Assembly       FMA         improvement
    max        104.042       101.008         3%
    min        9.426         8.586           10%
    mean       20.6209       18.2238         13%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add s_sincosf-sse2 and s_sincosf-fma.
        (CFLAGS-s_sincosf-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/s_sincosf-sse2.S: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_sincosf.c: Likewise.
        * sysdeps/x86_64/fpu/s_sincosf.S: Don't add alias if
        __sincosf is defined.

commit 579396ee082565ab5f42ff166a264891223b7b82
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 8 14:57:25 2018 +0100

    nptl: Add test for callee-saved register restore in pthread_exit
    
    GCC PR 83641 results in a miscompilation of libpthread, which
    causes pthread_exit not to restore callee-saved registers before
    running destructors for objects on the stack.  This test detects
    this situation:
    
    info: unsigned int, direct pthread_exit call
    tst-thread-exit-clobber.cc:80: numeric comparison failure
       left: 4148288912 (0xf741dd90); from: value
      right: 1600833940 (0x5f6ac994); from: magic_values.v2
    info: double, direct pthread_exit call
    info: unsigned int, indirect pthread_exit call
    info: double, indirect pthread_exit call
    error: 1 test failures

commit dabd75b6a1180c2ca6a6f966f08cc00e8e72cce9
Author: Florian Weimer <address@hidden>
Date:   Mon Jan 8 14:39:51 2018 +0100

    support: Define support_static_assert for use with C and C++
    
    And update TEST_COMPARE to use it, to make it usable from C++.

commit c2e014cc33ef814a8f24fb7aabe1cee5265056f3
Author: Aurelien Jarno <address@hidden>
Date:   Sun Jan 7 20:33:26 2018 +0100

    getrlimit64: fix for 32-bit configurations with default version >= 2.2
    
    Commit 24731685 ("prlimit: Translate old_rlimit from RLIM64_INFINITY to
    RLIM_INFINITY") broken the getrlimit64 for 32-bit configurations which
    do no need the 2GiB limited compat getrlimit (default version >= 2.2).
    
    This patch fixes that by restoring the weak alias in that case.
    
    Changelog:
        * sysdeps/unix/sysv/linux/getrlimit64 (getrlimit64)
        [!__RLIM_T_MATCHES_RLIM64_T]
        [!SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)]: Define as weak alias of
        __getrlimit64. Add libc_hidden_weak.

commit 200fc24b9dd2360bc850fe71ed22410051426d96
Author: Samuel Thibault <address@hidden>
Date:   Sun Jan 7 13:31:36 2018 +0100

    hurd: Fix pwritev*
    
    This follows c45d78aac ('posix: Fix generic p{read,write}v buffer allocation
    (BZ#22457)'), which made pwritev to use __mmap instead of __posix_memalign,
    but didn't pass PROT_READ to it, while the pwrite() call does need to
    read the data we have just copied over.
    
        * sysdeps/posix/pwritev_common.c: Add PROT_READ to __mmap prot.

commit 8e13c51bb579d56b52e93a058c9efb0bbab35d1b
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:56:44 2017 -0800

    Avoid race conditions when rebuilding librt.so
    
    `make check' sometimes triggers a rebuild of librt.so using
    nptl/Makefile, which ignores librt's dependence on libpthread.  This
    causes the build to blow up when we attempt to run the test suite on
    RISC-V.
    
    2018-01-06  Palmer Dabbelt  <address@hidden>
    
            * nptl/Makefile (/librt.so): Always depend on
            "$(shared-thread-library)".

commit 1598f3ad06db9654a5d112136e40b630649405c3
Author: Palmer Dabbelt <address@hidden>
Date:   Fri Jan 5 23:18:40 2018 -0800

    Strip shared objects in subdirectories of lib
    
    The RISC-V port will have libraries in subdirectories of lib, like
    "lib64/lp64d".  This adds support for stripping these installed
    libraries.
    
    2018-01-06  Palmer Dabbelt  <address@hidden>
    
           * scripts/build-many-glibcs.py (class Glibc): Strip shared objects
           in subdirectories of lib.

commit 150bbac18bf0af28954bd505793de60f61918b07
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:52:42 2017 -0800

    Add linux-4.15 VDSO hash for RISC-V
    
    The RISC-V Linux port defines VDSO symbols
    
    2018-01-06  Palmer Dabbelt  <address@hidden>
    
           * sysdeps/unix/sysv/linux/dl-vdso.h (VDSO_NAME_LINUX_4_15): New
           define.
           (VDSO_HASH_LINUX_4_15): Likewise.

commit 005055325176500f03fbd64f122bc4de64719c46
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:55:34 2017 -0800

    Allow make-link-multidir to make subdirectories
    
    The RISC-V Linux ABI doesn't define any libraries that go directly in
    lib, instead they go into lib32/ilp32 or lib64/lp64.  This casuse
    make-link-multidir to fail when attempting to make library directories
    when building a static libc on multilib RISC-V systems.
    
    This patch uses scripts/mkinstalldirs to make the base directory of the
    target symlink of make-link-multidir.
    
    2018-01-06  Palmer Dabbelt  <address@hidden>
    
           * Makerules (make-link-multidir): Make directories before linking 
into
           them.

commit 31a98837be41b03853fcc607e3a7be6b0525a910
Author: Palmer Dabbelt <address@hidden>
Date:   Tue Dec 26 20:52:36 2017 -0800

    Add RISC-V dynamic relocations to elf.h
    
    These relocations can appear in shared objects on RISC-V ELF systems.
    
    2018-01-06  Palmer Dabbelt  <address@hidden>
    
           * elf/elf.h (R_RISCV_NONE): New define.
           (R_RISCV_32): Likewise.
           (R_RISCV_64): Likewise.
           (R_RISCV_RELATIVE): Likewise.
           (R_RISCV_COPY): Likewise.
           (R_RISCV_JUMP_SLOT): Likewise.
           (R_RISCV_TLS_DTPMOD32): Likewise.
           (R_RISCV_TLS_DTPMOD64): Likewise.
           (R_RISCV_TLS_DTPREL32): Likewise.
           (R_RISCV_TLS_DTPREL64): Likewise.
           (R_RISCV_TLS_TPREL32): Likewise.
           (R_RISCV_TLS_TPREL64): Likewise.

commit f417d92c1714406b85d887c96736801498962ff5
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 22:28:36 2018 +0100

    hurd: Fix glob64 compatibility symbols
    
    This follows ccf970c7a ('posix: Add compat glob symbol to not follow
    dangling symbols') by adding to gnu/ the same compatibility as for Linux.
    
        * sysdeps/gnu/glob64.c (__glob): Define macro instead of glob macro.
        (__glob64): Define GLIBC_2_27 versioned symbol instead of glob64.
        * sysdeps/gnu/glob-lstat-compat.c: New file.
        * sysdeps/gnu/glob64-lstat-compat.c: New file.

commit 01c7e549b2b978e69d6509864d4d067c555cb81b
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 22:19:13 2018 +0100

    hurd: Fix posix glob test
    
        * posix/tst-glob_symlinks.c [!PATH_MAX]: Define PATH_MAX macro.

commit 107a35a5751586926dbc0fed4d044a34f79c084e
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 22:09:42 2018 +0100

    i386: Regenerate libm-test-ulps for for gcc 7 on i686
    
        * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with
        "-O2 -march=i686".

commit 4a5ce6e908c6b45d976fb78b65434b489dc570b6
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 18:18:49 2018 +0100

    hurd: Fix build without NO_HIDDEN
    
    * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic) [NO_RTLD_HIDDEN]: Call
    JUMPTARGET (___tls_get_addr) instead of HIDDEN_JUMPTARGET (___tls_get_addr).
    * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Likewise.

commit fad7d57ef94bbb0254042cd213b6be2714c69df1
Author: Samuel Thibault <address@hidden>
Date:   Sat Jan 6 02:27:44 2018 +0100

    hurd: Add jmp_buf-macros.h
    
    * sysdeps/mach/hurd/i386/jmp_buf-macros.h: New file.

commit 3a32b7168d9f49eed5615ca17c9a8bd53cfe94ed
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Jan 5 18:34:09 2018 -0200

    powerpc: Fix error message during relocation overflow
    
    The function _itoa_word() writes characters from the higher address to
    the lower address, requiring the destination string to reserve that size
    before calling it.
    
        * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow):
        Reserve 16 chars to reloc_addr before calling _itoa_word.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit a6d0afb5075486773c4c70119a9bd9cd78faec9e
Author: Aurelien Jarno <address@hidden>
Date:   Fri Jan 5 20:34:10 2018 +0100

    resource/tst-getrlimit.c: Add copyright header
    
    The initial year is based on the date in the original ChangeLog entry
    (2005-06-21).

commit 19be56d8cef5c157f436234b3af4439437da259f
Author: Aurelien Jarno <address@hidden>
Date:   Fri Jan 5 20:34:10 2018 +0100

    Add test for getrlimit/setrlimit/prlimit with infinity value
    
    Add a test to check that the getrlimit, setrlimit and prlimit functions
    and their 64-bit equivalent behave correctly with RLIM_INFINITY and
    RLIM64_INFINITY. For that it assumes that the prlimit64 function calls
    the syscall directly without translating the value and that the kernel
    uses the -1 value to represent infinity.
    
    It first finds a resource with the hard limit set to infinity so the
    soft limit can be manipulated easily and check for the consistency
    between the value set or get by the prlimit64 and the other functions.
    
    It is Linux specific add it uses the prlimit and prlimit64 functions.
    
    Changelog:
        * sysdeps/unix/sysv/linux/tst-rlimit-infinity.c: New file.
        * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-rlimit-infinity.

commit 24731685c89dbd2c4579234583c268b52d943d0b
Author: Aurelien Jarno <address@hidden>
Date:   Fri Jan 5 20:34:10 2018 +0100

    prlimit: Translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY [BZ 
#22678]
    
    prlimit called without a new value fails on 32-bit machines if any of
    the soft or hard limits are infinity. This is because prlimit does not
    translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY, but checks
    that the value returned by the prlimit64 syscall fits into a 32-bit
    value, like it is done for example in getrlimit. Note that on the
    other hand new_rlimit is correctly translated from RLIM_INFINITY to
    RLIM64_INFINITY before calling the syscall.
    
    This patch fixes that.
    
    Changelog:
        [BZ #22678]
        * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Translate
        old_rlimit from RLIM64_INFINITY to RLIM_INFINITY.

commit 8e900969dbde8e46963b3be4005d7941792327cb
Author: Aurelien Jarno <address@hidden>
Date:   Fri Jan 5 20:34:10 2018 +0100

    Alpha: Fix the RLIM_INFINITY and RLIM64_INFINITY constants
    
    Fix the RLIM_INFINITY and RLIM64_INFINITY constants on alpha to match
    the kernel one and all other architectures. Change the getrlimit,
    getrlimit64, setrlimit, setrlimit64 into old compat symbols, and provide
    the Linux generic functions as GLIBC_2_27 version.
    
    Changelog:
        * sysdeps/unix/sysv/linux/getrlimit64.c [USE_VERSIONED_RLIMIT]: Do not
        define getrlimit and getrlimit64 as weak aliases of __getrlimit64.
        Define __GI_getrlimit64 as weak alias of __getrlimit64.
        [__RLIM_T_MATCHES_RLIM64_T]: Do not redefine SHLIB_COMPAT, use #elif
        instead.
        * sysdeps/unix/sysv/linux/setrlimit64.c [USE_VERSIONED_RLIMIT]: Do not
        define setrlimit and setrlimit64 as weak aliases of __setrlimit64.
        * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIM_INFINITY,
        RLIM64_INFINITY): Fix values to match the kernel ones.
        * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Define
        USE_VERSIONED_RLIMIT.  Rename __getrlimit64 into __old_getrlimit64 and
        provide it as getrlimit@@GLIBC_2_0 and getrlimit64@@GLIBC_2_1.  Add a
        __getrlimit64 function and provide it as getrlimit@@GLIBC_2_27 and
        getrlimit64@@GLIBC_2_27.
        * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto with setrlimit
        and setrlimit64.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist (GLIBC_2.27): Add
        getrlimit, setrlimit, getrlimit64 and setrlimit64.
        * sysdeps/unix/sysv/linux/alpha/Versions (libc): Add getrlimit,
        setrlimit, getrlimit64 and setrlimit64.

commit 0d0bc784cafcd27f1cf9584b2424fcfbf07b24f6
Author: Aurelien Jarno <address@hidden>
Date:   Fri Jan 5 20:34:10 2018 +0100

    Alpha: Add wrappers to get/setrlimit64 to fix RLIM64_INFINITY constant [BZ 
#22648]
    
    RLIM64_INFINITY was supposed to be a glibc convention rather than
    anything seen by the kernel, but it ended being passed to the kernel
    through the prlimit64 syscall.
    
    * On the kernel side, the value is defined for the prlimit64 syscall for
      all architectures in include/uapi/linux/resource.h:
    
      #define RLIM64_INFINITY           (~0ULL)
    
    * On the kernel side, the value is defined for getrlimit and setrlimit
      in arch/alpha/include/uapi/asm/resource.h
    
      #define RLIM_INFINITY            0x7ffffffffffffffful
    
    * On the GNU libc side, the value is defined in
      sysdeps/unix/sysv/linux/alpha/bits/resource.h:
    
      # define RLIM64_INFINITY 0x7fffffffffffffffLL
    
    This was not an issue until the getrlimit and setrlimit glibc functions
    have been changed in commit 045c13d185 ("Consolidate Linux setrlimit and
    getrlimit implementation") to use the prlimit64 syscall instead of the
    getrlimit and setrlimit ones.
    
    This patch fixes that by adding a wrapper to fix the value passed to or
    received from the kernel, before or after calling the prlimit64 syscall.
    
    Changelog:
        [BZ #22648]
        * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: New file.
        * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Ditto.

commit f1a844ac6389ea4e111afc019323ca982b5b027d
Author: Florian Weimer <address@hidden>
Date:   Fri Jan 5 13:57:54 2018 +0100

    NEWS: Deprecate static dlopen

commit 2fc21aaad90bbbe834d23bf9f111bd8052a59bf1
Author: Florian Weimer <address@hidden>
Date:   Fri Jan 5 13:57:48 2018 +0100

    NEWS: Deprecate direct access libio internals

commit ba374b6deccdf78992a77fd8b14369bba4645c8b
Author: Joseph Myers <address@hidden>
Date:   Thu Jan 4 21:58:40 2018 +0000

    Increase some test timeouts.
    
    This patch increases timeouts on three tests I observed timing out on
    slow systems.
    
        * malloc/tst-malloc-tcache-leak.c (TIMEOUT): Define to 50.
        * posix/tst-glob-tilde.c (TIMEOUT): Define to 200.
        * resolv/tst-resolv-res_ninit.c (TIMEOUT): Define to 50.

commit b0a4eca2fcfe2a6bc3cbb3951241c4facc887670
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jan 3 17:03:48 2018 -0200

    alpha: Remove s_trunc{f} implementation (BZ#22666)
    
    As discussed in libc-alpha [1], alpha trunc{f} implementation uses
    addt/suc and subt/suc and although the Alpha Architecture
    Handbook version 3 states that that ADDx SUBx OUTPUT Exceptions
    (B.3 Mapping to IEEE Standard) should not generate Inexact if INE
    bit is set, the Alpha 21264 [2] chip manual (A.8 IEEE Floating-Point
    Conformance) states that ADDx SUBx OUTPUT does generate inexact
    exception for inexact result regardless.
    
    As Joseph noted [3] to correctly fix it on alpha we need to either
    avoid the instruction or avoid any inexact bit from it being set
    on return from the function (while preserving the inexact bit that
    might be set on the entry to the function).  The later will result
    mf_fpcr followed by a mt_fpcr to get and set the fpcr which will
    defeat the optimization itself.
    
    So the patch just remove the alpha optimized and rely on generic
    implementation.  It fixes the math/test-*-{trunc} on alpha.
    
            [BZ #15479]
            [BZ #22666]
            * sysdeps/alpha/fpu/s_trunc.c: Remove file.
            * sysdeps/alpha/fpu/s_truncf.c: Likewise.
    
    [1] https://sourceware.org/ml/libc-alpha/2018-01/msg00114.html
    [2] https://www.star.bnl.gov/public/daq/HARDWARE/21264_data_sheet.pdf
    [3] https://sourceware.org/ml/libc-alpha/2018-01/msg00086.html
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 4854ddd874d4aafb1ac21f551abda58ac4f9144d
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jan 3 15:36:53 2018 -0200

    alpha: Remove s_ceil{f} and s_floor{f} implementation (BZ#22665)
    
    As discussed in libc-alpha [1], alpha ceil{f} and floor{f}
    implementation uses cvttq/svm and although the Alpha Architecture
    Handbook version 3 states that that CVTfi OUTPUT Exceptions
    (B.3 Mapping to IEEE Standard) should not generate Inexact if INE
    bit is set on fpcr, the Alpha 21264 [1] chip manual (A.8 IEEE
    Floating-Point Conformance) states that CVTfi and CVTif OUTPUT
    does generate inexact exception for inexact result regardless.
    
    As Joseph noted [2] to correctly fix it on alpha we need to either
    avoid the instruction or avoid any inexact bit from it being set
    on return from the function (while preserving the inexact bit that
    might be set on the entry to the function).  The later will result
    mf_fpcr followed by a mt_fpcr to get and set the fpcr which will
    defeat the optimization itself.
    
    So the patch just remove the alpha optimized and rely on generic
    implementation.  It fixes the math/test-*-{ceil,floor} on alpha.
    
        [BZ #15479]
        [BZ #22665]
        * sysdeps/alpha/fpu/s_ceil.c: Remove file.
        * sysdeps/alpha/fpu/s_ceilf.c: Likewise.
        * sysdeps/alpha/fpu/s_floor.c: Likewise.
        * sysdeps/alpha/fpu/s_floorf.c: Likewise.
    
    [1] https://www.star.bnl.gov/public/daq/HARDWARE/21264_data_sheet.pdf
    [2] https://sourceware.org/ml/libc-alpha/2018-01/msg00086.html
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 8a5df95ffa83f525a4f638ead743f4fa2b7fe45a
Author: Florian Weimer <address@hidden>
Date:   Thu Jan 4 18:00:05 2018 +0100

    i386: In makecontext, align the stack before calling exit [BZ #22667]
    
    Before this change, if glibc was compiled with SSE instructions and a
    sufficiently recent GCC, an unaligned stack access in
    __run_exit_handlers would cause stdlib/tst-makecontext to crash.

commit 82eef55f8fad3e00c53050de5d6ebea08df488b3
Author: Florian Weimer <address@hidden>
Date:   Thu Jan 4 18:46:17 2018 +0100

    elf: Support dlvsym within libc.so
    
    This commit adds a new _dl_open_hook entry for dlvsym and implements the
    function using the existing dl_lookup_symbol_x function supplied by the
    dynamic loader.
    
    A new hook variable, _dl_open_hook2, is introduced, which should make
    this change suitable for backporting: For old statically linked
    binaries, __libc_dlvsym will always return NULL.

commit 7abf02f3ee7627d617def77d0d6e7bea2da8d98c
Author: Samuel Thibault <address@hidden>
Date:   Thu Jan 4 15:11:41 2018 +0100

    support_enter_mount_namespace: Fix indentation
    
        * support/support_enter_mount_namespace.c: Fix indentation.

commit 31f96325ca03429053199403651bb1b1b4db1dfb
Author: Florian Weimer <address@hidden>
Date:   Thu Jan 4 13:39:21 2018 +0100

    Mention CVE-2017-16997 in ChangeLog

commit 1714fc06e08db35fc3638ddde259d61c7a764861
Author: Samuel Thibault <address@hidden>
Date:   Thu Jan 4 00:54:13 2018 +0100

    hurd: Fix support/support_enter_mount_namespace.c build
    
        * support/support_enter_mount_namespace.c [!CLONE_NEWNS]: Do not
        include <sys/mount.h>.

commit 3c7d03129498e7426855b5d4cdd5b7109ecc2172
Author: Wilco Dijkstra <address@hidden>
Date:   Wed Jan 3 13:14:10 2018 +0000

    Improve math_errhandling
    
    Currently math_errhandling is always set to MATH_ERRNO | MATH_ERREXCEPT
    even if -fno-math-errno is used.  It is not defined at all when fast-math
    is used.  Set it to 0 with fast-math - this is noncomforming but more
    useful than not define math_errhandling at all. Also take __NO_MATH_ERRNO__
    into account and update comment.
    
        * math/math.h (math_errhandling): Set to 0 with __FAST_MATH__.
        Add __NO_MATH_ERRNO__ check.

commit 7eff095459d5720642e0a8e6766852fe2fa65310
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 2 21:55:15 2018 +0000

    Update MIPS libm-test-ulps.
    
        * sysdeps/mips/mips32/libm-test-ulps: Update.
        * sysdeps/mips/mips64/libm-test-ulps: Likewise.

commit 77f499568d17200e7644179db648170d7bc5c18e
Author: Florian Weimer <address@hidden>
Date:   Tue Jan 2 22:07:43 2018 +0100

    misc/tst-pselect.c: Add copyright header
    
    The initial year is based on the date in the original ChangeLog entry
    (2006-01-21).
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 3e4226ffdf20a7d060cd43dd0fad2829cef43755
Author: Aurelien Jarno <address@hidden>
Date:   Tue Jan 2 21:05:29 2018 +0100

    Simplify getrlimit64.c
    
    Changelog:
        * sysdeps/unix/sysv/linux/alpha/getrlimit64.c (__old_getrlimit64):
        Drop __RLIM_T_MATCHES_RLIM64_T conditional as __old_getrlimit64 is
        never defined in that case.

commit d35989be876fea4e0932da64a1874c29136ef1aa
Author: Aurelien Jarno <address@hidden>
Date:   Tue Jan 2 21:05:29 2018 +0100

    Fix typos in getrlimit64.c and setrlimit64.c
    
    Changelog:
        * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Fix a typo in the
        comment.
        * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Fix a typo in the
        comment.
        (settrlimit): Rename into setrlimit.
        (__sttrlimit): Rename into __setrlimit.

commit 28fd6a44cb57afeb8a03fb8dd102cf9f5b5a5071
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 2 18:38:45 2018 +0000

    Update powerpc-nofpu libm-test-ulps.
    
        * sysdeps/powerpc/nofpu/libm-test-ulps: Update.

commit a4933a1562b0331de80dda6bc972f4ce0b537005
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 2 18:37:06 2018 +0000

    Update ARM libm-test-ulps.
    
        * sysdeps/arm/libm-test-ulps: Update.

commit b9256ab6bb81e6cf983f31f5162dbc9fad4c293a
Author: Joseph Myers <address@hidden>
Date:   Tue Jan 2 18:33:18 2018 +0000

    Reduce command length in regen-ulps.
    
    I found that "make regen-ulps" failed when building with unmodified
    GNU make 4.1, and an objdir /some/where/math/ longer than about 37
    characters, because the list of tests in the "for run in $^" loop
    exceeded the Linux kernel's MAX_ARG_STRLEN limit (131072 bytes) on the
    length of a single argument passed to a command.
    
    Some GNU/Linux distributions have a patch to make to work around this
    limit (see e.g. Debian bug 688601), but clearly this ought to work
    without needing such a patch.  This patch arranges for the shell loop
    to be over the test names without a $(objdir) prefix, which reduces
    the space used to less than half MAX_ARG_STRLEN.
    
    (I think we ought to aim to get rid of bits/mathinline.h completely -
    filing GCC bugs for any optimizations GCC can't currently do with
    -ffast-math - which would mean we could halve the number of libm tests
    run because separate inline function tests would no longer be needed.
    However, with a long directory name even half the number of tests
    could make this command exceed MAX_ARG_STRLEN without my patch.)
    
    Tested regen-ulps on a system where it failed before this patch.
    
        * math/Makefile (run-regen-ulps): Add $(objpfx) to test name here.
        (regen-ulps): Use $(libm-tests) not $^ in shell loop.

commit 4cf82d2379809ea7c06e04adbc8de22c9d507d03
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Jan 2 21:49:49 2018 +0530

    Update NEWS to add cosf and sincosf optimization

commit 6a9dd7a7c506a215952cd355505bad5b276e42e8
Author: Aurelien Jarno <address@hidden>
Date:   Tue Jan 2 09:55:48 2018 +0100

    Remove alpha specific fmax, fmin to fix sNaN handling [BZ #22660]
    
    Various fmax and fmin function implementations mishandle sNaN
    arguments:
    
    (a) When both arguments are NaNs, the return value should be a qNaN,
    but sometimes it is an sNaN if at least one argument is an sNaN.
    
    (b) Under TS 18661-1 semantics, if either argument is an sNaN then the
    result should be a qNaN (whereas if one argument is a qNaN and the
    other is not a NaN, the result should be the non-NaN argument).
    Various implementations treat sNaNs like qNaNs here.
    
    One way to fix that is to detect the sNaN and add a special case. That
    said there is no FPU instruction to do that, so it requires transfering
    the FP value to an integer register and testing bits. This becomes quite
    complicated so it's probably better to just use the generic versions of
    these functions which just do that through issignaling.
    
    Changelog:
        [BZ #22660]
        * sysdeps/alpha/fpu/s_fmax.S: Remove file.
        * sysdeps/alpha/fpu/s_fmaxf.S: Likewise.
        * sysdeps/alpha/fpu/s_fmin.S: Likewise.
        * sysdeps/alpha/fpu/s_fminf.S: Likewise.

commit b05cb613e7ae507680c8d914b3e788eea782c0d6
Author: Dmitry V. Levin <address@hidden>
Date:   Fri Dec 29 23:19:32 2017 +0000

    linux/arm: sync sys/ptrace.h with Linux 4.15 [BZ #22433]
    
    Clone generic linux/sys/ptrace.h, remove x86-specific PTRACE_GETFPXREGS
    and PTRACE_SETFPXREGS constants, add the following arm-specific
    __ptrace_request constants: PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS,
    PTRACE_GET_THREAD_AREA, PTRACE_SET_SYSCALL, PTRACE_GETCRUNCHREGS,
    PTRACE_SETCRUNCHREGS, PTRACE_GETVFPREGS, PTRACE_SETVFPREGS,
    PTRACE_GETHBPREGS, PTRACE_SETHBPREGS, and PTRACE_GETFDPIC.
    
    Tested with strace.
    
    * sysdeps/unix/sysv/linux/arm/sys/ptrace.h: New file.

commit dbba87d531ad3ea372eba6cb56436a231ca7fb32
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 27 22:12:51 2017 +0000

    elf: check for rpath emptiness before making a copy of it
    
    * elf/dl-load.c (decompose_rpath): Check for rpath emptiness before
    making a copy of it.

commit 66ac23dec2373bc4188bc8801280545316a63267
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 1 18:05:06 2018 +0000

    Update miscellaneous files from upstream sources.
    
    This patch updates various files from their upstream sources.  This
    brings in copyright date updates for some of those files.
    
    Tested for x86_64.
    
        * manual/texinfo.tex: Update to version 2017-12-26.21 with
        trailing whitespace removed.
        * scripts/config.guess: Update to version 2018-01-01.
        * scripts/config.sub: Update to version 2018-01-01.
        * scripts/move-if-change: Update from gnulib.

commit bf800d7023b79762f35474d00adb1b5b576ac68b
Author: Zack Weinberg <address@hidden>
Date:   Sun Dec 31 17:12:01 2017 -0800

    Remove accidentally-committed junk file dev/null

commit 09533208febe923479261a27b7691abef297d604
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 1 00:41:16 2018 +0000

    Update copyright dates not handled by scripts/update-copyrights.
    
    I've updated copyright dates in glibc for 2018.  This is the patch for
    the changes not generated by scripts/update-copyrights and subsequent
    build / regeneration of generated files.
    
    Please remember to include 2018 in the dates for any new files added
    in future (which means updating any existing uncommitted patches you
    have that add new files to use the new copyright dates in them).
    
        * NEWS: Update copyright dates.
        * catgets/gencat.c (print_version): Likewise.
        * csu/version.c (banner): Likewise.
        * debug/catchsegv.sh: Likewise.
        * debug/pcprofiledump.c (print_version): Likewise.
        * debug/xtrace.sh (do_version): Likewise.
        * elf/ldconfig.c (print_version): Likewise.
        * elf/ldd.bash.in: Likewise.
        * elf/pldd.c (print_version): Likewise.
        * elf/sotruss.sh: Likewise.
        * elf/sprof.c (print_version): Likewise.
        * iconv/iconv_prog.c (print_version): Likewise.
        * iconv/iconvconfig.c (print_version): Likewise.
        * locale/programs/locale.c (print_version): Likewise.
        * locale/programs/localedef.c (print_version): Likewise.
        * login/programs/pt_chown.c (print_version): Likewise.
        * malloc/memusage.sh (do_version): Likewise.
        * malloc/memusagestat.c (print_version): Likewise.
        * malloc/mtrace.pl: Likewise.
        * manual/libc.texinfo: Likewise.
        * nptl/version.c (banner): Likewise.
        * nscd/nscd.c (print_version): Likewise.
        * nss/getent.c (print_version): Likewise.
        * nss/makedb.c (print_version): Likewise.
        * posix/getconf.c (main): Likewise.
        * scripts/test-installation.pl: Likewise.
        * sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise.

commit 688903eb3ef01301d239ab753d309d45720610a7
Author: Joseph Myers <address@hidden>
Date:   Mon Jan 1 00:32:25 2018 +0000

    Update copyright dates with scripts/update-copyrights.
    
        * All files with FSF copyright notices: Update copyright dates
        using scripts/update-copyrights.
        * locale/programs/charmap-kw.h: Regenerated.
        * locale/programs/locfile-kw.h: Likewise.

commit 4f820792a6217027744d38fc223257914847bbcc
Author: Zack Weinberg <address@hidden>
Date:   Sun Dec 31 08:50:34 2017 -0800

    Correct improper-inclusion check in bits/libio-ldbl.h.
    
    The patch which moved libio.h proper into the bits directory also
    changed the name of its guard macro, and I neglected to check whether
    anything depended on that name.  It turns out that there is a
    conditionally-used bits header that looks at it; this broke the libgcc
    build on at least sparc64-*-* and sparcv9-*-*.
    
        * libio/bits/libio-ldbl.h: Correct check for improper
        inclusion.  Add own multiple include guard.

commit 3e3c904daef69b8bf7d5cc07f793c9f07c3553ef
Author: Aurelien Jarno <address@hidden>
Date:   Sat Dec 30 10:54:23 2017 +0100

    elf: Check for empty tokens before dynamic string token expansion [BZ 
#22625]
    
    The fillin_rpath function in elf/dl-load.c loops over each RPATH or
    RUNPATH tokens and interprets empty tokens as the current directory
    ("./"). In practice the check for empty token is done *after* the
    dynamic string token expansion. The expansion process can return an
    empty string for the $ORIGIN token if __libc_enable_secure is set
    or if the path of the binary can not be determined (/proc not mounted).
    
    Fix that by moving the check for empty tokens before the dynamic string
    token expansion. In addition, check for NULL pointer or empty strings
    return by expand_dynamic_string_token.
    
    The above changes highlighted a bug in decompose_rpath, an empty array
    is represented by the first element being NULL at the fillin_rpath
    level, but by using a -1 pointer in decompose_rpath and other functions.
    
    Changelog:
        [BZ #22625]
        * elf/dl-load.c (fillin_rpath): Check for empty tokens before dynamic
        string token expansion. Check for NULL pointer or empty string possibly
        returned by expand_dynamic_string_token.
        (decompose_rpath): Check for empty path after dynamic string
        token expansion.

commit c48831d0eebf876d986919baf2d9240a79192837
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 27 00:54:38 2017 +0000

    linux/x86: sync sys/ptrace.h with Linux 4.14 [BZ #22433]
    
    Clone generic linux/sys/ptrace.h, add the following x86-specific
    __ptrace_request constants: PTRACE_GET_THREAD_AREA,
    PTRACE_SET_THREAD_AREA, PTRACE_ARCH_PRCTL, PTRACE_SYSEMU,
    PTRACE_SYSEMU_SINGLESTEP, and PTRACE_SINGLEBLOCK.
    
    [BZ #22433]
    * sysdeps/unix/sysv/linux/x86/sys/ptrace.h: New file.

commit ac583f50744a81899cf4298232c1a1358dcd29ab
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 27 00:54:38 2017 +0000

    linux: update sys/ptrace.h comments
    
    * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Add comments
    about PTRACE_PEEKSIGINFO, PTRACE_GETSIGMASK, PTRACE_SETSIGMASK, and
    PTRACE_SECCOMP_GET_FILTER.  Update comments about PTRACE_SINGLESTEP
    and PTRACE_SYSCALL.
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise.

commit 7e21972bde2b92de5862dcf373dcc5efe2a66e0a
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 27 00:54:38 2017 +0000

    linux: move a shared part of sys/ptrace.h to bits/ptrace-shared.h
    
    Move a shared part of sys/ptrace.h which is the same on all
    architectures to a separate file.
    
    * sysdeps/unix/sysv/linux/sys/ptrace.h: Include <bits/ptrace-shared.h>.
    (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args,
    __ptrace_peeksiginfo_flags, ptrace): Move to ...
    * sysdeps/unix/sysv/linux/bits/ptrace-shared.h: ... new file.
    * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
    bits/ptrace-shared.h.
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Include
    <bits/ptrace-shared.h>.
    (__ptrace_setoptions, __ptrace_eventcodes, __ptrace_peeksiginfo_args,
    __ptrace_peeksiginfo_flags, ptrace): Remove.
    * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise.

commit 72f29e3aab56cf9bd11d60ae351fbf9d5c709ada
Author: Aurelien Jarno <address@hidden>
Date:   Fri Dec 29 14:44:57 2017 +0100

    scandir: fix wrong assumption about errno [BZ #17804]
    
    malloc and realloc may set errno to ENOMEM even if they are successful.
    The scandir code wrongly assume that they do not change errno, this
    causes scandir to fail with ENOMEM even if malloc succeed.
    
    The code already handles that readdir might set errno by calling
    __set_errno (0) to clear the error. Move that part at the end of the
    loop to also take malloc and realloc into account.
    
    Changelog:
        [BZ #17804]
        * dirent/scandir-tail.c (SCANDIR_TAIL): Move __set_errno (0) at the
        end of the loop. Improve comments.

commit 54e4efc2876b329ba80a6965a2583a906d99e694
Author: Aurelien Jarno <address@hidden>
Date:   Fri Dec 29 14:44:57 2017 +0100

    manual: clarify errno value on success [BZ #22615]
    
    The current glibc manual is ambiguous about the errno value on success
    and suggests that it is left unchanged. Some functions might and
    sometimes do change the errno value, however they never set it to 0.
    
    This patch from Zack Weinberg clarifies this section of the manual.
    
    Changelog:
        [BZ #22615]
        * manual/errno.texi (Checking for Errors): Explicitly say that errno
        might be set on success.

commit f8aa69be445f65bb36cb3ae9291423600da7d6d2
Author: Aurelien Jarno <address@hidden>
Date:   Fri Dec 29 14:44:57 2017 +0100

    tst-realloc: do not check for errno on success [BZ #22611]
    
    POSIX explicitly says that applications should check errno only after
    failure, so the errno value can be clobbered on success as long as it
    is not set to zero.
    
    Changelog:
        [BZ #22611]
        * malloc/tst-realloc.c (do_test): Remove the test checking that errno
        is unchanged on success.

commit 2bd86632b7cb97dc9002a23795e140fc880e1987
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 20 11:27:51 2017 +0000

    elf: remove redundant is_path argument
    
    is_path argument is no longer used and could be safely removed.
    
    * elf/dl-dst.h (DL_DST_COUNT): Remove is_path argument, all callers
    updated.
    * elf/dl-load.c (is_dst, _dl_dst_count, _dl_dst_substitute,
    expand_dynamic_string_token): Likewise.
    * sysdeps/generic/ldsodefs.h (_dl_dst_count, _dl_dst_substitute): Remove
    is_path argument.

commit 1c36e1e6a5b9b6f9ad1c67f5d43383afb4d80339
Author: Dmitry V. Levin <address@hidden>
Date:   Wed Dec 20 11:27:51 2017 +0000

    elf: remove redundant code from is_dst
    
    is_dst is called either by _dl_dst_count or by _dl_dst_substitute.
    _dl_dst_count is called by DL_DST_COUNT only.
    DL_DST_COUNT is called either by expand_dst with is_path == 0
    or by expand_dynamic_string_token.
    _dl_dst_substitute is called either from expand_dst with is_path == 0
    or from expand_dynamic_string_token.
    The latter function is called either from _dl_map_object with is_path == 0
    or from fillin_rpath with is_path == 1 and name containing no ':'.
    
    In any case (is_path && name[i] == ':') is always false and all code
    depending on it can be safely removed.
    
    * elf/dl-load.c (is_dst): Remove checks that is_path is set and name
    contains ':', and all code depending on these checks.

commit 97f13188c9fbafeaab89146996b3cce1f4952b5e
Author: Dmitry V. Levin <address@hidden>
Date:   Tue Dec 19 21:06:23 2017 +0000

    elf: remove redundant code from _dl_dst_substitute
    
    There are just two users of _dl_dst_substitute: one is expand_dst that
    sets is_path argument to 0, another one is expand_dynamic_string_token.
    The latter function also has just two users: one is _dl_map_object that
    sets is_path argument to 0, another one is fillin_rpath that sets
    is_path argument to 1 and name argument contains no ':'.
    
    In any case (is_path && name[i] == ':') is always false and all code
    depending on it can be safely removed.
    
    * elf/dl-load.c (_dl_dst_substitute): Remove checks that is_path
    is set and name contains ':', and all code depending on these checks.

commit 48a8f8328122ab8d06b7333cb87be46feeaf7cca
Author: Zack Weinberg <address@hidden>
Date:   Sat Dec 23 00:06:03 2017 -0500

    Deprecate external use of libio.h and _G_config.h.
    
    libio.h was originally the header for a set of supported GNU
    extensions, but they have not been maintained as such in many years,
    they are now standing in the way of improvements to stdio, and we
    don't think there are any remaining external users.  _G_config.h was
    never intended for public use, but predates the bits convention.
    Move both of these headers into the bits directory and provide stubs
    at top level which issue deprecation warnings.
    
    The contents of (bits/)libio.h and (bits/)_G_config.h are still
    exposed to external software via stdio.h; changing that requires more
    complex surgery than I have time to attempt right now.
    
        * libio/libio.h, libio/_G_config.h: New stub headers which issue a
        deprecation warning and then include <bits/libio.h>, <bits/_G_config.h>
        respectively.
        * libio/libio.h: Rename the original version of this file to
        libio/bits/libio.h.  Error out if not included by stdio.h or the
        stub libio.h.
        * include/libio.h: Move to include/bits.  Forward to libio/bits/libio.h.
        * sysdeps/generic/_G_config.h: Move to top-level bits/.  Error out
        if not included by bits/libio.h or the stub _G_config.h.
        * sysdeps/unix/sysv/linux/_G_config.h: Move to
        sysdeps/unix/sysv/linux/bits.  Error out if not included by
        bits/libio.h or the stub _G_config.h.
        * libio/stdio.h: Include bits/libio.h, not libio.h.
        * libio/Makefile: Install bits/libio.h and bits/_G_config.h as
        well as libio.h and _G_config.h.
    
        * csu/init.c, libio/fmemopen.c, libio/iolibio.h, libio/oldfmemopen.c
        * libio/strfile.h, stdio-common/vfscanf.c
        * sysdeps/pthread/flockfile.c, sysdeps/pthread/funlockfile.c
        Include stdio.h, not _G_config.h nor libio.h.
        * libio/iofgetpos.c: Also rename fgetpos64 out of the way.
        * libio/iofsetpos.c: Also rename fsetpos64 out of the way.
    
        * scripts/check-installed-headers.sh: Skip libio.h and _G_config.h.

commit a47ad79afa454192224214a3db2499de12baf93e
Author: Dmitry V. Levin <address@hidden>
Date:   Sat Dec 23 14:27:30 2017 +0000

    getrandom: fix comment [BZ #22347]
    
    * stdlib/getrandom.c (getrandom): Fix comment.
    * sysdeps/unix/sysv/linux/getrandom.c (getrandom): Likewise.

commit f5c558f3ecdf1d635f5614f5b49cd630786df46a
Author: Aurelien Jarno <address@hidden>
Date:   Sat Dec 23 14:53:07 2017 +0100

    manual: fix a typo in strtoul description [BZ #21161]
    
    Typo reported by Vincent Lefèvre: 'retrict' -> 'restrict'.
    
    Changelog:
        [BZ #21161]
        * manual/arith.texi (strtoul): Fix a typo.

commit e65a5644e6614d8f3e5dbcb2aa3e3f9f36ac6da9
Author: Aurelien Jarno <address@hidden>
Date:   Sat Dec 23 11:48:28 2017 +0100

    manual: fix finite description [BZ #22596]
    
    That way it matches the standard and the behaviour of the finite
    function.
    
    Changelog:
        [BZ #22596]
        * manual/arith.texi (finite): Fix the description of the return
        value.

commit ed8ae46bed42772a5b22b710fb12d7f59ae084b4
Author: Eric Blake <address@hidden>
Date:   Fri Dec 22 07:57:25 2017 -0800

    Avoid gcc warnings on cygwin
    
    * posix/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
    * posix/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
    Avoid unused variable.

commit bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f
Author: Florian Weimer <address@hidden>
Date:   Fri Dec 22 10:55:40 2017 +0100

    copy_file_range: New function to copy file data
    
    The semantics are based on the Linux system call, but a very close
    emulation in user space is provided.

commit 6cb86fd21ca6fdfc31042cda8c37f96c46b8a4da
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Dec 20 11:00:29 2017 +0000

    Add aarch64 disable-multi-arch variant to build-many-glibcs.py
    
    aarch64 has several ifuncs now so test it without multiarch support 
separately.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Add
        disable-multi-arch variant to aarch64-linux-gnu.

commit 41d11b15a10ab049598ac053f75e9b59deafc537
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 20 22:26:24 2017 +0000

    Update miscellaneous files from upstream sources.
    
    This patch updates various miscellaneous files from their upstream
    sources.
    
    Tested for x86_64, including "make pdf".
    
        * manual/texinfo.tex: Update to version 2017-12-18.20 with
        trailing whitespace removed.
        * scripts/config.guess: Update to version 2017-12-17.
        * scripts/config.sub: Update to version 2017-11-23.
        * scripts/install-sh: Update to version 2017-09-23.17.
        * scripts/move-if-change: Update to version 2017-09-13 06:45.

commit 8d2d239cb7db9df7b486d5f153c90865443e7abb
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Dec 13 16:14:30 2017 -0200

    Simplify tile assembly definitions
    
    With tilepro removal, the uppercase instruction are not anymore
    required to be defines as potentially macros.  This is a
    mechanical change done by the following shell script:
    
    ---
    INSNS="LD LD4U ST ST4 BNEZ BEQZ BEQZT BGTZ CMPEQI CMPEQ CMOVEQZ CMOVNEZ"
    
    FILES=$(find sysdeps/tile sysdeps/unix/sysv/linux/tile -iname *.S)
    
    for insn in $INSNS; do
      repl=$(echo $insn | tr '[:upper:]' '[:lower:]')
      sed -i 's/\b'$insn'\b/'$repl'/g' $FILES
    done
    ---
    
    Checked with a build for tilegx-linux-gnu and tilegx-linux-gnu-32 with
    and without the patch, there is no difference in generated binary with
    a dissassemble.
    
        * sysdeps/tile/__longjmp.S (__longjmp): Use lowercase instructions.
        * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise.
        * sysdeps/tile/_mcount.S (__mcount): Likewise.
        * sysdeps/tile/crti.S (_init, _fini): Likewise.
        * sysdeps/tile/crtn.S: Likewise.
        * sysdeps/tile/dl-start.S (_start): Likewise.
        * sysdeps/tile/dl-trampoline.S: Likewise.
        * sysdeps/tile/setjmp.S (__sigsetjmp): Likewise.
        * sysdeps/tile/start.S (_start): Likewise.
        * sysdeps/unix/sysv/linux/tile/clone.S (_clone): Likewise.
        * sysdeps/unix/sysv/linux/tile/getcontext.S (__getcontext): Likewise.
        * sysdeps/unix/sysv/linux/tile/ioctl.S (__ioctl): Likewise.
        * sysdeps/unix/sysv/linux/tile/setcontext.S (__setcontext): Likewise.
        * sysdeps/unix/sysv/linux/tile/swapcontext.S (__swapcontext): Likewise.
        * sysdeps/unix/sysv/linux/tile/syscall.S (syscall): Likewise.
        * sysdeps/unix/sysv/linux/tile/vfork.S (__vfork): Likewise.

commit 24d1d8ec9e529ed66c49e17366fe5a889d483670
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Dec 13 11:43:39 2017 -0200

    Simplify tilegx sysdeps folder
    
    With tilepro support removal we can now simplify internal tile support by
    moving the directory structure to avoid the unnecessary directory levels
    in tile/tilegx both on generic and linux folders.
    
    Checked with a build for tilegx-linux-gnu and tilegx-linux-gnu-32 with
    and without the patch, there is no difference in generated binary with
    a dissassemble.
    
        * stdlib/bug-getcontext.c (do_test): Remove tilepro mention in
        comment.
        * sysdeps/tile/preconfigure: Remove tilegx folder.
        * sysdeps/tile/tilegx/Implies: Move definitions to ...
        * sysdeps/tile/Implies: ... here.
        * sysdeps/tile/tilegx/Makefile: Move rules to ...
        * sysdeps/tile/Makefile: ... here.
        * sysdeps/tile/tilegx/atomic-machine.h: Move definitions to ...
        * sysdeps/tile/atomic-machine.h: ... here.  Add include guards.
        * sysdeps/tile/tilegx/bits/wordsize.h: Move to ...
        * sysdeps/tile/bits/wordsize.h: ... here.
        * sysdeps/tile/tilegx/*: Move to ...
        * sysdeps/tile/*: ... here.
        * sysdeps/tile/tilegx/tilegx32/Implies: Move to ...
        * sysdeps/tile/tilegx32/Implies: ... here.
        * sysdeps/tile/tilegx/tilegx64/Implies: Move to ...
        * sysdeps/tile/tilegx64/Implies: ... here.
        * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Move definitions
        to ...
        * sysdeps/unix/sysv/linux/tile/Makefile: ... here.
        * sysdeps/unix/sysv/linux/tile/tilegx/*: Move to ...
        * sysdeps/unix/sysv/linux/tile/*: ... here.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/*: Move to ...
        * sysdeps/unix/sysv/linux/tile/tilegx32/*: ... here.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/*: Move to ...
        * sysdeps/unix/sysv/linux/tile/tilegx64/*: ... here.

commit ed95f6114928f00f5f8fe76ccf2ec9e77872cbad
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Dec 12 19:15:45 2017 -0200

    Remove tilepro-*-linux-gnu support
    
    As from previous discussions [1] this patch removes tileprox-*-linux-gnu
    support from GLIBC.  This patch is a straigthfoward one, which just remove
    tilepro specific implementation and configurations (no sysdep simplfication
    or reorganization is done).
    
        * README: Remove tilepro-*-linux-gnu from supported architecture.
        * scripts/build-many-glibcs.py: Likewise.
        * sysdeps/tile/__tls_get_addr.S (__tls_get_addr): Likewise.
        * sysdeps/tile/crti.S (PREINIT_FUNCTION): Likewise.
        * sysdeps/tile/dl-machine.h (ELF_MACHINE_NAME,
        elf_machine_matches_host, elf_machine_dynamic,
        elf_machine_load_address, elf_machine_runtime_setup, reloc_howto
        howto, elf_machine_rela): Likewise
        * sysdeps/tile/dl-start.S (_start): Likewise.
        * sysdeps/tile/memcmp.c (DBLALIGN, REVBYTES): Likewise.
        * sysdeps/tile/memcopy.h (MEMCPY_OK_FOR_FWD_MEMMOVE,
        MEMCPY_OK_FOR_FWD_MEMMOVE, op_t): Likewise.
        * sysdeps/tile/nptl/pthread_spin_lock.c (TNS, CMPTNS): Likewise.
        * sysdeps/tile/nptl/pthread_spin_trylock.c (TNS): Likewise.
        * sysdeps/tile/nptl/pthread_spin_unlock.c (pthread_spin_unlock):
        Likewise.
        * sysdeps/tile/nptl/tls.h (DB_THREAD_SELF): Likewise.
        * sysdeps/tile/preconfigure: Likewise.
        * sysdeps/tile/stackguard-macros.h (STACK_CHK_GUARD,
        POINTER_CHK_GUARD): Likewise.
        * sysdeps/tile/stackinfo.h (__stackinfo_sub): Likewise.
        * sysdeps/tile/start.S (_start): Likewise.
        * sysdeps/tile/tls-macros.h (TLS_GD_OFFSET, TLS_IE_OFFSET, _TLS_LE):
        Likewise.
        * sysdeps/tile/sysdep.h (REGSIZE): Likewise.
        (LD, LD4U, ST, ST4, BNEZ, BEQZ, BEQZT, BGTZ, CMPEQI, CMPEQ, CMOVEQZ,
        CMOVNEZ): Remove.
        * sysdeps/unix/sysv/linux/tile/bits/environments.h
        (__ILP32_OFF32_CFLAGS, __ILP32_OFFBIG_CFLAGS, __ILP32_OFF32_LDFLAGS,
        __ILP32_OFFBIG_LDFLAGS, __LP64_OFF64_CFLAGS, __LP64_OFF64_LDFLAGS):
        Likewise.
        * sysdeps/tile/wordcopy.c (DBLALIGN): Likewise.
        * sysdeps/tile/tilepro/Implies: Remove file.
        * sysdeps/tile/tilepro/atomic-machine.h: Likewise.
        * sysdeps/tile/tilepro/bits/wordsize.h: Likewise.
        * sysdeps/tile/tilepro/memchr.c: Likewise.
        * sysdeps/tile/tilepro/memcpy.S: Likewise.
        * sysdeps/tile/tilepro/memset.c: Likewise.
        * sysdeps/tile/tilepro/memusage.h: Likewise.
        * sysdeps/tile/tilepro/rawmemchr.c: Likewise.
        * sysdeps/tile/tilepro/strchr.c: Likewise.
        * sysdeps/tile/tilepro/strchrnul.c: Likewise.
        * sysdeps/tile/tilepro/strlen.c: Likewise.
        * sysdeps/tile/tilepro/strrchr.c: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/Implies: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/c++-types.data: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/ld.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/ldconfig.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libBrokenLocale.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libanl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libcrypt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libdl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libnsl.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libpthread.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libresolv.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/librt.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libthread_db.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libutil.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/register-dump.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/sysconf.c (linux_sysconf): Remove
        tilepro mention in comment.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-12/msg00038.html

commit 4735850f7a4f07f05ee9ff405238332f4bb3ab50
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jan 25 17:08:51 2017 -0200

    nptl: Consolidate pthread_{timed,try}join{_np}
    
    This patch consolidates the pthread_join and gnu extensions to avoid
    code duplication.  The function pthread_join, pthread_tryjoin_np, and
    pthread_timedjoin_np are now based on pthread_timedjoin_ex.
    
    It also fixes some inconsistencies on ESRCH, EINVAL, EDEADLK handling
    (where each implementation differs from each other) and also on
    clenup handler (which now always use a CAS).
    
    Checked on i686-linux-gnu and x86_64-linux-gnu.
    
        * nptl/pthreadP.h (__pthread_timedjoin_np): Define.
        * nptl/pthread_join.c (pthread_join): Use __pthread_timedjoin_np.
        * nptl/pthread_tryjoin.c (pthread_tryjoin): Likewise.
        * nptl/pthread_timedjoin.c (cleanup): Use CAS on argument setting.
        (pthread_timedjoin_np): Define internal symbol and common code from
        pthread_join.
        * sysdeps/unix/sysv/linux/i386/lowlevellock.h (__lll_timedwait_tid):
        Remove superflous checks.
        * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_timedwait_tid):
        Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 8bfb461e20380dbc579f6dad4c54bb8a55afc82a
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Dec 18 14:40:36 2017 +0000

    aarch64: update libm-test-ulps
    
        * sysdeps/aarch64/libm-test-ulps: Update.

commit 4e00196912e63bd44f9a62a88a0f5c5fde25ad86
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Dec 20 10:39:36 2017 +0000

    aarch64: fix memset with --disable-multi-arch
    
        * sysdeps/aarch64/memset.S (MEMSET): Define.

commit 8a26ad2ab7396bc94fd3cd7b25cba433908d30e1
Author: Florian Weimer <address@hidden>
Date:   Wed Dec 20 11:40:36 2017 +0100

    nptl: Implement pthread_self in libc.so [BZ #22635]
    
    All binaries use TLS and thus need a properly set up TCB, so we can
    simply return its address directly, instead of forwarding to the
    libpthread implementation from libc.
    
    For versioned symbols, the dynamic linker checks that the soname matches
    the name supplied by the link editor, so a compatibility symbol in
    libpthread is needed.
    
    To avoid linking against the libpthread function in all cases, we would
    have to bump the symbol version of libpthread in libc.so and supply a
    compat symbol.  This commit does not do that because the function
    implementation is so small, so the overhead by two active copies of the
    same function might well be smaller than the increase in symbol table
    size.

commit 5069ff32842c60c55f8b573ee66fe43f9ec364af
Author: Arnold Robbins <address@hidden>
Date:   Tue Dec 19 19:26:08 2017 -0800

    regex: Fix spelling in comments.
    
    Fix the spelling in various comments throughout the
    regex implementation. These changes are also present
    in gnulib and will be integrated there also, see:
    https://sourceware.org/ml/libc-alpha/2017-12/msg00688.html

commit c85e54ac6cef0faed7b7ffc722f52523dec59bf5
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Nov 3 10:44:36 2017 -0200

    Provide a C++ version of iseqsig (bug 22377)
    
    In C++ mode, __MATH_TG cannot be used for defining iseqsig, because
    __MATH_TG relies on __builtin_types_compatible_p, which is a C-only
    builtin.  This is true when float128 is provided as an ABI-distinct type
    from long double.
    
    Moreover, the comparison macros from ISO C take two floating-point
    arguments, which need not have the same type.  Choosing what underlying
    function to call requires evaluating the formats of the arguments, then
    selecting which is wider.  The macro __MATH_EVAL_FMT2 provides this
    information, however, only the type of the macro expansion is relevant
    (actually evaluating the expression would be incorrect).
    
    This patch provides a C++ version of iseqsig, in which only the type of
    __MATH_EVAL_FMT2 (__typeof or decltype) is used as a template parameter
    for __iseqsig_type.  This function calls the appropriate underlying
    function.
    
    Tested for powerpc64le and x86_64.
    
        [BZ #22377]
        * math/Makefile [C++] (tests): Add test for iseqsig.
        * math/math.h [C++] (iseqsig): New implementation, which does
        not rely on __MATH_TG/__builtin_types_compatible_p.
        * math/test-math-iseqsig.cc: New file.
        * sysdeps/powerpc/powerpc64le/Makefile
        (CFLAGS-test-math-iseqsig.cc): New variable.

commit 10e93d968716ab82931d593bada121c17c0a4b93
Author: Dmitry V. Levin <address@hidden>
Date:   Mon Dec 18 21:46:07 2017 +0000

    elf: remove redundant __libc_enable_secure check from fillin_rpath
    
    There are just two users of fillin_rpath: one is decompose_rpath that
    sets check_trusted argument to 0, another one is _dl_init_paths that
    sets check_trusted argument to __libc_enable_secure and invokes
    fillin_rpath only when LD_LIBRARY_PATH is non-empty.
    
    Starting with commit
    glibc-2.25.90-512-gf6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d,
    LD_LIBRARY_PATH is ignored for __libc_enable_secure executables,
    so check_trusted argument of fillin_rpath is always zero.
    
    * elf/dl-load.c (is_trusted_path): Remove.
    (fillin_rpath): Remove check_trusted argument and its use,
    all callers changed.

commit ce16eb52c0987fd94bc13d51ddc787134a7e4b0c
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 19 13:53:00 2017 -0800

    Replece LDFLAGS-* = $(no-pie-ldflag) with tst-*-no-pie = yes [BZ #22630]
    
    After
    
    commit 9d7a3741c9e59eba87fb3ca6b9f979befce07826
    Author: H.J. Lu <address@hidden>
    Date:   Fri Dec 15 16:59:33 2017 -0800
    
        Add --enable-static-pie configure option to build static PIE [BZ #19574]
    
    and
    
    commit 00c714df398b63934540d95ce3792596f7a94a6c
    Author: H.J. Lu <address@hidden>
    Date:   Mon Dec 18 12:24:26 2017 -0800
    
        Pass -no-pie to GCC only if GCC defaults to PIE [BZ #22614]
    
    $(no-pie-ldflag) is no longer effective since no-pie-ldflag is defined
    to -no-pie only if GCC defaults to PIE.  When --enable-static-pie is
    used to configure glibc build and GCC doesn't default to PIE. no-pie-ldflag
    is undefined and these tests:
    
    elf/Makefile:LDFLAGS-tst-dlopen-aout = $(no-pie-ldflag)
    elf/Makefile:LDFLAGS-tst-prelink = $(no-pie-ldflag)
    elf/Makefile:LDFLAGS-tst-main1 = $(no-pie-ldflag)
    gmon/Makefile:LDFLAGS-tst-gmon := $(no-pie-ldflag)
    
    may fail to link.  This patch replaces "-pie" with
    
    $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie)
    
    and repleces
    
    LDFLAGS-* = $(no-pie-ldflag)
    
    with
    
    tst-*-no-pie = yes
    
    so that tst-dlopen-aout, tst-prelink, tst-main1 and tst-gmon are always
    built as non-PIE, with and without --enable-static-pie, regardless if
    GCC defaults to PIE or non-PIE.
    
    Tested with build-many-glibcs.py without --enable-static-pie as well as
    with --enable-static-pie for x86_64, x32 and i686.
    
        [BZ #22630]
        * Makeconfig (link-pie-before-libc): Replace -pie with
        $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie).
        * elf/Makefile (LDFLAGS-tst-dlopen-aout): Removed.
        (tst-dlopen-aout-no-pie): New.
        (LDFLAGS-tst-prelink): Removed.
        (tst-prelink-no-pie): New.
        (LDFLAGS-tst-main1): Removed.
        (tst-main1-no-pie): New.
        * gmon/Makefile (LDFLAGS-tst-gmon): Removed.
        (tst-gmon-no-pie): New.

commit 126adc89d8a32193df075ce665e76ad95ebd0557
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 19 13:51:01 2017 -0800

    Document that --enable-static-pie implies PIE
    
    To build static PIE, all .o files are compiled with -fPIE.  Since
    --enable-static-pie is designed to provide additional security hardening
    benefits, it also implies that glibc programs and tests are created as
    dynamic position independent executables (PIE) by default for better
    security hardening.
    
    Reviewed-by: Jonathan Nieder <address@hidden>
    
        * manual/install.texi: Document that --enable-static-pie
        implies PIE.
        * INSTALL: Regenerated.

commit 648615e13f8d7b638cb911926b8bb70804217f15
Author: Bernd Edlinger <address@hidden>
Date:   Tue Dec 19 18:41:01 2017 +0000

    Avoid signed shift overflow in pow (bug 21309).
    
    As noted in bug 21309, dbl-64/e_pow.c contains signed int shifts that,
    although the shift count is in the range [0, 31], shift bits into and
    beyond the sign bit and so are undefined in ISO C.  Although this is
    defined in GNU C, this patch from the bug cleans up the code to avoid
    those shifts.
    
    Tested for x86_64.
    
        [BZ #21309]
        * sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n
        unsigned.

commit f1e005022ebd246e1541386cd2f3286f008d2d98
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 19 18:11:37 2017 +0000

    Revert exp reimplementation (causes test failures).
    
        Revert:
    
        2017-12-19  Joseph Myers  <address@hidden>
    
        * sysdeps/x86_64/fpu/libm-test-ulps: Update.
    
        2017-12-19  Patrick McGehearty  <address@hidden>
    
        * sysdeps/ieee754/dbl-64/e_exp.c: Include <math-svid-compat.h> and
        <errno.h>.  Include "eexp.tbl".
        (half): New constant.
        (one): Likewise.
        (__ieee754_exp): Rewrite.
        (__slowexp): Remove prototype.
        * sysdeps/ieee754/dbl-64/eexp.tbl: New file.
        * sysdeps/ieee754/dbl-64/slowexp.c: Remove file.
        * sysdeps/i386/fpu/slowexp.c: Likewise.
        * sysdeps/ia64/fpu/slowexp.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise.
        * sysdeps/generic/math_private.h (__slowexp): Remove prototype.
        * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in
        comment.
        * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math]
        (CPPFLAGS-slowexp.c): Remove variable.
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Remove slowexp-fma, slowexp-fma4 and slowexp-avx.
        (CFLAGS-slowexp-fma.c): Remove variable.
        (CFLAGS-slowexp-fma4.c): Likewise.
        (CFLAGS-slowexp-avx.c): Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not
        define as macro.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise.
        * math/Makefile (type-double-routines): Remove slowexp.
        * manual/probes.texi (slowexp_p6): Remove.
        (slowexp_p32): Likewise.

commit e184ac3a105a4a45b920bf2cdaa701a683c781a2
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Dec 19 14:44:50 2017 -0200

    glob: Silence warning about void pointer arithmetic
    
    Sync with gnulib 0e14f025d2.
    
    Checked on x86_64-linux-gnu.
    
        * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
        arithmetic.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit d711a00f93fa964f41a53839228598fbf1a6b482
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Dec 19 14:27:09 2017 -0200

    glob: pacify fuzzer for mempcpy
    
    Problem reported by Tim Rühsen [1].  Sync with gnulib 0e14f025d2.
    
    [1] https://lists.gnu.org/archive/html/bug-gnulib/2017-10/msg00054.html
    
    Checked on x86_64-linux-gnu.
    
        * lib/glob.c (glob): Do not pass NULL to mempcpy.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 6f58c10dedc6f3be2b537e15219c4dfe49163d8e
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 19 17:38:41 2017 +0000

    Update x86_64 libm-test-ulps.
    
        * sysdeps/x86_64/fpu/libm-test-ulps: Update.

commit 6fd0a3c6a887a91b1554730c977657a7e65334cc
Author: Patrick McGehearty <address@hidden>
Date:   Tue Dec 19 17:25:14 2017 +0000

    Improve __ieee754_exp() performance by greater than 5x on sparc/x86.
    
    These changes will be active for all platforms that don't provide
    their own exp() routines. They will also be active for ieee754
    versions of ccos, ccosh, cosh, csin, csinh, sinh, exp10, gamma, and
    erf.
    
    Typical performance gains is typically around 5x when measured on
    Sparc s7 for common values between exp(1) and exp(40).
    
    Using the glibc perf tests on sparc,
          sparc (nsec)    x86 (nsec)
          old     new     old     new
    max   17629   395    5173     144
    min     399    54      15      13
    mean   5317   200    1349      23
    
    The extreme max times for the old (ieee754) exp are due to the
    multiprecision computation in the old algorithm when the true value is
    very near 0.5 ulp away from an value representable in double
    precision. The new algorithm does not take special measures for those
    cases. The current glibc exp perf tests overrepresent those values.
    Informal testing suggests approximately one in 200 cases might
    invoke the high cost computation. The performance advantage of the new
    algorithm for other values is still large but not as large as indicated
    by the chart above.
    
    Glibc correctness tests for exp() and expf() were run. Within the
    test suite 3 input values were found to cause 1 bit differences (ulp)
    when "FE_TONEAREST" rounding mode is set. No differences in exp() were
    seen for the tested values for the other rounding modes.
    Typical example:
    exp(-0x1.760cd2p+0)  (-1.46113312244415283203125)
     new code:    2.31973271630014299393707e-01   0x1.db14cd799387ap-3
     old code:    2.31973271630014271638132e-01   0x1.db14cd7993879p-3
        exp    =  2.31973271630014285508337 (high precision)
    Old delta: off by 0.49 ulp
    New delta: off by 0.51 ulp
    
    In addition, because ieee754_exp() is used by other routines, cexp()
    showed test results with very small imaginary input values where the
    imaginary portion of the result was off by 3 ulp when in upward
    rounding mode, but not in the other rounding modes.  For x86, tgamma
    showed a few values where the ulp increased to 6 (max ulp for tgamma
    is 5). Sparc tgamma did not show these failures.  I presume the tgamma
    differences are due to compiler optimization differences within the
    gamma function.The gamma function is known to be difficult to compute
    accurately.
    
        * sysdeps/ieee754/dbl-64/e_exp.c: Include <math-svid-compat.h> and
        <errno.h>.  Include "eexp.tbl".
        (half): New constant.
        (one): Likewise.
        (__ieee754_exp): Rewrite.
        (__slowexp): Remove prototype.
        * sysdeps/ieee754/dbl-64/eexp.tbl: New file.
        * sysdeps/ieee754/dbl-64/slowexp.c: Remove file.
        * sysdeps/i386/fpu/slowexp.c: Likewise.
        * sysdeps/ia64/fpu/slowexp.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/slowexp.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise.
        * sysdeps/generic/math_private.h (__slowexp): Remove prototype.
        * sysdeps/ieee754/dbl-64/e_pow.c: Remove mention of slowexp.c in
        comment.
        * sysdeps/powerpc/power4/fpu/Makefile [$(subdir) = math]
        (CPPFLAGS-slowexp.c): Remove variable.
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Remove slowexp-fma, slowexp-fma4 and slowexp-avx.
        (CFLAGS-slowexp-fma.c): Remove variable.
        (CFLAGS-slowexp-fma4.c): Likewise.
        (CFLAGS-slowexp-avx.c): Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c (__slowexp): Do not
        define as macro.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c (__slowexp): Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c (__slowexp): Likewise.
        * math/Makefile (type-double-routines): Remove slowexp.
        * manual/probes.texi (slowexp_p6): Remove.
        (slowexp_p32): Likewise.

commit 3bb1ef58b989012f8199b82af6ec136da2f9fda3
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Dec 14 09:05:46 2017 -0200

    ia64: Fix memchr for large input sizes (BZ #22603)
    
    Current optimized ia64 memchr uses a strategy to check for last address
    by adding the input one with expected size.  However it does not take
    care for possible overflow.
    
    It was triggered by 3038145ca23 where default rawmemchr now uses memchr
    (p, c, (size_t)-1).
    
    This patch fixes it by implement a satured addition where overflows
    sets the maximum pointer size to UINTPTR_MAX.
    
    Checked on ia64-linux-gnu where it fixes both stratcliff and
    test-rawmemchr failures.
    
        Adhemerval Zanella  <address@hidden>
        James Clarke <address@hidden>
    
        [BZ #22603]
        * sysdeps/ia64/memchr.S (__memchr): Avoid overflow in pointer
        addition.

commit 554e3d51efdd7d15c15876b80a7cba3ad9b6a738
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Dec 14 10:07:44 2017 -0200

    sh: Fix clone exit return code (BZ #22605)
    
    Since 3f823e87cc (Call exit directly in clone (BZ #21512)) SH clone
    implementation fails to set the exit code resulting in the failures:
    
    FAIL: nptl/tst-align-clone
    FAIL: nptl/tst-getpid1
    
    This patch fixes the both testcases.
    
        [BZ #22605]
        * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Fix exit return
        code.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit cba595c350e52194e10c0006732e1991e3d0803b
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 19 02:45:16 2017 -0800

    x86: Add feature_1 to tcbhead_t [BZ #22563]
    
    On x86, padding in struct __jmp_buf_tag is used for shadow stack pointer
    to support Shadow Stack in Intel Control-flow Enforcemen Technology.
    cancel_jmp_buf has been updated to include saved_mask so that it is as
    large as struct __jmp_buf_tag.  We must suport the old cancel_jmp_buf
    in existing binaries.  Since symbol versioning doesn't work on
    cancel_jmp_buf, feature_1 is added to tcbhead_t so that setjmp and
    longjmp can check if shadow stack is enabled.  NB: Shadow stack is
    enabled only if all modules are shadow stack enabled.
    
        [BZ #22563]
        * sysdeps/i386/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
        * sysdeps/i386/nptl/tls.h (tcbhead_t): Add feature_1.
        * sysdeps/x86_64/nptl/tcb-offsets.sym (FEATURE_1_OFFSET): New.
        * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Rename __glibc_unused1
        to feature_1.

commit f81ddabffd76ac9dd600b02adbf3e1dac4bb10ec
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 19 02:43:50 2017 -0800

    Linux/x86: Update cancel_jmp_buf to match __jmp_buf_tag [BZ #22563]
    
    On x86, padding in struct __jmp_buf_tag is used for shadow stack pointer
    to support shadow stack in Intel Control-flow Enforcemen Technology.
    Since the cancel_jmp_buf array is passed to setjmp and longjmp by
    casting it to pointer to struct __jmp_buf_tag, it should be as large
    as struct __jmp_buf_tag.  Otherwise when shadow stack is enabled,
    setjmp and longjmp will write and read beyond cancel_jmp_buf when saving
    and restoring shadow stack pointer.
    
    This patch adds bits/types/__cancel_jmp_buf_tag.h to define struct
    __cancel_jmp_buf_tag so that Linux/x86 can add saved_mask to
    cancel_jmp_buf.
    
    Tested natively on i386, x86_64 and x32.  Tested hppa-linux-gnu with
    build-many-glibcs.py.
    
        [BZ #22563]
        * bits/types/__cancel_jmp_buf_tag.h: New file.
        * sysdeps/unix/sysv/linux/x86/bits/types/__cancel_jmp_buf_tag.h
        * sysdeps/unix/sysv/linux/x86/pthreaddef.h: Likewise.
        * sysdeps/unix/sysv/linux/x86/nptl/pthreadP.h: Likewise.
        * nptl/Makefile (headers): Add
        bits/types/__cancel_jmp_buf_tag.h.
        * nptl/descr.h [NEED_SAVED_MASK_IN_CANCEL_JMP_BUF]
        (pthread_unwind_buf): Add saved_mask to cancel_jmp_buf.
        * sysdeps/nptl/pthread.h: Include
        <bits/types/__cancel_jmp_buf_tag.h>.
        (__pthread_unwind_buf_t): Use struct __cancel_jmp_buf_tag with
        __cancel_jmp_buf.
        * sysdeps/unix/sysv/linux/hppa/pthread.h: Likewise.

commit 1a49fc59e42513247eaeac3feac6b099157eea7c
Author: H.J. Lu <address@hidden>
Date:   Mon Dec 18 18:11:17 2017 -0800

    Add --enable-static-pie variants to x86_64, x32 and i686
    
    Since the default GCC and binutils versions used by build-many-glibcs.py,
    which are GCC 7 branch and binutils 2.29 branch, support static PIE on
    x86_64, x32 and i686, this patch adds --enable-static-pie glibc variants
    to x86_64, x32 and i686 to get some coverage for static PIE.
    
    Tested with build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Add
        --enable-static-pie variants to x86_64, x32 and i686.

commit 664251859260d3cca6a477fb08c3b9f2b78a4fd9
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 19 02:02:26 2017 +0000

    Fix m68k bits/mathinline.h attributes (bug 22631).
    
    m68k bits/mathinline.h declares various functions with const
    attributes.  These are inappropriate for functions that have results
    depending on the rounding mode; the machine-independent
    bits/mathcalls.h only uses const attributes for a very few functions
    with no rounding mode dependence, and the m68k header should do
    likewise.  GCC uses pure for such functions with -frounding-math,
    resulting in GCC mainline warning for conflicts with between the
    header and the built-in attributes and glibc failing to build for m68k
    with GCC mainline.
    
    This patch fixes the attributes to avoid using const except when
    bits/mathcalls.h does so.  (There are a few functions where maybe
    bits/mathcalls.h could do so but doesn't, but keeping the headers in
    sync in this regard seems to be the safe approach.)
    
    Tested compilation with build-many-glibcs.py with GCC mainline.
    
        [BZ #22631]
        * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__m81_defun): Add
        argument for attrubutes.  All callers changed.
        (__inline_mathop1): Likewise.  All callers changed.
        (__inline_mathop): Likewise.  All callers changed.
        [__USE_MISC] (scalbn): Use __inline_forward instead of
        __inline_forward_c.
        [__USE_ISOC99] (scalbln): Likewise.
        [__USE_ISOC99] (nearbyint): Likewise.
        [__USE_ISOC99] (lrint): Likewise.
        [__USE_MISC] (scalbnf): Likewise.
        [__USE_ISOC99] (scalblnf): Likewise.
        [__USE_ISOC99] (nearbyintf): Likewise.
        [__USE_ISOC99] (lrintf): Likewise.
        [__USE_MISC] (scalbnl): Likewise.
        [__USE_ISOC99] (scalblnl): Likewise.
        [__USE_ISOC99] (nearbyintl): Likewise.
        [__USE_ISOC99] (lrintl): Likewise.
        * sysdeps/m68k/m680x0/fpu/mathimpl.h: All callers of
        __inline_mathop and __m81_defun changed.

commit 8e52f573a1e0c2c39968051bcf683805540deb03
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 19 00:08:49 2017 +0000

    Fix build-many-glibcs.py arm-linux-gnueabihf builds with mainline GCC.
    
    My fix to make the arm-linux-gnueabihf build-many-glibcs.py builds
    actually use the hard-float ABI as intended showed up another issue
    when building with mainline GCC: GCC now determines an FPU based on
    the selected CPU or architecture and gives an error for
    -mfloat-abi=hard when the CPU does not imply a choice of FPU.  This
    patch fixes all the affected configurations to specify a suitable
    --with-cpu, --with-fpu or -mfpu option explicitly to avoid that error
    from GCC.
    
    Tested the relevant configurations with build-many-glibcs.py with
    mainline GCC.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Specify
        CPU or FPU for ARM hard-float configurations.

commit 40c4162df6766fb1e8ede875ca8df25d8075d3a5
Author: Joseph Myers <address@hidden>
Date:   Mon Dec 18 22:55:28 2017 +0000

    Disable -Wrestrict for two nptl/tst-attr3.c tests.
    
    nptl/tst-attr3 fails to build with GCC mainline because of
    (deliberate) aliasing between the second (attributes) and fourth
    (argument to thread start routine) arguments to pthread_create.
    
    Although both those arguments are restrict-qualified in POSIX,
    pthread_create does not actually dereference its fourth argument; it's
    an opaque pointer passed to the thread start routine.  Thus, the
    aliasing is actually valid in this case, and it's deliberate in the
    test.  So this patch makes the test disable -Wrestrict for the two
    pthread_create calls in question.  (-Wrestrict was added in GCC 7,
    hence the __GNUC_PREREQ conditions, but the particular warning in
    question is new in GCC 8.)
    
    Tested compilation with build-many-glibcs.py for aarch64-linux-gnu.
    
        * nptl/tst-attr3.c: Include <libc-diag.h>.
        (do_test) [__GNUC_PREREQ (7, 0)]: Ignore -Wrestrict for two tests.

commit 5983df320af003a10ab2b965db1eecaca92c7056
Author: Joseph Myers <address@hidden>
Date:   Mon Dec 18 22:54:01 2017 +0000

    Fix truncation warnings in posix/tst-glob_symlinks.c.
    
    The test posix/tst-glob_symlinks.c fails to build with GCC mainline:
    
    tst-glob_symlinks.c: In function 'do_test':
    tst-glob_symlinks.c:124:30: error: 'snprintf' output may be truncated 
before the last format character [-Werror=format-truncation=]
       snprintf (buf, sizeof buf, "%s?", dangling_link);
                                  ^~~~~
    tst-glob_symlinks.c:124:3: note: 'snprintf' output between 2 and 4097 bytes 
into a destination of size 4096
       snprintf (buf, sizeof buf, "%s?", dangling_link);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    tst-glob_symlinks.c:128:30: error: 'snprintf' output may be truncated 
before the last format character [-Werror=format-truncation=]
       snprintf (buf, sizeof buf, "%s*", dangling_link);
                                  ^~~~~
    tst-glob_symlinks.c:128:3: note: 'snprintf' output between 2 and 4097 bytes 
into a destination of size 4096
       snprintf (buf, sizeof buf, "%s*", dangling_link);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This patch fixes the test to avoid such truncation warnings by
    increasing the buffer in question by one byte, to ensure it can hold
    any possible result of %s? or %s* formats where %s comes from a buffer
    of size PATH_MAX.
    
    Tested compilation with build-many-glibcs.py for aarch64-linux-gnu.
    
        * posix/tst-glob_symlinks.c (do_test): Increase size of buf.

commit 1421f39b7eadd3b5fbd2a3f2da1fc006b69fbc42
Author: Joseph Myers <address@hidden>
Date:   Mon Dec 18 22:52:41 2017 +0000

    Disable strncat test array-bounds warnings for GCC 8.
    
    Some strncat tests fail to build with GCC 8 because of -Warray-bounds
    warnings.  These tests are deliberately test over-large size arguments
    passed to strncat, and already disable -Wstringop-overflow warnings,
    but now the warnings for these tests come under -Warray-bounds so that
    option needs disabling for them as well, which this patch does (with
    an update on the comments; the DIAG_IGNORE_NEEDS_COMMENT call for
    -Warray-bounds doesn't need to be conditional itself, because that
    option is supported by all versions of GCC that can build glibc).
    
    Tested compilation with build-many-glibcs.py for aarch64-linux-gnu.
    
        * string/tester.c (test_strncat): Also disable -Warray-bounds
        warnings for two tests.

commit 00c714df398b63934540d95ce3792596f7a94a6c
Author: H.J. Lu <address@hidden>
Date:   Mon Dec 18 12:24:26 2017 -0800

    Pass -no-pie to GCC only if GCC defaults to PIE [BZ #22614]
    
    After --enable-static-pie is added to configure, libc_cv_pie_default is
    set to yes when either --enable-static-pie is used to configure glibc
    or GCC defaults to PIE.  We should set no-pie-ldflag to -no-pie, which
    is supported on GCC 6 and later, only if GCC defaults to PIE, not when
    --enable-static-pie is used to configure glibc.
    
    Tested on x32 with --enable-static-pie using GCC 5 and without
    --enable-static-pie using GCC 7.
    
        [BZ #22614]
        * Makeconfig (no-pie-ldflag): Set to -no-pie only if
        $(cc-pie-default) == yes.
        * config.make.in (cc-pie-default): New.
        * configure.ac (libc_cv_pie_default): Renamed to ...
        (libc_cv_cc_pie_default): This.
        (libc_cv_pie_default): Set to $libc_cv_cc_pie_default.
        * configure: Regenerated.

commit 8e1472d2c1e25e6eabc2059170731365f6d5b3d1
Author: Florian Weimer <address@hidden>
Date:   Mon Dec 18 20:04:13 2017 +0100

    ld.so: Examine GLRO to detect inactive loader [BZ #20204]
    
    GLRO (_rtld_global_ro) is read-only after initialization and can
    therefore not be patched at run time, unlike the hook table addresses
    and their contents, so this is a desirable hardening feature.
    
    The hooks are only needed if ld.so has not been initialized, and this
    happens only after static dlopen (dlmopen uses a single ld.so object
    across all namespaces).
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 49b036bce9f021ae994a85aee8b410d20b29c8b7
Author: Joseph Myers <address@hidden>
Date:   Mon Dec 18 18:50:40 2017 +0000

    Fix nscd readlink argument aliasing (bug 22446).
    
    Current GCC mainline detects that nscd calls readlink with the same
    buffer for both input and output, which is not valid (those arguments
    are both restrict-qualified in POSIX).  This patch makes it use a
    separate buffer for readlink's input (with a size that is sufficient
    to avoid truncation, so there should be no problems with warnings
    about possible truncation, though not strictly minimal, but much
    smaller than the buffer for output) to avoid this problem.
    
    Tested compilation for aarch64-linux-gnu with build-many-glibcs.py.
    
        [BZ #22446]
        * nscd/connections.c (handle_request) [SO_PEERCRED]: Use separate
        buffers for readlink input and output.

commit c85c564d1442f0bc09a6c80fca025f004e12d044
Author: Sergei Trofimovich <address@hidden>
Date:   Mon Dec 18 18:26:49 2017 +0000

    mips32: fix clobbering s0 in setjmp() [BZ #22624]
    
    Similar to commit 1ab47db00dfbc0128119e3503d3ed640ffc4830b
    ("mips64: fix clobbering s0 in setjmp() [BZ #22624]")
    as sysdeps/mips/setjmp_aux.c is almost an identical copy
    of sysdeps/mips/mips64/setjmp_aux.c.
    
        [BZ #22624]
        * sysdeps/mips/setjmp_aux.c (__sigsetjmp_aux): Use
        inhibit_stack_protector.

commit 368b6c8da9f8ae453f5d70f8a62dbf3f1b6d5995
Author: Sergei Trofimovich <address@hidden>
Date:   Mon Dec 18 17:23:02 2017 +0000

    mips64: fix clobbering s0 in setjmp() [BZ #22624]
    
    When configured as --enable-stack-protector=all glibc
    inserts stack checking canary into every function
    including __sigsetjmp_aux(). Stack checking code
    ends up using s0 register to temporary hold address
    of global canary value.
    
    Unfortunately __sigsetjmp_aux assumes no caller' caller-save
    registers should be clobbered as it stores them as-is.
    
    The fix is to disable stack protection of __sigsetjmp_aux.
    
    Tested on the following test:
    
        #include <setjmp.h>
        #include <stdio.h>
    
        int main() {
            jmp_buf jb;
            volatile register long s0 asm ("$s0");
            s0 = 1234;
            if (setjmp(jb) == 0)
                longjmp(jb, 1);
            printf ("$s0 = %lu\n", s0);
        }
    
    Without the fix:
        $ qemu-mipsn32 -L . ./mips-longjmp-bug
        $s0 = 1082346228
    
    With the fix:
        $ qemu-mipsn32 -L . ./mips-longjmp-bug
        $s0 = 1234
    
        [BZ #22624]
        * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Use
        inhibit_stack_protector.

commit c8e939f12a4fce3bb09a8c4818629ccf76c8658c
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Dec 18 11:47:14 2017 +0000

    Update NEWS with aarch64 static pie support
    
    The required binutils patches are not in a released version yet, but
    glibc has support for static linked pie on aarch64 since commit
    14d886edbd3d80b771e1c42fbd9217f9074de9c6

commit bb195224acc14724e9fc2dbaa8d0b20b72ace79b
Author: Dmitry V. Levin <address@hidden>
Date:   Sun Dec 17 23:49:46 2017 +0000

    elf: do not substitute dst in $LD_LIBRARY_PATH twice [BZ #22627]
    
    Starting with commit
    glibc-2.18.90-470-g2a939a7e6d81f109d49306bc2e10b4ac9ceed8f9 that
    introduced substitution of dynamic string tokens in fillin_rpath,
    _dl_init_paths invokes _dl_dst_substitute for $LD_LIBRARY_PATH twice:
    the first time it's called directly, the second time the result
    is passed on to fillin_rpath which calls expand_dynamic_string_token
    which in turn calls _dl_dst_substitute, leading to the following
    behaviour:
    
    $ mkdir -p /tmp/'$ORIGIN' && cd /tmp/'$ORIGIN' &&
      echo 'int main(){}' |gcc -xc - &&
      strace -qq -E LD_LIBRARY_PATH='$ORIGIN' -e /open ./a.out
    open("/tmp//tmp/$ORIGIN/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 
ENOENT (No such file or directory)
    open("/tmp//tmp/$ORIGIN/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No 
such file or directory)
    open("/tmp//tmp/$ORIGIN/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT 
(No such file or directory)
    open("/tmp//tmp/$ORIGIN/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No 
such file or directory)
    open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
    open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    
    Fix this by removing the direct _dl_dst_substitute invocation.
    
    * elf/dl-load.c (_dl_init_paths): Remove _dl_dst_substitute preparatory
    code and invocation.

commit 14d886edbd3d80b771e1c42fbd9217f9074de9c6
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Nov 17 10:45:32 2017 +0000

    aarch64: fix start code for static pie
    
    There are three flavors of the crt startup code:
    
    1) crt1.o used for non-pie,
    2) Scrt1.o used for dynamic linked pie (dynamic linker relocates),
    3) rcrt1.o used for static linked pie (self relocation is needed)
    
    In the --enable-static-pie case crt1.o is built with -DPIC and in case
    of static linking it interposes _dl_relocate_static_pie in libc to
    avoid self relocation.
    
    Scrt1.o is built with -DPIC -DSHARED and it relies on GOT entries that
    the static linker cannot relax and thus need relocation before the
    start code is executed, so rcrt1.o needs separate implementation.
    
    This implementation does not work for .text > 4G position independent
    executables, which is fine since the toolchain does not support
    -mcmodel=large with -fPIE.
    
    Tests pass with ld/22269 and ld/22263 binutils bugs fixed.
    
        * sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case.

commit 7d38eb38977980efe703eac93645b1af5a5f8a0c
Author: Aurelien Jarno <address@hidden>
Date:   Sat Dec 16 12:25:41 2017 +0100

    ldconfig: set LC_COLLATE to C [BZ #22505]
    
    ldconfig supports `include' directives and use the glob function to
    process them. The glob function sort entries according to the LC_COLLATE
    category. When using a standard "include /etc/ld.so.conf.d/*.conf" entry
    in /etc/ld.so.conf, the order therefore depends on the locale used to
    run ldconfig. A few examples of locale specific order that might be
    disturbing in that context compared to the C locale:
    - The cs_CZ and sk_SK locales sort the digits after the letters.
    - The et_EE locale sorts the 'z' between 's' and 't'.
    
    This patch fixes that by setting LC_COLLATE to C in order to process
    files in deterministic order, independently of the locale used to launch
    ldconfig.
    
    NOTE: This should NOT be backported to older release branches.
    
    Changelog:
        [BZ #22505]
        * elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C.

commit 2e77deef676677a7bed97d87d2519679654a2772
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Sat Dec 16 14:11:56 2017 +0530

    s390: Update ulps
    
        * sysdeps/s390/fpu/libm-test-ulps: Update.

commit 0b9bef6d2253c9af4d49a8b2d59a76f721f4cea5
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Sat Dec 16 14:04:14 2017 +0530

    powerpc: Update ulps
    
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.

commit 984ae9967b49830173490a33ae6130880f3f70d9
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Sat Dec 16 14:01:37 2017 +0530

    New generic sincosf
    
    This implementation is based on generic s_sinf.c and s_cosf.c.
    Tested on s390x, powerpc64le and powerpc32.

commit 93930ea9351c0c4a239e3dcb83f1398cce4e4d43
Author: Carlos O'Donell <address@hidden>
Date:   Tue Dec 12 20:35:05 2017 -0800

    Fix tst-leaks1 (bug 14681)
    
    The test tst-leaks1 exercises calling dlopen with a $ORIGIN DST.
    
    This results in a theoretical leak e.g.
    
    Memory not freed:
    -----------------
               Address     Size     Caller
    0x0000000001d766c0     0x21  at 0x7fb1bd8bf4ab
    
    Or as seen via valgrind:
    
    ==27582== 33 bytes in 1 blocks are still reachable in loss record 1 of 1
    ==27582==    at 0x4C2CB6B: malloc (vg_replace_malloc.c:299)
    ==27582==    by 0x40124AA: _dl_get_origin (dl-origin.c:50)
    ==27582==    by 0x4007DB9: expand_dynamic_string_token (dl-load.c:382)
    ==27582==    by 0x400899C: _dl_map_object (dl-load.c:2160)
    ==27582==    by 0x4013020: dl_open_worker (dl-open.c:224)
    ==27582==    by 0x5166F9B: _dl_catch_exception (dl-error-skeleton.c:198)
    ==27582==    by 0x4012BD9: _dl_open (dl-open.c:594)
    ==27582==    by 0x4E39EF5: dlopen_doit (dlopen.c:66)
    ==27582==    by 0x5166F9B: _dl_catch_exception (dl-error-skeleton.c:198)
    ==27582==    by 0x516700E: _dl_catch_error (dl-error-skeleton.c:217)
    ==27582==    by 0x4E3A514: _dlerror_run (dlerror.c:162)
    ==27582==    by 0x4E39F70: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
    
    There is no real leak.
    
    The calling link map (the executable's link map) has it's l_origin
    expanded for future use as part of _dl_get_origin, and that results
    in the main executable link map having a N-byte allocation for
    l->l_origin that is never freed since the executable's link map is
    just a part of the process.
    
    To take this into account we do one dlopen with $ORIGIN before
    calling mtrace to force the initialization of the executable link
    map.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 9d7a3741c9e59eba87fb3ca6b9f979befce07826
Author: H.J. Lu <address@hidden>
Date:   Fri Dec 15 16:59:33 2017 -0800

    Add --enable-static-pie configure option to build static PIE [BZ #19574]
    
    Static PIE extends address space layout randomization to static
    executables.  It provides additional security hardening benefits at
    the cost of some memory and performance.
    
    Dynamic linker, ld.so, is a standalone program which can be loaded at
    any address.  This patch adds a configure option, --enable-static-pie,
    to embed the part of ld.so in static executable to create static position
    independent executable (static PIE).  A static PIE is similar to static
    executable, but can be loaded at any address without help from a dynamic
    linker.  When --enable-static-pie is used to configure glibc, libc.a is
    built as PIE and all static executables, including tests, are built as
    static PIE.  The resulting libc.a can be used together with GCC 8 or
    above to build static PIE with the compiler option, -static-pie.  But
    GCC 8 isn't required to build glibc with --enable-static-pie.  Only GCC
    with PIE support is needed.  When an older GCC is used to build glibc
    with --enable-static-pie, proper input files are passed to linker to
    create static executables as static PIE, together with "-z text" to
    prevent dynamic relocations in read-only segments, which are not allowed
    in static PIE.
    
    The following changes are made for static PIE:
    
    1. Add a new function, _dl_relocate_static_pie, to:
       a. Get the run-time load address.
       b. Read the dynamic section.
       c. Perform dynamic relocations.
    Dynamic linker also performs these steps.  But static PIE doesn't load
    any shared objects.
    2. Call _dl_relocate_static_pie at entrance of LIBC_START_MAIN in
    libc.a.  crt1.o, which is used to create dynamic and non-PIE static
    executables, is updated to include a dummy _dl_relocate_static_pie.
    rcrt1.o is added to create static PIE, which will link in the real
    _dl_relocate_static_pie.  grcrt1.o is also added to create static PIE
    with -pg.  GCC 8 has been updated to support rcrt1.o and grcrt1.o for
    static PIE.
    
    Static PIE can work on all architectures which support PIE, provided:
    
    1. Target must support accessing of local functions without dynamic
    relocations, which is needed in start.S to call __libc_start_main with
    function addresses of __libc_csu_init, __libc_csu_fini and main.  All
    functions in static PIE are local functions.  If PIE start.S can't reach
    main () defined in a shared object, the code sequence:
    
        pass address of local_main to __libc_start_main
        ...
    
    local_main:
        tail call to main via PLT
    
    can be used.
    2. start.S is updated to check PIC instead SHARED for PIC code path and
    avoid dynamic relocation, when PIC is defined and SHARED isn't defined,
    to support static PIE.
    3. All assembly codes are updated check PIC instead SHARED for PIC code
    path to avoid dynamic relocations in read-only sections.
    4. All assembly codes are updated check SHARED instead PIC for static
    symbol name.
    5. elf_machine_load_address in dl-machine.h are updated to support static
    PIE.
    6. __brk works without TLS nor dynamic relocations in read-only section
    so that it can be used by __libc_setup_tls to initializes TLS in static
    PIE.
    
    NB: When glibc is built with GCC defaulted to PIE, libc.a is compiled
    with -fPIE, regardless if --enable-static-pie is used to configure glibc.
    When glibc is configured with --enable-static-pie, libc.a is compiled
    with -fPIE, regardless whether GCC defaults to PIE or not.  The same
    libc.a can be used to build both static executable and static PIE.
    There is no need for separate PIE copy of libc.a.
    
    On x86-64, the normal static sln:
    
       text        data     bss     dec     hex filename
     625425        8284    5456  639165   9c0bd elf/sln
    
    the static PIE sln:
    
       text        data     bss     dec     hex filename
     657626       20636    5392  683654   a6e86 elf/sln
    
    The code size is increased by 5% and the binary size is increased by 7%.
    
    Linker requirements to build glibc with --enable-static-pie:
    
    1. Linker supports --no-dynamic-linker to remove PT_INTERP segment from
    static PIE.
    2. Linker can create working static PIE.  The x86-64 linker needs the
    fix for
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21782
    
    The i386 linker needs to be able to convert "movl address@hidden(%ebx), 
%eax"
    to "leal address@hidden(%ebx), %eax" if main is defined locally.
    
    Binutils 2.29 or above are OK for i686 and x86-64.  But linker status for
    other targets need to be verified.
    
    3. Linker should resolve undefined weak symbols to 0 in static PIE:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22269
    
    4. Many ELF backend linkers incorrectly check bfd_link_pic for TLS
    relocations, which should check bfd_link_executable instead:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22263
    
    Tested on aarch64, i686 and x86-64.
    
    Using GCC 7 and binutils master branch, build-many-glibcs.py with
    --enable-static-pie with all patches for static PIE applied have the
    following build successes:
    
    PASS: glibcs-aarch64_be-linux-gnu build
    PASS: glibcs-aarch64-linux-gnu build
    PASS: glibcs-armeb-linux-gnueabi-be8 build
    PASS: glibcs-armeb-linux-gnueabi build
    PASS: glibcs-armeb-linux-gnueabihf-be8 build
    PASS: glibcs-armeb-linux-gnueabihf build
    PASS: glibcs-arm-linux-gnueabi build
    PASS: glibcs-arm-linux-gnueabihf build
    PASS: glibcs-arm-linux-gnueabihf-v7a build
    PASS: glibcs-arm-linux-gnueabihf-v7a-disable-multi-arch build
    PASS: glibcs-m68k-linux-gnu build
    PASS: glibcs-microblazeel-linux-gnu build
    PASS: glibcs-microblaze-linux-gnu build
    PASS: glibcs-mips64el-linux-gnu-n32 build
    PASS: glibcs-mips64el-linux-gnu-n32-nan2008 build
    PASS: glibcs-mips64el-linux-gnu-n32-nan2008-soft build
    PASS: glibcs-mips64el-linux-gnu-n32-soft build
    PASS: glibcs-mips64el-linux-gnu-n64 build
    PASS: glibcs-mips64el-linux-gnu-n64-nan2008 build
    PASS: glibcs-mips64el-linux-gnu-n64-nan2008-soft build
    PASS: glibcs-mips64el-linux-gnu-n64-soft build
    PASS: glibcs-mips64-linux-gnu-n32 build
    PASS: glibcs-mips64-linux-gnu-n32-nan2008 build
    PASS: glibcs-mips64-linux-gnu-n32-nan2008-soft build
    PASS: glibcs-mips64-linux-gnu-n32-soft build
    PASS: glibcs-mips64-linux-gnu-n64 build
    PASS: glibcs-mips64-linux-gnu-n64-nan2008 build
    PASS: glibcs-mips64-linux-gnu-n64-nan2008-soft build
    PASS: glibcs-mips64-linux-gnu-n64-soft build
    PASS: glibcs-mipsel-linux-gnu build
    PASS: glibcs-mipsel-linux-gnu-nan2008 build
    PASS: glibcs-mipsel-linux-gnu-nan2008-soft build
    PASS: glibcs-mipsel-linux-gnu-soft build
    PASS: glibcs-mips-linux-gnu build
    PASS: glibcs-mips-linux-gnu-nan2008 build
    PASS: glibcs-mips-linux-gnu-nan2008-soft build
    PASS: glibcs-mips-linux-gnu-soft build
    PASS: glibcs-nios2-linux-gnu build
    PASS: glibcs-powerpc64le-linux-gnu build
    PASS: glibcs-powerpc64-linux-gnu build
    PASS: glibcs-tilegxbe-linux-gnu-32 build
    PASS: glibcs-tilegxbe-linux-gnu build
    PASS: glibcs-tilegx-linux-gnu-32 build
    PASS: glibcs-tilegx-linux-gnu build
    PASS: glibcs-tilepro-linux-gnu build
    
    and the following build failures:
    
    FAIL: glibcs-alpha-linux-gnu build
    
    elf/sln is failed to link due to:
    
    assertion fail bfd/elf64-alpha.c:4125
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.
    
    FAIL: glibcs-hppa-linux-gnu build
    
    elf/sln is failed to link due to:
    
    collect2: fatal error: ld terminated with signal 11 [Segmentation fault]
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22537
    
    FAIL: glibcs-ia64-linux-gnu build
    
    elf/sln is failed to link due to:
    
    collect2: fatal error: ld terminated with signal 11 [Segmentation fault]
    
    FAIL: glibcs-powerpc-linux-gnu build
    FAIL: glibcs-powerpc-linux-gnu-soft build
    FAIL: glibcs-powerpc-linux-gnuspe build
    FAIL: glibcs-powerpc-linux-gnuspe-e500v1 build
    
    elf/sln is failed to link due to:
    
    ld: read-only segment has dynamic relocations.
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.  See:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22264
    
    FAIL: glibcs-powerpc-linux-gnu-power4 build
    
    elf/sln is failed to link due to:
    
    findlocale.c:96:(.text+0x22c): @local call to ifunc memchr
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.
    
    FAIL: glibcs-s390-linux-gnu build
    
    elf/sln is failed to link due to:
    
    collect2: fatal error: ld terminated with signal 11 [Segmentation fault], 
core dumped
    
    assertion fail bfd/elflink.c:14299
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.
    
    FAIL: glibcs-sh3eb-linux-gnu build
    FAIL: glibcs-sh3-linux-gnu build
    FAIL: glibcs-sh4eb-linux-gnu build
    FAIL: glibcs-sh4eb-linux-gnu-soft build
    FAIL: glibcs-sh4-linux-gnu build
    FAIL: glibcs-sh4-linux-gnu-soft build
    
    elf/sln is failed to link due to:
    
    ld: read-only segment has dynamic relocations.
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.  See:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22263
    
    Also TLS code sequence in SH assembly syscalls in glibc doesn't match TLS
    code sequence expected by ld:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22270
    
    FAIL: glibcs-sparc64-linux-gnu build
    FAIL: glibcs-sparcv9-linux-gnu build
    FAIL: glibcs-tilegxbe-linux-gnu build
    FAIL: glibcs-tilegxbe-linux-gnu-32 build
    FAIL: glibcs-tilegx-linux-gnu build
    FAIL: glibcs-tilegx-linux-gnu-32 build
    FAIL: glibcs-tilepro-linux-gnu build
    
    elf/sln is failed to link due to:
    
    ld: read-only segment has dynamic relocations.
    
    This is caused by linker bug and/or non-PIC code in PIE libc.a.  See:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=22263
    
        [BZ #19574]
        * INSTALL: Regenerated.
        * Makeconfig (real-static-start-installed-name): New.
        (pic-default): Updated for --enable-static-pie.
        (pie-default): New for --enable-static-pie.
        (default-pie-ldflag): Likewise.
        (+link-static-before-libc): Replace $(DEFAULT-LDFLAGS-$(@F))
        with $(if $($(@F)-no-pie),$(no-pie-ldflag),$(default-pie-ldflag)).
        Replace $(static-start-installed-name) with
        $(real-static-start-installed-name).
        (+prectorT): Updated for --enable-static-pie.
        (+postctorT): Likewise.
        (CFLAGS-.o): Add $(pie-default).
        (CFLAGS-.op): Likewise.
        * NEWS: Mention --enable-static-pie.
        * config.h.in (ENABLE_STATIC_PIE): New.
        * configure.ac (--enable-static-pie): New configure option.
        (have-no-dynamic-linker): New LIBC_CONFIG_VAR.
        (have-static-pie): Likewise.
        Enable static PIE if linker supports --no-dynamic-linker.
        (ENABLE_STATIC_PIE): New AC_DEFINE.
        (enable-static-pie): New LIBC_CONFIG_VAR.
        * configure: Regenerated.
        * csu/Makefile (omit-deps): Add r$(start-installed-name) and
        gr$(start-installed-name) for --enable-static-pie.
        (extra-objs): Likewise.
        (install-lib): Likewise.
        (extra-objs): Add static-reloc.o and static-reloc.os
        ($(objpfx)$(start-installed-name)): Also depend on
        $(objpfx)static-reloc.o.
        ($(objpfx)r$(start-installed-name)): New.
        ($(objpfx)g$(start-installed-name)): Also depend on
        $(objpfx)static-reloc.os.
        ($(objpfx)gr$(start-installed-name)): New.
        * csu/libc-start.c (LIBC_START_MAIN): Call _dl_relocate_static_pie
        in libc.a.
        * csu/libc-tls.c (__libc_setup_tls): Add main_map->l_addr to
        initimage.
        * csu/static-reloc.c: New file.
        * elf/Makefile (routines): Add dl-reloc-static-pie.
        (elide-routines.os): Likewise.
        (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): Removed.
        (tst-tls1-static-non-pie-no-pie): New.
        * elf/dl-reloc-static-pie.c: New file.
        * elf/dl-support.c (_dl_get_dl_main_map): New function.
        * elf/dynamic-link.h (ELF_DURING_STARTUP): Also check
        STATIC_PIE_BOOTSTRAP.
        * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise.
        * gmon/Makefile (tests): Add tst-gmon-static-pie.
        (tests-static): Likewise.
        (DEFAULT-LDFLAGS-tst-gmon-static): Removed.
        (tst-gmon-static-no-pie): New.
        (CFLAGS-tst-gmon-static-pie.c): Likewise.
        (CRT-tst-gmon-static-pie): Likewise.
        (tst-gmon-static-pie-ENV): Likewise.
        (tests-special): Likewise.
        ($(objpfx)tst-gmon-static-pie.out): Likewise.
        (clean-tst-gmon-static-pie-data): Likewise.
        ($(objpfx)tst-gmon-static-pie-gprof.out): Likewise.
        * gmon/tst-gmon-static-pie.c: New file.
        * manual/install.texi: Document --enable-static-pie.
        * sysdeps/generic/ldsodefs.h (_dl_relocate_static_pie): New.
        (_dl_get_dl_main_map): Likewise.
        * sysdeps/i386/configure.ac: Check if linker supports static PIE.
        * sysdeps/x86_64/configure.ac: Likewise.
        * sysdeps/i386/configure: Regenerated.
        * sysdeps/x86_64/configure: Likewise.
        * sysdeps/mips/Makefile (ASFLAGS-.o): Add $(pie-default).
        (ASFLAGS-.op): Likewise.

commit 95511aab9d5202470b90530e83d18a6f4b4aeb6b
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 15 22:37:17 2017 +0000

    Fix testing with read-only source directory.
    
    Three tests fail with a read-only source directory because they try to
    write into the source directory.  None of these write into it in a way
    that should actually be problematic for concurrent builds sharing the
    same writable source directory, but avoiding any writing into the
    source directory (from testing, or from building glibc if the source
    timestamps are properly ordered) is still a good idea, as being able
    to build with read-only sources helps make sure there isn't anything
    that could cause problems for concurrent builds.
    
    This patch changes the tests in question to use either /tmp or the
    build directory to write their temporary files (or to test O_TMPFILE,
    as applicable).
    
    Tested for x86_64.
    
        * io/Makefile (tst-open-tmpfile-ARGS): New variable.
        * posix/tst-mmap-offset.c (fname): Use /tmp.
        * stdlib/tst-setcontext3.sh (tempfile): Use ${objpfx}.

commit a7e3edf4f252fb72afeb8ecca946a2d8294bb577
Author: Steve Ellcey <address@hidden>
Date:   Fri Dec 15 09:08:23 2017 -0800

    Increase buffer size due to warning from ToT GCC
    
        * nscd/dbg_log.c (dbg_log): Increase msg buffer size.

commit d232f2e137127139addde487f0f01881b52cc446
Author: Thomas Schwinge <address@hidden>
Date:   Fri Dec 15 17:00:50 2017 +0100

    Don't set errno in Hurd rtld's __access_noerrno
    
        * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): Don't set
        errno.
    
    Fixes commit 819ea3347e3a30a611488ceeec53650baaeb7961.
    
    Reviewed-by: Samuel Thibault <address@hidden>

commit 5170fa49b2a926f2a53139c607eb249c82a0fdd9
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 15 16:57:29 2017 +0000

    Correct build-many-glibcs.py arm-linux-gnueabihf configurations.
    
    The conventional configure triplet for ARM GNU/Linux with hard-float
    ABI is arm-*-linux-gnueabihf.  However, GCC does not automatically use
    the hard-float ABI based on that triplet.  This patch fixes
    build-many-glibcs.py to pass --with-float=hard so that the
    arm-linux-gnueabihf configurations actually build with the intended
    ABI.
    
    Tested building the affected configurations with build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Use
        --with-float=hard for arm-linux-gnueabihf configurations.

commit f2da2fd81f1d3f43678de9cf39b12692c6fa449b
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 15 14:27:20 2017 +0000

    Do not build .mo files in source directory (bug 14121).
    
    Building and installing glibc leaves .mo files (compiled message
    translations) behind in the source directory.  Building those files in
    the source directory may once have made sense, if they were included
    in release tarballs; now that release tarballs are just the output of
    "git archive", building any non-checked-in files in the source
    directory does not make sense.  This patch changes these files to be
    built in the build directory instead.  The realclean rule is changed
    to simply adding the .mo files to the "generated" variable, since once
    the files are in the build directory it make no sense to exclude them
    from normal cleanup rules.
    
    This is necessary but not sufficient to avoid build-many-glibcs.py
    needing to copy the glibc source directory.  Its list of files to
    touch on checkout to avoid subsequent regeneration (configure,
    preconfigure, *-kw.h) is incomplete (missing at least INSTALL,
    sysdeps/gnu/errlist.c, posix/testcases.h, posix/ptestcases.h,
    locale/C-translit.h, (only regenerated for Hurd builds)
    sysdeps/mach/hurd/bits/errno.h, (only regenerated for 32-bit SPARC
    builds) sysdeps/sparc/sparc32/{sdiv,udiv,rem,urem}.S) - the existing
    list may be sufficient to prevent regeneration that actually changes
    the file contents depending on the installed build tools, but not to
    ensure there is no regeneration at all - and there might well be other
    things writing into the source directory in the course of building and
    testing (so needing appropriate testing with read-only source
    directories with different timestamp orderings to find and eliminate
    all such cases).
    
    Tested for x86_64.
    
        [BZ #14121]
        * po/Makefile (generated): Add $(ALL_LINGUAS:%=%.mo).
        (%.mo): Change to $(objpfx)%.mo.  Use $(make-target-directory).
        ($(mo-installed)): Use $(objpfx)%.mo.
        (realclean): Remove rule.

commit 0c4fe28d7aaca041292d2db0a1a9ed4b64a7ddce
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 15 14:20:52 2017 +0000

    Remove old po/ code for copying .po files from shared directory.
    
    po/Makefile has both old code for copying .po files from a shared
    directory /com/share/ftp/gnu/po/maint/glibc (presumably once present
    on some GNU server), and new code for downloading them from the
    Translation Project.  This patch removes the old code, leading only
    the new code.
    
    Tested for x86_64.
    
        * po/Makefile (linguas): Remove rule and dependencies.
        (linguas.mo): Likewise.
        (.PHONY): Do not depend on linguas and linguas.mo.
        (podir): Remove variable.
        (pofiles): Likewise.
        [$(pofiles)] (%.po): Remove rule.

commit 174edbde7e4eb056cc273127e045404067682b57
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 15 14:06:07 2017 +0000

    Update SPARC divrem generation to match output.
    
    While working on another patch I noticed that (a)
    sysdeps/sparc/sparc32/Makefile is the only place with special
    realclean settings, apart from po/, and (b) the generated files with a
    rule in that Makefile to generate them (using m4) had been patched
    manually so no longer corresponded with the output of the generator -
    so if the timestamps were wrong, a build would result in changes to
    the files in the source directory.  (They also didn't correspond
    because of changes in make 3.81 to how make handles whitespace at the
    start of a line in a sequence of backslash-newline continuation lines
    within a recipe.)
    
    This patch fixes the generation and output files to match.  The issue
    with make and whitespace at start of continuation lines is fixed by
    putting those newlines outside of arguments to echo, so the number of
    spaces in the argument matches the number in the existing generated
    files.  Then divrem.m4 is changed to avoid generating whitespace-only
    lines (my fix to the outputs from 2013; this fix to the generator also
    changes the indentation of a label in the output files) and to
    generate an alias in udiv.S (Adhemerval's fix from March).
    
    build-many-glibcs.py doesn't have a non-v9 SPARC configuration,
    because non-v9 32-bit SPARC didn't build when I set up
    build-many-glibcs.py but sparcv9 did build.  Whether or not non-v9
    32-bit SPARC now builds (or indeed whether or not support for it is
    obsolete), I tested by removing the sparcv8 and sparcv9 versions of
    the four files in question, so forcing the generated files to be built
    and used, and the compilation parts of the glibc testsuite passed.
    
        * sysdeps/sparc/sparc32/Makefile
        ($(divrem:%=$(sysdep_dir)/sparc/sparc32/%.S)): Do not include
        start-of-line whitespace in argument of echo.
        * sysdeps/sparc/sparc32/divrem.m4: Avoid generating lines starting
        with whitespace.  Generate __wrap_.udiv alias.
        * sysdeps/sparc/sparc32/rem.S: Regenerated.
        * sysdeps/sparc/sparc32/sdiv.S: Likewise.
        * sysdeps/sparc/sparc32/udiv.S: Likewise.
        * sysdeps/sparc/sparc32/urem.S: Likewise.

commit 1e36806fb8589050350ececfade454c13f75e5aa
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Dec 15 10:55:58 2017 +0530

    powerpc: st{r,p}cpy optimization for aligned strings
    
    This patch makes use of vectors for aligned inputs.  Improvements
    upto 30% seen for larger aligned inputs.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 5f1603c331d9e2194170762b7e5e80a5571e4b4e
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Dec 15 02:31:41 2017 +0530

    Convert strcmp benchmark output to json format
    
    The format is now parseable with the compare_strings.py script.

commit aa6932aa7b3d0020a299f4b928eb125c8bcc0ca3
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Dec 15 00:48:12 2017 +0530

    Remove redundant mention of SXID_ERASE
    
    SXID_ERASE is implicit for all environment variables.  Avoid
    mentioning it in the tunables list; that way only the ones with
    SXID_IGNORE remain prominent and mentioned.  TODO: we need to audit
    each of those cases and drop them to SXID_ERASE wherever possible.

commit 3ff3dfa5af313a6ea33f3393916f30eece4f0171
Author: Florian Weimer <address@hidden>
Date:   Thu Dec 14 15:05:57 2017 +0100

    elf: Count components of the expanded path in _dl_init_path [BZ #22607]

commit 8a0b17e48b83e933960dfeb8fa08b259f03f310e
Author: Florian Weimer <address@hidden>
Date:   Thu Dec 14 15:18:38 2017 +0100

    elf: Compute correct array size in _dl_init_paths [BZ #22606]

commit f58bd7f055988d367d8118ccbc4cb8c4dbfd9db2
Author: Florian Weimer <address@hidden>
Date:   Thu Dec 14 13:48:56 2017 +0100

    support: Simplify compiling most of support/ outside of glibc
    
    Some include files were missing because they are implied by the
    in-tree build process.
    
    Reviewed-by: Adhemerval Zanella  <address@hidden>

commit 4ca945e9c5421a174e96ff91eda7fa7482cee8c8
Author: H.J. Lu <address@hidden>
Date:   Thu Dec 14 04:39:37 2017 -0800

    x86-64: Remove sysdeps/x86_64/fpu/s_cosf.S
    
    On Ivy Bridge, bench-cosf reports performance improvement:
    
               s_cosf.S      s_cosf.c       Improvement
    max        114.136       82.401            39%
    min        13.119        11.301            16%
    mean       22.1882       21.8938           1%
    
        * sysdeps/x86_64/fpu/s_cosf.S: Removed.

commit e6a1c5dc776dd6b562e0aae17dbb61e396a81fb3
Author: Patrick McGehearty <address@hidden>
Date:   Wed Dec 13 18:14:17 2017 -0200

    sparc: M7 optimized memset/bzero
    
    Support added to identify Sparc M7/T7/S7/M8/T8 processor capability.
    Performance tests run on Sparc S7 using new code and old niagara4 code.
    
    Optimizations for memset also apply to bzero as they share code.
    
    For memset/bzero, performance comparison with niagara4 code:
    For memset nonzero data,
      256-1023 bytes - 60-90% gain (in cache); 5% gain (out of cache)
      1K+ bytes - 80-260% gain (in cache); 40-80% gain (out of cache)
    For memset zero data (and bzero),
      256-1023 bytes - 80-120% gain (in cache), 0% gain (out of cache)
      1024+ bytes - 2-4x gain (in cache), 10-35% gain (out of cache)
    
    Tested in sparcv9-*-* and sparc64-*-* targets in both multi and
    non-multi arch configurations.
    
        Patrick McGehearty <address@hidden>
        Adhemerval Zanella  <address@hidden>
    
        * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
        (sysdeps_routines): Add memset-niagara7.
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdes_rotuines):
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara7.S: New
        file.
        * sysdeps/sparc/sparc64/multiarch/memset-niagara7.S: Likewise.
        * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add __bzero_niagara7 and __memset_niagara7.
        * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h (IFUNC_SELECTOR):
        Add niagara7 option.
        * NEWS: Mention sparc m7 optimized memcpy, mempcpy, memmove, and
        memset.

commit 1b6e07f8e06240eff4f0d0a53161508de582cbc6
Author: Patrick McGehearty <address@hidden>
Date:   Wed Dec 13 18:12:17 2017 -0200

    sparc: M7 optimized memcpy/mempcpy/memmove
    
    Support added to identify Sparc M7/T7/S7/M8/T8 processor capability.
    Performance tests run on Sparc S7 using new code and old niagara4 code.
    
    Optimizations for memcpy also apply to mempcpy and memmove
    where they share code. Optimizations for memset also apply
    to bzero as they share code.
    
    For memcpy/mempcpy/memmove, performance comparison with niagara4 code:
    Long word aligned data
      0-127 bytes - minimal changes
      128-1023 bytes - 7-30% gain
      1024+ bytes - 1-7% gain (in cache); 30-100% gain (out of cache)
    Word aligned data
      0-127 bytes - 50%+ gain
      128-1023 bytes - 10-200% gain
      1024+ bytes - 0-15% gain (in cache); 5-50% gain (out of cache)
    Unaligned data
      0-127 bytes - 0-70%+ gain
      128-447 bytes - 40-80%+ gain
      448-511 bytes - 1-3% loss
      512-4096 bytes - 2-3% gain (in cache); 0-20% gain (out of cache)
      4096+ bytes - ± 3% (in cache); 20-50% gain (out of cache)
    
    Tested in sparcv9-*-* and sparc64-*-* targets in both multi and
    non-multi arch configurations.
    
        Patrick McGehearty  <address@hidden>
        Adhemerval Zanella  <address@hidden>
    
        * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
        (sysdeps_routines): Add memcpy-memmove-niagara7 and memmove-ultra1.
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdeps_routines):
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-memmove-niagara7.S:
        New file.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memmove-ultra1.S: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memmove.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add __memcpy_niagara7, __mempcpy_niagara7,
        and __memmove_niagara7.
        * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h (IFUNC_SELECTOR):
        Add niagara7 option.
        * sysdeps/sparc/sparc64/multiarch/memmove.c: New file.
        * sysdeps/sparc/sparc64/multiarch/ifunc-memmove.h: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memcpy-memmove-niagara7.S: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memmove-ultra1.S: Likewise.
        * sysdeps/sparc/sparc64/multiarch/rtld-memmove.c: Likewise.

commit 767a26d6a06c4d5dd382c833ac8caa80948a9944
Author: Jose E. Marchesi <address@hidden>
Date:   Wed Dec 13 18:02:52 2017 -0200

    sparc: assembly version of memmove for ultra1+
    
    Tested in sparcv9-*-* and sparc64-*-* targets in both non-multi-arch and
    multi-arch configurations.
    
        * sysdeps/sparc/sparc32/sparcv9/memmove.S: New file.
        * sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c: Likewise.
        * sysdeps/sparc/sparc64/memmove.S: Likewise.
        * sysdeps/sparc/sparc64/rtld-memmove.c: Likewise.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit bfb7bf227331e682e35ccbc630ecd66127bea538
Author: Jose E. Marchesi <address@hidden>
Date:   Wed Dec 13 18:01:21 2017 -0200

    sparc: support the ADP hw capability
    
    This patch adds support for the ADP (also known as adi) hardware
    capability, as reported by the kernel sparc port when running on M7
    machines.
    
    Tested in both sparcv9-*-* and sparc64-*-* targets.
    
        * sysdeps/sparc/bits/hwcap.h (HWCAP_SPARC_ADP): Defined.
        * sysdeps/sparc/dl-procinfo.c: Added "adp" to the
        _dl_sparc_cap_flags array.
        * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Increment.
    
    Reviewed-by: Adhemerval Zanella  <address@hidden>

commit 2bce01ebbaf8db52ba4a5635eb5744f989cdbf69
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Dec 13 18:50:27 2017 +0530

    aarch64: Improve strcmp unaligned performance
    
    Replace the simple byte-wise compare in the misaligned case with a
    dword compare with page boundary checks in place.  For simplicity I've
    chosen a 4K page boundary so that we don't have to query the actual
    page size on the system.
    
    This results in up to 3x improvement in performance in the unaligned
    case on falkor and about 2.5x improvement on mustang as measured using
    bench-strcmp.
    
        * sysdeps/aarch64/strcmp.S (misaligned8): Compare dword at a
        time whenever possible.

commit 243b63337c2c02f30ec3a988ecc44bc0f6ffa0ad
Author: Carlos O'Donell <address@hidden>
Date:   Tue Dec 12 18:32:42 2017 -0800

    Fix testing with nss-crypt.
    
    A glibc master build with --enable-nss-crypt using the NSS
    crypto libraries fails during make check with the following error:
    
    <command-line>:0:0: error: "USE_CRYPT" redefined [-Werror]
    <command-line>:0:0: note: this is the location of the previous
    definition
    
    This is caused by commit 36975e8e7ea227f7006abdc722ecfefe2079429b
    by H.J. Lu which replaces all = with +=. The fix is to undefine
    USE_CRYPT before defining it to zero.
    
    Committed as an obvious fix. Fixes the build issue on x86_64 with
    no regressions.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 6f7c009282a5f7129e359c9ba8556e7e3ac229ec
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 12 23:34:05 2017 +0000

    Add sysdeps/ieee754/soft-fp.
    
    The default sysdeps/ieee754 fma implementations rely on exceptions and
    rounding modes to achieve correct results through internal use of
    round-to-odd.  Thus, glibc configurations without support for
    exceptions and rounding modes instead need to use implementations of
    fma based on soft-fp.
    
    At present, this is achieved via having implementation files in
    soft-fp/ that are #included by sysdeps files for each glibc
    configuration that needs them.  In general this means such a
    configuration has its own s_fma.c and s_fmaf.c.
    
    TS 18661-1 adds functions that do an operation (+ - * / sqrt fma) on
    arguments wider than the return type, with a single rounding of the
    infinite-precision result to that return type.  These are also
    naturally implemented using round-to-odd on platforms with hardware
    support for rounding modes and exceptions but lacking hardware support
    for these narrowing operations themselves.  (Platforms that have
    direct hardware support for such narrowing operations include at least
    ia64, and Power ISA 2.07 or later, which I think means POWER8 or
    later.)
    
    So adding the remaining TS 18661-1 functions would mean at least six
    narrowing function implementations (fadd fsub fmul fdiv ffma fsqrt),
    with aliases for other types and further implementations in some
    configurations, that need to be overridden for configurations lacking
    hardware exceptions and rounding modes.  Requiring all such
    configurations (currently seven of them) to have their own source
    files for all those functions seems undesirable.
    
    Thus, this patch adds a directory sysdeps/ieee754/soft-fp to contain
    libm function implementations based on soft-fp.  This directory is
    then used via Implies from all the configurations that need it, so no
    more files need adding to every such configuration when adding more
    functions with soft-fp implementations.  A configuration can still
    selectively #include a particular file from this directory if desired;
    thus, the MIPS #include of the fmal implementation is retained, since
    that's appropriate even for hard float (because long double is always
    implementated in software for MIPS64, so the soft-fp implementation of
    fmal is better than the ldbl-128 one).
    
    This also provides additional motivation for my recent patch removing
    --with-fp / --without-fp: previously there was no need for correct use
    of --without-fp for no-FPU ARM or SH3, and now we have autodetection
    nofpu/ sysdeps directories can be used by this patch for those
    configurations without imposing any new requirements on how glibc is
    configured.
    
    (The mips64/*/fpu/s_fma.c files added by this patch are needed to keep
    the dbl-64 version of fma for double, rather than the ldbl-128 one,
    used in that case.)
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * soft-fp/fmadf4.c: Move to ....
        * sysdeps/ieee754/soft-fp/s_fma.c: ... here.
        * soft-fp/fmasf4.c: Move to ....
        * sysdeps/ieee754/soft-fp/s_fmaf.c: ... here.
        * soft-fp/fmatf4.c: Move to ....
        * sysdeps/ieee754/soft-fp/s_fmal.c: ... here.
        * sysdeps/ieee754/soft-fp/Makefile: New file.
        * sysdeps/arm/preconfigure.ac: Define with_fp_cond.
        * sysdeps/arm/preconfigure: Regenerated.
        * sysdeps/arm/nofpu/Implies: New file.
        * sysdeps/arm/s_fma.c: Remove file.
        * sysdeps/arm/s_fmaf.c: Likewise.
        * sysdeps/m68k/coldfire/nofpu/Implies: New file.
        * sysdeps/m68k/coldfire/nofpu/s_fma.c: Remove file.
        * sysdeps/m68k/coldfire/nofpu/s_fmaf.c: Likewise.
        * sysdeps/microblaze/Implies: Add ieee754/soft-fp.
        * sysdeps/microblaze/s_fma.c: Remove file.
        * sysdeps/microblaze/s_fmaf.c: Likewise.
        * sysdeps/mips/mips32/nofpu/Implies: New file.
        * sysdeps/mips/mips64/n32/fpu/s_fma.c: Likewise.
        * sysdeps/mips/mips64/n32/nofpu/Implies: Likewise.
        * sysdeps/mips/mips64/n64/fpu/s_fma.c: Likewise.
        * sysdeps/mips/mips64/n64/nofpu/Implies: Likewise.
        * sysdeps/mips/ieee754/s_fma.c: Remove file.
        * sysdeps/mips/ieee754/s_fmaf.c: Likewise.
        * sysdeps/mips/ieee754/s_fmal.c: Update include for move of fmal
        implementation.
        * sysdeps/nios2/Implies: Add ieee754/soft-fp.
        * sysdeps/nios2/s_fma.c: Remove file.
        * sysdeps/nios2/s_fmaf.c: Likewise.
        * sysdeps/sh/nofpu/Implies: New file.
        * sysdeps/sh/s_fma.c: Remove file.
        * sysdeps/sh/s_fmaf.c: Likewise.
        * sysdeps/tile/Implies: Add ieee754/soft-fp.
        * sysdeps/tile/s_fma.c: Remove file.
        * sysdeps/tile/s_fmaf.c: Likewise.

commit ac817e083b37a5c25d05cde8bde302d7a93ffc5e
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 12 15:32:58 2017 -0800

    x86-64: Add cosf with FMA
    
    On Skylake, bench-cosf reports performance improvement:
    
                Before        After         Improvement
    max        135.362       94.552            43%
    min        8.532         7.688             11%
    mean       17.1446       11.8128           45%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add s_cosf-sse2 and s_cosf-fma.
        (CFLAGS-s_cosf-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/s_cosf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/s_cosf-sse2.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_cosf.c: Likewise.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit eb4285768bb0608e2c3381d0a5214cae83b1f282
Author: Steve Ellcey <address@hidden>
Date:   Tue Dec 12 13:47:32 2017 -0800

    Use memcpy instead of strncpy in nscd/nscd.h to fix build problem with ToT 
GCC
    
        * nscd/nscd.h (init_traced_file): Change strncpy to memcpy.

commit cc683f7ed4a5bd8ce2c9b715581de727b04eb599
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 22 18:33:15 2017 -0200

    libio: Free backup area when it not required (BZ#22415)
    
    Some libio operations fail to correctly free the backup area (created
    by _IO_{w}default_pbackfail on unget{w}c) resulting in either invalid
    buffer free operations or memory leaks.
    
    For instance, on the example provided by BZ#22415 a following
    fputc after a fseek to rewind the stream issues an invalid free on
    the buffer.  It is because although _IO_file_overflow correctly
    (from fputc) correctly calls _IO_free_backup_area, the
    _IO_new_file_seekoff (called by fseek) updates the FILE internal
    pointers without first free the backup area (resulting in invalid
    values in the internal pointers).
    
    The wide version also shows an issue, but instead of accessing invalid
    pointers it leaks the backup memory on fseek/fputwc operation.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        * libio/Makefile (tests): Add tst-bz22415.
        (tst-bz22415-ENV): New rule.
        (generated): Add tst-bz22415.mtrace and tst-bz22415.check.
        (tests-special): Add tst-bz22415-mem.out.
        ($(objpfx)tst-bz22415-mem.out): New rule.
        * libio/fileops.c (_IO_new_file_seekoff): Call _IO_free_backup_area
        in case of a successful seek operation.
        * libio/wfileops.c (_IO_wfile_seekoff): Likewise.
        (_IO_wfile_overflow): Call _IO_free_wbackup_area in case a write
        buffer is required.
        * libio/tst-bz22415.c: New test.

commit c80acdc3254cd4801c7605cf468ec137d9ee2d83
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Dec 12 16:57:41 2017 -0200

    Update IA64 libm-test-ulps
    
    Ran on Itanium Processor 9020, GCC 7.2.1.
    
        * sysdeps/ia64/fpu/libm-test-ulps: Update.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 89bd8016b30e504829bea48c4cd556769abfcf3a
Author: James Clarke <address@hidden>
Date:   Tue Dec 12 12:17:10 2017 -0200

    ia64: Add ipc_priv.h header to set __IPC_64 to zero
    
    When running strace, IPC_64 was set in the command, but ia64 is
    an architecture where CONFIG_ARCH_WANT_IPC_PARSE_VERSION *isn't* set
    in the kernel, so ipc_parse_version just returns IPC_64 without
    clearing the IPC_64 bit in the command.
    
        * sysdeps/unix/sysv/linux/ia64/ipc_priv.h: New file defining
        __IPC_64 to 0 to avoid IPC_64 being set.
    
    Signed-off-by: James Clarke <address@hidden>

commit 4e0dca54e945716a59f4e0b6b1f16415b3d4ed8e
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Dec 12 10:51:32 2017 +0000

    [BZ #22593] Fix nextafter and nexttoward declaration
    
    These functions set errno and thus the const attribute was wrong.
    
        [BZ #22593]
        * math/bits/mathcalls.h (nextafter): Remove const.
        (nexttoward): Likewise.

commit 8df5d34720dd71e934545bade879e04697830757
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 12 13:56:47 2017 +0000

    Remove --with-fp / --without-fp.
    
    There is a configure option --without-fp that specifies that nofpu
    sysdeps directories should be used instead of fpu directories.
    
    For most glibc configurations, this option is of no use: either there
    is no valid nofpu variant of that configuration, or there are no fpu
    or nofpu sysdeps directories for that processor and so the option does
    nothing.  For a few configurations, if you are using a soft-float
    compiler this option is required, and failing to use it generally
    results in compilation errors from inline asm using unavailable
    floating-point instructions.
    
    We're moving away from --with-cpu to configuring glibc based on how
    the compiler generates code, and it is natural to do so for
    --without-fp as well; in most cases the soft-float and hard-float ABIs
    are incompatible so you have no hope of building a working glibc with
    an inappropriately configured compiler or libgcc.
    
    This patch eliminates --without-fp, replacing it entirely by automatic
    configuration based on the compiler.  Configurations for which this is
    relevant (coldfire / mips / powerpc32 / sh) define a variable
    with_fp_cond in their preconfigure fragments (under the same
    conditions under which those fragments do anything); this is a
    preprocessor conditional which the toplevel configure script then uses
    in a test to determine which sysdeps directories to use.
    
    The config.make with-fp variable remains.  It's used only by powerpc
    (sysdeps/powerpc/powerpc32/Makefile) to add -mhard-float to various
    flags variables.  For powerpc, -mcpu= options can imply use of
    soft-float.  That could be an issue if you want to build for
    e.g. 476fp, but are using --with-cpu=476 because there isn't a 476fp
    sysdeps directory.  If in future we eliminate --with-cpu and replace
    it entirely by testing the compiler, it would be natural at that point
    to eliminate that code as well (as the user should then just use a
    compiler defaulting to 476fp and the 476 sysdeps directory would be
    used automatically).
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    shared libraries are unchanged by this patch.
    
        * configure.ac (--with-fp): Remove configure option.
        (with_fp_cond): New variable.
        (libc_cv_with_fp): New configure test.  Use this variable instead
        of with_fp.
        * configure: Regenerated.
        * config.make.in (with-fp): Use @address@hidden
        * manual/install.texi (Configuring and compiling): Remove
        --without-fp.
        * INSTALL: Regenerated.
        * sysdeps/m68k/preconfigure (with_fp_cond): Define for ColdFire.
        * sysdeps/mips/preconfigure (with_fp_cond): Define.
        * sysdeps/powerpc/preconfigure (with_fp_cond): Define for 32-bit.
        * sysdeps/sh/preconfigure (with_fp_cond): Define.
        * scripts/build-many-glibcs.py (Context.add_all_configs): Do not
        use --without-fp to configure glibc.

commit 0cee1257a96fc2983c7cc0717015ad54d81ceff3
Author: Rical Jasan <address@hidden>
Date:   Tue Dec 12 03:21:53 2017 -0800

    manual: Fix a typo in locale.texi.
    
        * manual/locale.texi (nl_langinfo): Fix a typo.

commit f54ad2f9ea37204eab24f5bf4b3ebe220d7dcd6b
Author: Aurelien Jarno <address@hidden>
Date:   Tue Dec 12 00:11:29 2017 +0100

    manual/conf.texi: add a missing underscore in front of SC_SSIZE_MAX [BZ 
#22588]
    
    Changelog:
        * manual/conf.texi (SC_SSIZE_MAX): Rename into _SC_SSIZE_MAX.

commit 36975e8e7ea227f7006abdc722ecfefe2079429b
Author: H.J. Lu <address@hidden>
Date:   Mon Dec 11 13:11:16 2017 -0800

    Replace = with += in CFLAGS-xxx.c/CPPFLAGS-xxx.c
    
    Replace = with += in CFLAGS-xxx.c and CPPFLAGS-xxx.c to allow Makefile
    under sysdeps to define CFLAGS-xx.c and CPPFLAGS-xxx.c.
    
        * argp/Makefile (CFLAGS-argp-help.c): Replace = with +=.
        (CFLAGS-argp-parse.c): Likewise.
        (CFLAGS-argp-fmtstream.c): Likewise.
        * crypt/Makefile (CPPFLAGS-sha256-crypt.c): Likewise.
        (CPPFLAGS-sha512-crypt.c): Likewise.
        (CPPFLAGS-md5-crypt.c): Likewise.
        * debug/Makefile (CFLAGS-stack_chk_fail.c): Likewise.
        (CFLAGS-stack_chk_fail_local.c): Likewise.
        (CFLAGS-backtrace.c): Likewise.
        (CFLAGS-sprintf_chk.c): Likewise.
        (CFLAGS-snprintf_chk.c): Likewise.
        (CFLAGS-vsprintf_chk.c): Likewise.
        (CFLAGS-vsnprintf_chk.c): Likewise.
        (CFLAGS-asprintf_chk.c): Likewise.
        (CFLAGS-vasprintf_chk.c): Likewise.
        (CFLAGS-obprintf_chk.c): Likewise.
        (CFLAGS-dprintf_chk.c): Likewise.
        (CFLAGS-vdprintf_chk.c): Likewise.
        (CFLAGS-printf_chk.c): Likewise.
        (CFLAGS-fprintf_chk.c): Likewise.
        (CFLAGS-vprintf_chk.c): Likewise.
        (CFLAGS-vfprintf_chk.c): Likewise.
        (CFLAGS-gets_chk.c): Likewise.
        (CFLAGS-fgets_chk.c): Likewise.
        (CFLAGS-fgets_u_chk.c): Likewise.
        (CFLAGS-fread_chk.c): Likewise.
        (CFLAGS-fread_u_chk.c): Likewise.
        (CFLAGS-swprintf_chk.c): Likewise.
        (CFLAGS-vswprintf_chk.c): Likewise.
        (CFLAGS-wprintf_chk.c): Likewise.
        (CFLAGS-fwprintf_chk.c): Likewise.
        (CFLAGS-vwprintf_chk.c): Likewise.
        (CFLAGS-vfwprintf_chk.c): Likewise.
        (CFLAGS-fgetws_chk.c): Likewise.
        (CFLAGS-fgetws_u_chk.c): Likewise.
        (CFLAGS-read_chk.c): Likewise.
        (CFLAGS-pread_chk.c): Likewise.
        (CFLAGS-pread64_chk.c): Likewise.
        (CFLAGS-recv_chk.c): Likewise.
        (CFLAGS-recvfrom_chk.c): Likewise.
        (CFLAGS-tst-longjmp_chk.c): Likewise.
        (CPPFLAGS-tst-longjmp_chk.c): Likewise.
        (CFLAGS-tst-longjmp_chk2.c): Likewise.
        (CPPFLAGS-tst-longjmp_chk2.c): Likewise.
        (CFLAGS-tst-longjmp_chk3.c): Likewise.
        (CPPFLAGS-tst-longjmp_chk3.c): Likewise.
        (CFLAGS-tst-chk1.c): Likewise.
        (CFLAGS-tst-chk2.c): Likewise.
        (CFLAGS-tst-chk3.c): Likewise.
        (CFLAGS-tst-chk4.cc): Likewise.
        (CFLAGS-tst-chk5.cc): Likewise.
        (CFLAGS-tst-chk6.cc): Likewise.
        (CFLAGS-tst-lfschk1.c): Likewise.
        (CFLAGS-tst-lfschk2.c): Likewise.
        (CFLAGS-tst-lfschk3.c): Likewise.
        (CFLAGS-tst-lfschk4.cc): Likewise.
        (CFLAGS-tst-lfschk5.cc): Likewise.
        (CFLAGS-tst-lfschk6.cc): Likewise.
        (CFLAGS-tst-ssp-1.c): Likewise.
        * dirent/Makefile (CFLAGS-scandir.c): Likewise.
        (CFLAGS-scandir64.c): Likewise.
        (CFLAGS-scandir-tail.c): Likewise.
        (CFLAGS-scandir64-tail.c): Likewise.
        * elf/Makefile (CPPFLAGS-dl-tunables.c): Likewise.
        (CFLAGS-dl-tunables.c): Likewise.
        (CFLAGS-dl-runtime.c): Likewise.
        (CFLAGS-dl-lookup.c): Likewise.
        (CFLAGS-dl-iterate-phdr.c): Likewise.
        (CFLAGS-vismain.c): Likewise.
        (CFLAGS-tst-linkall-static.c): Likewise.
        (CFLAGS-tst-linkall-static.c): Likewise.
        (CPPFLAGS-dl-load.c): Likewise.
        (CFLAGS-ldconfig.c): Likewise.
        (CFLAGS-dl-cache.c): Likewise.
        (CFLAGS-cache.c): Likewise.
        (CFLAGS-rtld.c): Likewise.
        (CFLAGS-multiload.c): Likewise.
        (CFLAGS-filtmod1.c): Likewise.
        (CFLAGS-tst-align.c): Likewise.
        (CFLAGS-tst-align2.c): Likewise.
        (CFLAGS-tst-alignmod.c): Likewise.
        (CFLAGS-tst-alignmod2.c): Likewise.
        (CPPFLAGS-tst-execstack.c): Likewise.
        (CFLAGS-tst-ptrguard1-static.c): Likewise.
        (CFLAGS-tst-latepthreadmod.c): Likewise.
        * grp/Makefile (CFLAGS-getgrgid_r.c): Likewise.
        (CFLAGS-getgrnam_r.c): Likewise.
        (CFLAGS-getgrent_r.c): Likewise.
        (CFLAGS-getgrent.c): Likewise.
        (CFLAGS-fgetgrent.c): Likewise.
        (CFLAGS-fgetgrent_r.c): Likewise.
        (CFLAGS-putgrent.c): Likewise.
        (CFLAGS-initgroups.c): Likewise.
        (CFLAGS-getgrgid.c): Likewise.
        * gshadow/Makefile (CFLAGS-getsgent_r.c): Likewise.
        (CFLAGS-getsgent.c): Likewise.
        (CFLAGS-fgetsgent.c): Likewise.
        (CFLAGS-fgetsgent_r.c): Likewise.
        (CFLAGS-putsgent.c): Likewise.
        (CFLAGS-getsgnam.c): Likewise.
        (CFLAGS-getsgnam_r.c): Likewise.
        * iconv/Makefile (CFLAGS-iconv_prog.c): Likewise.
        (CFLAGS-iconv_charmap.c): Likewise.
        (CFLAGS-dummy-repertoire.c): Likewise.
        (CFLAGS-charmap.c): Likewise.
        (CFLAGS-linereader.c): Likewise.
        (CFLAGS-simple-hash.c): Likewise.
        (CFLAGS-gconv_conf.c): Likewise.
        (CFLAGS-iconvconfig.c): Likewise.
        * inet/Makefile (CFLAGS-gethstbyad_r.c): Likewise.
        (CFLAGS-gethstbyad.c): Likewise.
        (CFLAGS-gethstbynm_r.c): Likewise.
        (CFLAGS-gethstbynm.c): Likewise.
        (CFLAGS-gethstbynm2_r.c): Likewise.
        (CFLAGS-gethstbynm2.c): Likewise.
        (CFLAGS-gethstent_r.c): Likewise.
        (CFLAGS-gethstent.c): Likewise.
        (CFLAGS-rcmd.c): Likewise.
        (CFLAGS-getnetbynm_r.c): Likewise.
        (CFLAGS-getnetbynm.c): Likewise.
        (CFLAGS-getnetbyad_r.c): Likewise.
        (CFLAGS-getnetbyad.c): Likewise.
        (CFLAGS-getnetent_r.c): Likewise.
        (CFLAGS-getnetent.c): Likewise.
        (CFLAGS-getaliasent_r.c): Likewise.
        (CFLAGS-getaliasent.c): Likewise.
        (CFLAGS-getrpcent_r.c): Likewise.
        (CFLAGS-getrpcent.c): Likewise.
        (CFLAGS-getservent_r.c): Likewise.
        (CFLAGS-getservent.c): Likewise.
        (CFLAGS-getprtent_r.c): Likewise.
        (CFLAGS-getprtent.c): Likewise.
        (CFLAGS-either_ntoh.c): Likewise.
        (CFLAGS-either_hton.c): Likewise.
        (CFLAGS-getnetgrent.c): Likewise.
        (CFLAGS-getnetgrent_r.c): Likewise.
        (CFLAGS-tst-checks-posix.c): Likewise.
        (CFLAGS-tst-sockaddr.c): Likewise.
        * intl/Makefile (CFLAGS-tst-gettext.c): Likewise.
        (CFLAGS-tst-translit.c): Likewise.
        (CFLAGS-tst-gettext2.c): Likewise.
        (CFLAGS-tst-codeset.c): Likewise.
        (CFLAGS-tst-gettext3.c): Likewise.
        (CFLAGS-tst-gettext4.c): Likewise.
        (CFLAGS-tst-gettext5.c): Likewise.
        (CFLAGS-tst-gettext6.c): Likewise.
        * io/Makefile (CFLAGS-open.c): Likewise.
        (CFLAGS-open64.c): Likewise.
        (CFLAGS-creat.c): Likewise.
        (CFLAGS-creat64.c): Likewise.
        (CFLAGS-fcntl.c): Likewise.
        (CFLAGS-poll.c): Likewise.
        (CFLAGS-ppoll.c): Likewise.
        (CFLAGS-lockf.c): Likewise.
        (CFLAGS-statfs.c): Likewise.
        (CFLAGS-fstatfs.c): Likewise.
        (CFLAGS-statvfs.c): Likewise.
        (CFLAGS-fstatvfs.c): Likewise.
        (CFLAGS-fts.c): Likewise.
        (CFLAGS-fts64.c): Likewise.
        (CFLAGS-ftw.c): Likewise.
        (CFLAGS-ftw64.c): Likewise.
        (CFLAGS-lockf.c): Likewise.
        (CFLAGS-posix_fallocate.c): Likewise.
        (CFLAGS-posix_fallocate64.c): Likewise.
        (CFLAGS-fallocate.c): Likewise.
        (CFLAGS-fallocate64.c): Likewise.
        (CFLAGS-read.c): Likewise.
        (CFLAGS-write.c): Likewise.
        (CFLAGS-test-stat.c): Likewise.
        (CFLAGS-test-lfs.c): Likewise.
        * libio/Makefile (CFLAGS-fileops.c): Likewise.
        (CFLAGS-fputc.c): Likewise.
        (CFLAGS-fputwc.c): Likewise.
        (CFLAGS-freopen64.c): Likewise.
        (CFLAGS-freopen.c): Likewise.
        (CFLAGS-fseek.c): Likewise.
        (CFLAGS-fseeko64.c): Likewise.
        (CFLAGS-fseeko.c): Likewise.
        (CFLAGS-ftello64.c): Likewise.
        (CFLAGS-ftello.c): Likewise.
        (CFLAGS-fwide.c): Likewise.
        (CFLAGS-genops.c): Likewise.
        (CFLAGS-getc.c): Likewise.
        (CFLAGS-getchar.c): Likewise.
        (CFLAGS-getwc.c): Likewise.
        (CFLAGS-getwchar.c): Likewise.
        (CFLAGS-iofclose.c): Likewise.
        (CFLAGS-iofflush.c): Likewise.
        (CFLAGS-iofgetpos64.c): Likewise.
        (CFLAGS-iofgetpos.c): Likewise.
        (CFLAGS-iofgets.c): Likewise.
        (CFLAGS-iofgetws.c): Likewise.
        (CFLAGS-iofputs.c): Likewise.
        (CFLAGS-iofputws.c): Likewise.
        (CFLAGS-iofread.c): Likewise.
        (CFLAGS-iofsetpos64.c): Likewise.
        (CFLAGS-iofsetpos.c): Likewise.
        (CFLAGS-ioftell.c): Likewise.
        (CFLAGS-iofwrite.c): Likewise.
        (CFLAGS-iogetdelim.c): Likewise.
        (CFLAGS-iogetline.c): Likewise.
        (CFLAGS-iogets.c): Likewise.
        (CFLAGS-iogetwline.c): Likewise.
        (CFLAGS-ioputs.c): Likewise.
        (CFLAGS-ioseekoff.c): Likewise.
        (CFLAGS-ioseekpos.c): Likewise.
        (CFLAGS-iosetbuffer.c): Likewise.
        (CFLAGS-iosetvbuf.c): Likewise.
        (CFLAGS-ioungetc.c): Likewise.
        (CFLAGS-ioungetwc.c): Likewise.
        (CFLAGS-oldfileops.c): Likewise.
        (CFLAGS-oldiofclose.c): Likewise.
        (CFLAGS-oldiofgetpos64.c): Likewise.
        (CFLAGS-oldiofgetpos.c): Likewise.
        (CFLAGS-oldiofsetpos64.c): Likewise.
        (CFLAGS-oldiofsetpos.c): Likewise.
        (CFLAGS-peekc.c): Likewise.
        (CFLAGS-putc.c): Likewise.
        (CFLAGS-putchar.c): Likewise.
        (CFLAGS-putwc.c): Likewise.
        (CFLAGS-putwchar.c): Likewise.
        (CFLAGS-rewind.c): Likewise.
        (CFLAGS-wfileops.c): Likewise.
        (CFLAGS-wgenops.c): Likewise.
        (CFLAGS-oldiofopen.c): Likewise.
        (CFLAGS-iofopen.c): Likewise.
        (CFLAGS-iofopen64.c): Likewise.
        (CFLAGS-oldtmpfile.c): Likewise.
        (CFLAGS-tst_putwc.c): Likewise.
        * locale/Makefile (CFLAGS-md5.c): Likewise.
        (CFLAGS-charmap.c): Likewise.
        (CFLAGS-locfile.c): Likewise.
        (CFLAGS-charmap-dir.c): Likewise.
        * login/Makefile (CFLAGS-grantpt.c): Likewise.
        (CFLAGS-getpt.c): Likewise.
        (CFLAGS-pt_chown.c): Likewise.
        * malloc/Makefile (CFLAGS-mcheck-init.c): Likewise.
        (CFLAGS-obstack.c): Likewise.
        * math/Makefile (CFLAGS-test-tgmath3.c): Likewise.
        (CFLAGS-test-double-vlen4-wrappers.c): Likewise.
        (CFLAGS-test-double-vlen8-wrappers.c): Likewise.
        (CFLAGS-test-float-vlen8-wrappers.c): Likewise.
        (CFLAGS-test-float-vlen16-wrappers.c): Likewise.
        (CFLAGS-test-tgmath.c): Likewise.
        (CFLAGS-test-tgmath2.c): Likewise.
        (CFLAGS-test-tgmath-ret.c): Likewise.
        (CFLAGS-test-powl.c): Likewise.
        (CFLAGS-test-snan.c): Likewise.
        (CFLAGS-test-signgam-finite.c): Likewise.
        (CFLAGS-test-signgam-finite-c99.c): Likewise.
        (CFLAGS-test-signgam-finite-c11.c): Likewise.
        (CFLAGS-test-signgam-uchar.c): Likewise.
        (CFLAGS-test-signgam-uchar-init.c): Likewise.
        (CFLAGS-test-signgam-uchar-static.c): Likewise.
        (CFLAGS-test-signgam-uchar-init-static.c): Likewise.
        (CFLAGS-test-signgam-uint.c): Likewise.
        (CFLAGS-test-signgam-uint-init.c): Likewise.
        (CFLAGS-test-signgam-uint-static.c): Likewise.
        (CFLAGS-test-signgam-uint-init-static.c): Likewise.
        (CFLAGS-test-signgam-ullong.c): Likewise.
        (CFLAGS-test-signgam-ullong-init.c): Likewise.
        (CFLAGS-test-signgam-ullong-static.c): Likewise.
        (CFLAGS-test-signgam-ullong-init-static.c): Likewise.
        (CFLAGS-test-math-cxx11.cc): Likewise.
        (CFLAGS-test-math-isinff.cc): Likewise.
        (CFLAGS-test-math-iszero.cc): Likewise.
        (CFLAGS-test-math-issignaling.cc): Likewise.
        (CFLAGS-test-math-iscanonical.cc): Likewise.
        (CFLAGS-test-iszero-excess-precision.c): Likewise.
        (CFLAGS-test-iseqsig-excess-precision.c): Likewise.
        (CFLAGS-test-flt-eval-method.c): Likewise.
        (CFLAGS-test-fe-snans-always-signal.c): Likewise.
        (CFLAGS-test-finite-macros.c): Likewise.
        * misc/Makefile (CFLAGS-select.c): Likewise.
        (CFLAGS-tsearch.c): Likewise.
        (CFLAGS-lsearch.c): Likewise.
        (CFLAGS-pselect.c): Likewise.
        (CFLAGS-readv.c): Likewise.
        (CFLAGS-writev.c): Likewise.
        (CFLAGS-preadv.c): Likewise.
        (CFLAGS-preadv64.c): Likewise.
        (CFLAGS-pwritev.c): Likewise.
        (CFLAGS-pwritev64.c): Likewise.
        (CFLAGS-preadv2.c): Likewise.
        (CFLAGS-preadv64v2.c): Likewise.
        (CFLAGS-pwritev2.c): Likewise.
        (CFLAGS-pwritev64v2.c): Likewise.
        (CFLAGS-usleep.c): Likewise.
        (CFLAGS-syslog.c): Likewise.
        (CFLAGS-error.c): Likewise.
        (CFLAGS-getpass.c): Likewise.
        (CFLAGS-mkstemp.c): Likewise.
        (CFLAGS-mkstemp64.c): Likewise.
        (CFLAGS-getsysstats.c): Likewise.
        (CFLAGS-getusershell.c): Likewise.
        (CFLAGS-err.c): Likewise.
        (CFLAGS-tst-tsearch.c): Likewise.
        (CFLAGS-msync.c): Likewise.
        (CFLAGS-fdatasync.c): Likewise.
        (CFLAGS-fsync.c): Likewise.
        * nptl/Makefile (CFLAGS-nptl-init.c): Likewise.
        (CFLAGS-unwind.c): Likewise.
        (CFLAGS-unwind-forcedunwind.c): Likewise.
        (CFLAGS-pthread_cancel.c): Likewise.
        (CFLAGS-pthread_setcancelstate.c): Likewise.
        (CFLAGS-pthread_setcanceltype.c): Likewise.
        (CFLAGS-cancellation.c): Likewise.
        (CFLAGS-libc-cancellation.c): Likewise.
        (CFLAGS-pthread_exit.c): Likewise.
        (CFLAGS-forward.c): Likewise.
        (CFLAGS-pthread_testcancel.c): Likewise.
        (CFLAGS-pthread_join.c): Likewise.
        (CFLAGS-pthread_timedjoin.c): Likewise.
        (CFLAGS-pthread_once.c): Likewise.
        (CFLAGS-pthread_cond_wait.c): Likewise.
        (CFLAGS-sem_wait.c): Likewise.
        (CFLAGS-sem_timedwait.c): Likewise.
        (CFLAGS-fcntl.c): Likewise.
        (CFLAGS-lockf.c): Likewise.
        (CFLAGS-pread.c): Likewise.
        (CFLAGS-pread64.c): Likewise.
        (CFLAGS-pwrite.c): Likewise.
        (CFLAGS-pwrite64.c): Likewise.
        (CFLAGS-wait.c): Likewise.
        (CFLAGS-waitpid.c): Likewise.
        (CFLAGS-sigwait.c): Likewise.
        (CFLAGS-msgrcv.c): Likewise.
        (CFLAGS-msgsnd.c): Likewise.
        (CFLAGS-tcdrain.c): Likewise.
        (CFLAGS-open.c): Likewise.
        (CFLAGS-open64.c): Likewise.
        (CFLAGS-pause.c): Likewise.
        (CFLAGS-recv.c): Likewise.
        (CFLAGS-send.c): Likewise.
        (CFLAGS-accept.c): Likewise.
        (CFLAGS-sendto.c): Likewise.
        (CFLAGS-connect.c): Likewise.
        (CFLAGS-recvfrom.c): Likewise.
        (CFLAGS-recvmsg.c): Likewise.
        (CFLAGS-sendmsg.c): Likewise.
        (CFLAGS-close.c): Likewise.
        (CFLAGS-read.c): Likewise.
        (CFLAGS-write.c): Likewise.
        (CFLAGS-nanosleep.c): Likewise.
        (CFLAGS-sigsuspend.c): Likewise.
        (CFLAGS-msync.c): Likewise.
        (CFLAGS-fdatasync.c): Likewise.
        (CFLAGS-fsync.c): Likewise.
        (CFLAGS-pt-system.c): Likewise.
        (CFLAGS-tst-cleanup2.c): Likewise.
        (CFLAGS-tst-cleanupx2.c): Likewise.
        (CFLAGS-flockfile.c): Likewise.
        (CFLAGS-ftrylockfile.c): Likewise.
        (CFLAGS-funlockfile.c): Likewise.
        (CFLAGS-tst-initializers1.c): Likewise.
        (CFLAGS-tst-initializers1-c89.c): Likewise.
        (CFLAGS-tst-initializers1-c99.c): Likewise.
        (CFLAGS-tst-initializers1-c11.c): Likewise.
        (CFLAGS-tst-initializers1-gnu89.c): Likewise.
        (CFLAGS-tst-initializers1-gnu99.c): Likewise.
        (CFLAGS-tst-initializers1-gnu11.c): Likewise.
        * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Likewise.
        (CFLAGS-nscd_getgr_r.c): Likewise.
        (CFLAGS-nscd_gethst_r.c): Likewise.
        (CFLAGS-nscd_getai.c): Likewise.
        (CFLAGS-nscd_initgroups.c): Likewise.
        * posix/Makefile (CFLAGS-getaddrinfo.c): Likewise.
        (CFLAGS-pause.c): Likewise.
        (CFLAGS-pread.c): Likewise.
        (CFLAGS-pread64.c): Likewise.
        (CFLAGS-pwrite.c): Likewise.
        (CFLAGS-pwrite64.c): Likewise.
        (CFLAGS-sleep.c): Likewise.
        (CFLAGS-wait.c): Likewise.
        (CFLAGS-waitid.c): Likewise.
        (CFLAGS-waitpid.c): Likewise.
        (CFLAGS-getopt.c): Likewise.
        (CFLAGS-wordexp.c): Likewise.
        (CFLAGS-sysconf.c): Likewise.
        (CFLAGS-pathconf.c): Likewise.
        (CFLAGS-fpathconf.c): Likewise.
        (CFLAGS-spawn.c): Likewise.
        (CFLAGS-spawnp.c): Likewise.
        (CFLAGS-spawni.c): Likewise.
        (CFLAGS-glob.c): Likewise.
        (CFLAGS-glob64.c): Likewise.
        (CFLAGS-getconf.c): Likewise.
        (CFLAGS-nanosleep.c): Likewise.
        * pwd/Makefile (CFLAGS-getpwent_r.c): Likewise.
        (CFLAGS-getpwent.c): Likewise.
        (CFLAGS-getpw.c): Likewise.
        (CFLAGS-fgetpwent_r.c): Likewise.
        * resolv/Makefile (CFLAGS-res_hconf.c): Likewise.
        * rt/Makefile (CFLAGS-aio_suspend.c): Likewise.
        (CFLAGS-mq_timedreceive.c): Likewise.
        (CFLAGS-mq_timedsend.c): Likewise.
        (CFLAGS-clock_nanosleep.c): Likewise.
        (CFLAGS-librt-cancellation.c): Likewise.
        * shadow/Makefile (CFLAGS-getspent_r.c): Likewise.
        (CFLAGS-getspent.c): Likewise.
        (CFLAGS-fgetspent.c): Likewise.
        (CFLAGS-fgetspent_r.c): Likewise.
        (CFLAGS-putspent.c): Likewise.
        (CFLAGS-getspnam.c): Likewise.
        (CFLAGS-getspnam_r.c): Likewise.
        * signal/Makefile (CFLAGS-sigpause.c): Likewise.
        (CFLAGS-sigsuspend.c): Likewise.
        (CFLAGS-sigtimedwait.c): Likewise.
        (CFLAGS-sigwait.c): Likewise.
        (CFLAGS-sigwaitinfo.c): Likewise.
        (CFLAGS-sigreturn.c): Likewise.
        * stdio-common/Makefile (CFLAGS-vfprintf.c): Likewise.
        (CFLAGS-vfwprintf.c): Likewise.
        (CFLAGS-tmpfile.c): Likewise.
        (CFLAGS-tmpfile64.c): Likewise.
        (CFLAGS-tempname.c): Likewise.
        (CFLAGS-psignal.c): Likewise.
        (CFLAGS-vprintf.c): Likewise.
        (CFLAGS-cuserid.c): Likewise.
        (CFLAGS-errlist.c): Likewise.
        (CFLAGS-siglist.c): Likewise.
        (CFLAGS-scanf15.c): Likewise.
        (CFLAGS-scanf17.c): Likewise.
        * stdlib/Makefile (CFLAGS-bsearch.c): Likewise.
        (CFLAGS-msort.c): Likewise.
        (CFLAGS-qsort.c): Likewise.
        (CFLAGS-system.c): Likewise.
        (CFLAGS-fmtmsg.c): Likewise.
        (CFLAGS-strfmon.c): Likewise.
        (CFLAGS-strfmon_l.c): Likewise.
        (CFLAGS-strfromd.c): Likewise.
        (CFLAGS-strfromf.c): Likewise.
        (CFLAGS-strfroml.c): Likewise.
        (CFLAGS-tst-bsearch.c): Likewise.
        (CFLAGS-tst-qsort.c): Likewise.
        (CFLAGS-tst-makecontext2.c): Likewise.
        * sunrpc/Makefile (CFLAGS-xbootparam_prot.c): Likewise.
        (CFLAGS-xnlm_prot.c): Likewise.
        (CFLAGS-xrstat.c): Likewise.
        (CFLAGS-xyppasswd.c): Likewise.
        (CFLAGS-xklm_prot.c): Likewise.
        (CFLAGS-xrex.c): Likewise.
        (CFLAGS-xsm_inter.c): Likewise.
        (CFLAGS-xmount.c): Likewise.
        (CFLAGS-xrusers.c): Likewise.
        (CFLAGS-xspray.c): Likewise.
        (CFLAGS-xnfs_prot.c): Likewise.
        (CFLAGS-xrquota.c): Likewise.
        (CFLAGS-xkey_prot.c): Likewise.
        (CFLAGS-auth_unix.c): Likewise.
        (CFLAGS-key_call.c): Likewise.
        (CFLAGS-pmap_rmt.c): Likewise.
        (CFLAGS-clnt_perr.c): Likewise.
        (CFLAGS-openchild.c): Likewise.
        * sysvipc/Makefile (CFLAGS-msgrcv.c): Likewise.
        (CFLAGS-msgsnd.c): Likewise.
        * termios/Makefile (CFLAGS-tcdrain.c): Likewise.
        * time/Makefile (CFLAGS-tzfile.c): Likewise.
        (CFLAGS-tzset.c): Likewise.
        (CFLAGS-getdate.c): Likewise.
        (CFLAGS-test_time.c): Likewise.
        (CPPFLAGS-tst-tzname.c): Likewise.
        * timezone/Makefile (CFLAGS-zdump.c): Likewise.
        (CFLAGS-zic.c): Likewise.
        * wcsmbs/Makefile (CFLAGS-wcwidth.c): Likewise.
        (CFLAGS-wcswidth.c): Likewise.
        (CFLAGS-wcstol.c): Likewise.
        (CFLAGS-wcstoul.c): Likewise.
        (CFLAGS-wcstoll.c): Likewise.
        (CFLAGS-wcstoull.c): Likewise.
        (CFLAGS-wcstod.c): Likewise.
        (CFLAGS-wcstold.c): Likewise.
        (CFLAGS-wcstof128.c): Likewise.
        (CFLAGS-wcstof.c): Likewise.
        (CFLAGS-wcstol_l.c): Likewise.
        (CFLAGS-wcstoul_l.c): Likewise.
        (CFLAGS-wcstoll_l.c): Likewise.
        (CFLAGS-wcstoull_l.c): Likewise.
        (CFLAGS-wcstod_l.c): Likewise.
        (CFLAGS-wcstold_l.c): Likewise.
        (CFLAGS-wcstof128_l.c): Likewise.
        (CFLAGS-wcstof_l.c): Likewise.
        (CPPFLAGS-tst-wchar-h.c): Likewise.
        (CPPFLAGS-wcstold_l.c): Likewise.
    
    Reviewed-by: Jonathan Nieder <address@hidden>

commit f4b2aea6e13345b73328fc5febf134d378e30554
Author: Paul Clarke <address@hidden>
Date:   Mon Dec 11 17:39:42 2017 -0200

    New generic cosf
    
    The same logic used in s_cosf.S version for x86 and powerpc
    is used to create a generic s_cosf.c, so there is no performance
    improvement in x86_64 and powerpc64.
    
        * sysdeps/ieee754/flt-32/s_cosf.c: New implementation.

commit c9cd7b0ce5c52a3dac7347084651d7df0b39a6d0
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Dec 11 17:39:42 2017 -0200

    powerpc: POWER8 memcpy optimization for cached memory
    
    On POWER8, unaligned memory accesses to cached memory has little impact
    on performance as opposed to its ancestors.
    
    It is disabled by default and will only be available when the tunable
    glibc.tune.cached_memopt is set to 1.
    
                     __memcpy_power8_cached      __memcpy_power7
    ============================================================
        max-size=4096:     33325.70 ( 12.65%)        38153.00
        max-size=8192:     32878.20 ( 11.17%)        37012.30
       max-size=16384:     33782.20 ( 11.61%)        38219.20
       max-size=32768:     33296.20 ( 11.30%)        37538.30
       max-size=65536:     33765.60 ( 10.53%)        37738.40
    
        * manual/tunables.texi (Hardware Capability Tunables): Document
        glibc.tune.cached_memopt.
        * sysdeps/powerpc/cpu-features.c: New file.
        * sysdeps/powerpc/cpu-features.h: New file.
        * sysdeps/powerpc/dl-procinfo.c [!IS_IN(ldconfig)]: Add
        _dl_powerpc_cpu_features.
        * sysdeps/powerpc/dl-tunables.list: New file.
        * sysdeps/powerpc/ldsodefs.h: Include cpu-features.h.
        * sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h
        (INIT_ARCH): Initialize use_aligned_memopt.
        * sysdeps/powerpc/powerpc64/dl-machine.h [defined(SHARED &&
        IS_IN(rtld))]: Restrict dl_platform_init availability and
        initialize CPU features used by tunables.
        * sysdeps/powerpc/powerpc64/multiarch/Makefile (sysdep_routines):
        Add memcpy-power8-cached.
        * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Add
        __memcpy_power8_cached.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy.c: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-power8-cached.S:
        New file.
    
    Reviewed-by: Rajalakshmi Srinivasaraghavan  <address@hidden>

commit e70c6fee466d26af36a38270e451cbe3273a6660
Author: H.J. Lu <address@hidden>
Date:   Mon Dec 11 08:39:10 2017 -0800

    string: Replace = with += in CFLAGS-xxx.c
    
    Replace = with += in CFLAGS-xxx.c to allow Makefile under sysdeps to
    define CFLAGS-xx.c.
    
        * string/Makefile (CFLAGS-inl-tester.c): Replace = with +=.
        (CFLAGS-noinl-tester.c): Likewise.
        (CFLAGS-tst-strlen.c): Likewise.
        (CFLAGS-stratcliff.c): Likewise.
        (CFLAGS-test-ffs.c): Likewise.
        (CFLAGS-tst-inlcall.c): Likewise.
        (CFLAGS-tst-xbzero-opt.c): Likewise.
        (CFLAGS-memcpy.c): Likewise.
        (CFLAGS-wordcopy.c): Likewise.

commit dee943668fdf97e118fe14f7953486b934cbf9c4
Author: Stefan Liebler <address@hidden>
Date:   Mon Dec 11 08:47:51 2017 +0100

    S390: Add CFI rule in _dl_runtime_resolve[_vx] for unwinding.
    
    In _dl_runtime_resolve[_vx], unwinding fails after the new stack frame
    is created as there is no CFI rule for r15. This is also observeable in
    GDB: Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    
    Therefore this patch is now storing r15 on stack and is using cfi_offset 
rule.
    The stmg/lmg instruction is used to store/load r14 and r15 with one 
instruction.
    On 64bit, the offsets of the fprs have moved to store r15 directly after 
r14.
    On 31bit, the r14/r15 is now stored between the other gprs and fprs as the 
space
    wasn't used.
    
    ChangeLog:
    
        * sysdeps/s390/s390-64/dl-trampoline.h (_dl_runtime_resolve):
        Store r15 on stack and add cfi rule.
        * sysdeps/s390/s390-32/dl-trampoline.h (_dl_runtime_resolve):
        Likewise.

commit f648728cb17bcf043b6f750f360b6c8960c491fd
Author: Aurelien Jarno <address@hidden>
Date:   Sun Dec 10 19:09:04 2017 +0100

    elf/rtld.c (init_tls): Add missing new line to the _dl_fatal_printf call 
[BZ #22577]
    
    Changelog:
        * elf/rtld.c (init_tls): Add missing new line to the _dl_fatal_printf
        call.

commit 9d0ffa60ad88799b33ab6437ba0f29b39c019462
Author: H.J. Lu <address@hidden>
Date:   Thu Dec 7 10:11:02 2017 -0800

    x86-64: Add sinf with FMA
    
    On Skylake, bench-sinf reports performance improvement:
    
                Before        After         Improvement
    max        153.996       100.094           54%
    min        8.546         6.852             25%
    mean       18.1223       11.802            54%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add s_sinf-sse2 and s_sinf-fma.
        (CFLAGS-s_sinf-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/s_sinf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/s_sinf-sse2.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_sinf.c: Likewise.

commit 9574c7b68ddc9f2b940d412dca87592414274b48
Author: H.J. Lu <address@hidden>
Date:   Thu Dec 7 09:44:04 2017 -0800

    x86-64: Remove sysdeps/x86_64/fpu/s_sinf.S
    
    On Ivy Bridge, bench-sinf reports performance improvement:
    
              s_sinf.S      s_sinf.c       Improvement
    max        91.521        86.148            6%
    min        14.061        11.265            25%
    mean       23.3758       23.3344           0.2%
    
        * sysdeps/x86_64/fpu/s_sinf.S: Removed.

commit d15e83c5f5231d971472b5ffc9219d54056ca0f1
Author: Joseph Myers <address@hidden>
Date:   Thu Dec 7 16:21:00 2017 +0000

    Fix ctanh (0 + i NaN), ctanh (0 + i Inf) (bug 22568, DR#471).
    
    As per C11 DR#471, ctanh (0 + i NaN) and ctanh (0 + i Inf) should
    return 0 + i NaN (with "invalid" exception in the second case but not
    the first), not NaN + i NaN.  This has corresponding implications for
    ctan since its special cases are defined by ctan (z) = -i ctanh (iz).
    This patch implements these cases for ctanh and ctan, updating
    tests accordingly.
    
    Tested for x86_64.
    
        [BZ #22568]
        * math/s_ctan_template.c (M_DECL_FUNC (__ctan)): Set imaginary
        part of result to imaginary part of argument if it is zero and the
        real part of the argument is not finite.
        * math/s_ctanh_template.c (M_DECL_FUNC (__ctanh)): Set real part
        of result to real part of argument if it is zero and the imaginary
        part of the argument is not finite.

commit d89756ebe1905c1989179c2f1c2b10ef2fb3354e
Author: Mike FABIAN <address@hidden>
Date:   Wed Dec 6 14:37:42 2017 +0100

    lt_LT locale: Base collation on copy "iso14651_t1" [BZ #22524]
    
        [BZ #22524]
        * localedata/Makefile: Add lt_LT.UTF-8 to test-input
        and to the list of locales to be built for testing.
        * localedata/lt_LT.UTF-8.in: New file for testing the collation.
        * localedata/locales/lt_LT (LC_COLLATE): Use “copy "iso14651_t1"”
        and build the collation rules upon that.

commit 1f9055ce04a66a787c400c05f12e88c96f07e686
Author: Joseph Myers <address@hidden>
Date:   Thu Dec 7 00:48:31 2017 +0000

    Add _Float32 function aliases.
    
    This patch concludes filling out TS 18661-3 support for different
    types by adding *f32 function aliases of float functions to support
    _Float32.  As with _Float64 and _Float32x, this is supported for all
    glibc configurations.  As with the previous such patches there are
    some x86 ulps updates because of inline functions present for float
    but not for _Float32.  The patch also has the usual
    bits/floatn-common.h update, symbol versions, ABI baselines updates,
    test enablement and documentation.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py, with both
    GCC 6 and GCC 7.
    
        * bits/floatn-common.h (__HAVE_FLOAT32): Define to 1.
        * manual/math.texi (Mathematics): Document support for _Float32.
        * math/Makefile (test-types): Add float32.
        * math/Versions (GLIBC_2.27): Add _Float32 functions.
        * stdlib/Versions (GLIBC_2.27): Likewise.
        * wcsmbs/Versions (GLIBC_2.27): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
        Likewise.
    
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

commit fb1ca2aa3e58cad474c918f34e5e5eed70f5d94a
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 23:06:12 2017 +0000

    Support defining strtof32, wcstof32 aliases.
    
    This patch adds support for defining strtof32, wcstof32, strtof32_l
    and wcstof32_l functions as aliases of the corresponding float
    functions when _Float32 support is enabled.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float32 changes.
    
        * stdlib/strtof.c: Include <bits/floatn.h>
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32): Define
        and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32): Define
        and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].
        * stdlib/strtof_l.c: Include <bits/floatn.h>
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strtof32_l): Define
        and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (wcstof32_l): Define
        and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].

commit fc10cc3f3223f1fa8c8dcc6743d18d1392808d71
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 22:44:56 2017 +0000

    Support defining strfromf32 alias.
    
    This patch adds support for defining strfromf32 as an alias of
    strfromf when _Float32 support is enabled.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float32 changes.
    
        * stdlib/strfromf.c: Include <bits/floatn.h>.
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32] (strfromf32): Define
        and later undefine as macro and define as weak alias.

commit e420d22826e081372d96af39f1f5a1fd4bb913a3
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 22:17:11 2017 +0000

    Add header for _Float32 testing.
    
    This patch adds the header required for testing _Float32 function
    aliases, using float ulps.  The corresponding makefile support will be
    included in the main patch that enables those aliases.
    
    In conjunction with other _Float32 changes, tested for x86_64 and with
    build-many-glibcs.py.
    
        * math/test-float32.h: New file.

commit 26007a2f689c94477ce9a00986613ccede052388
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 22:14:09 2017 +0000

    Support _Float32 in libm_alias_float.
    
    This patch makes the libm_alias_float macro support creating _Float32
    aliases, in preparation for enabling glibc support for that type.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float32 changes.
    
        * sysdeps/generic/libm-alias-float.h: Include <bits/floatn.h>.
        [__HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32]
        (libm_alias_float_other_r): Create f32 alias.
        (libm_alias_float_r): Use semicolon before call to
        libm_alias_float_other_r.

commit c191f64cd5e985bba95727c40cf02f3a0eae42e3
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 21:50:32 2017 +0000

    Correct some ia64 libm_alias_float_other calls.
    
    This patch corrects three ia64 libm_alias_float_other calls so they
    generate the intended _Float32 aliases when such aliases are enabled.
    
    Tested with build-many-glibcs.py for ia64-linux-gnu (that installed
    stripped shared libraries are unchanged when applied to current
    sources, and that this enables compilation tests to pass when used in
    conjunction with other _Float32 patches).
    
        * sysdeps/ia64/fpu/e_exp2f.S (__exp2f): Use exp2 not __exp2 as
        second argument to libm_alias_float_other.
        * sysdeps/ia64/fpu/e_log2f.S (__log2f): Use log2 not __log2 as
        second argument to libm_alias_float_other.
        * sysdeps/ia64/fpu/e_powf.S (__powf): Use pow not __pow as second
        argument to libm_alias_float_other.

commit 5244527da1bfa751492e146d3e6ae128c59bfcc4
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 21:35:20 2017 +0000

    Make cacosh (0 + iNaN) return NaN + i pi/2 (bug 22561, DR#471).
    
    As per C11 DR#471 (adjusted resolution accepted for C17), cacosh (0 +
    iNaN) should return NaN +/- i pi/2, not NaN + iNaN.
    
    This patch fixes the code accordingly.  The test has hardcoded the
    result with positive sign of the imaginary part (with an associated
    comment), since the unspecified sign for a result other than 0 or
    infinity isn't currently supported by the test infrastructure.
    
    Tested for x86_64.
    
        [BZ #22561]
        * math/s_cacosh_template.c (M_DECL_FUNC (__cacosh)): Use pi/2 for
        real part of result for argument 0 + i * NaN.
        * math/libm-test-cacosh.inc (cacosh_test_data): Update expected
        results for tests of 0 + i * NaN.

commit d73fac82bedc124f00a39eba703e5a9c53e8028d
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Dec 6 18:55:09 2017 -0200

    Update Alpha libm-test-ulps
    
        * sysdeps/alpha/fpu/libm-test-ulps: Update.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 7ec094e8018959a582c30ee7b1a24ec01bf7db06
Author: David S. Miller <address@hidden>
Date:   Wed Dec 6 12:18:51 2017 -0800

    Sparc ulp update.
    
        * sysdeps/sparc/fpu/libm-test-ulps: Update
        exp_{downward,towardzero,upward} ulps.

commit 1dbe6f64ab982a1a3258948e9347b5bca76790f3
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 15:19:06 2017 +0000

    Don't make local variables static in ldbl-96 j1l.
    
    The ldbl-96 implementation of j1l has some function-local variables
    that are declared static for no apparent reason (this dates back to
    the first addition of that file).
    
    Any vaguely recent compiler, probably including any that are supported
    for building glibc, optimizes away the "static" here, as the values of
    the variables on entry to the function are dead.  So there is not
    actually a user-visible bug here at present (but with any compilers
    that didn't optimize away the static at all, possibly building with
    less or no optimization, so that the function stored intermediate
    values to and then loaded them from the variables, there would have
    been a thread-safety issue).  But the "static" clearly doesn't belong
    there and might potentially make things unsafe were compilation
    without optimization to be supported in future, so this patch removes
    it.
    
    Tested for x86_64.
    
        * sysdeps/ieee754/ldbl-96/e_j1l.c (qone): Don't make local
        variables static.

commit 53994f12633b863eb833fc3b1f6971ae8de61ff8
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 13:42:58 2017 +0000

    Make some ldbl-128, ldbl-128ibm arrays const.
    
    I noticed that an x86_64 build of libm unexpectedly contained more
    non-constant data than an older version (before _Float128 support)
    did.  The problem is non-const arrays in the ldbl-128 j0l and j1l
    implementations; this patch makes those arrays, and the corresponding
    ldbl-128ibm ones, const.
    
    Tested for x86_64, and tested compilation for powerpc with
    build-many-glibcs.py.
    
        * sysdeps/ieee754/ldbl-128/e_j0l.c (Y0_2N): Make const.
        (Y0_2D): Likewise.
        * sysdeps/ieee754/ldbl-128/e_j1l.c (Y0_2N): Likewise.
        (Y0_2D): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (Y0_2N): Likewise.
        (Y0_2D): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (Y0_2N): Likewise.
        (Y0_2D): Likewise.

commit 62ea2193ee4b538b13da1c579113761e0b92376c
Author: Mike FABIAN <address@hidden>
Date:   Wed Dec 6 10:02:48 2017 +0100

    hsb_DE locale: Base collation on copy "iso14651_t1" [BZ #22515]
    
        [BZ #22515]
        * localedata/Makefile: Add hsb_DE.UTF-8 to test-input
        and to the list of locales to be built for testing.
        * localedata/hsb_DE.UTF-8.in: New file for testing the collation.
        * localedata/locales/hsb_DE (LC_COLLATE): Use “copy "iso14651_t1"”
        and build the collation rules upon that.

commit 37ac8e635a29810318f6d79902102e2e96b2b5bf
Author: Florian Weimer <address@hidden>
Date:   Wed Dec 6 07:39:25 2017 +0100

    Add references to CVE-2017-17426

commit 87235d7006afcb681ff7422bae346da7dcd995d7
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Wed Dec 6 10:49:11 2017 +0530

    Update NEWS to add sinf optimization

commit 0d93b7fd7cc043e908a132aacd46ff46e0c308a5
Author: Joseph Myers <address@hidden>
Date:   Wed Dec 6 00:58:03 2017 +0000

    Add _Float64, _Float32x function aliases.
    
    This patch continues filling out TS 18661-3 support by adding *f64 and
    *f32x function aliases, supporting _Float64 and _Float32x, as aliases
    for double functions.  These types are supported for all glibc
    configurations.  The API corresponds exactly to that for _Float128 and
    _Float64x.  _Float32 aliases to float functions remain to be added in
    subsequent patches to complete this process (then there are a few
    miscellaneous functions in TS 18661-3 to implement that aren't simply
    versions of existing functions for new types).
    
    The patch enables the feature in bits/floatn-common.h, adds symbol
    versions and documentation with updates to ABI baselines, and arranges
    for the libm functions for the new types to be tested.  As with the
    _Float64x changes there are some x86 ulps updates because of header
    inlines not used for the new types (and one other change to the
    non-multiarch libm-test-ulps, which I suppose comes from using a
    different compiler version / configuration from when it was last
    regenerated).
    
    Tested for x86_64 and x86, and with build-many-glibcs.py, with both
    GCC 6 and GCC 7.
    
        * bits/floatn-common.h (__HAVE_FLOAT64): Define to 1.
        (__HAVE_FLOAT32X): Likewise.
        * manual/math.texi (Mathematics): Document support for _Float64
        and _Float32x.
        * math/Makefile (test-types): Add float64 and float32x.
        * math/Versions (GLIBC_2.27): Add _Float64 and _Float32x
        functions.
        * stdlib/Versions (GLIBC_2.27): Likewise.
        * wcsmbs/Versions (GLIBC_2.27): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

commit f7787234964031bb642bfeb43a31292e1769b56c
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 21:52:15 2017 +0000

    Use long double not double for _Float64 with old GCC if values the same.
    
    If double, long double and _Float64 all have the same set of values,
    TS 18661-3 requires the usual arithmetic conversions on long double
    and _Float64 to produce _Float64.  For this to be the case when
    building with a compiler without a distinct _Float64 type, _Float64
    must be a typedef for long double, not for double.  (_Float32x,
    however, must be double in such a case, not long double, because the
    usual arithmetic conversions on _Float32x and double must produce
    double.)
    
    This patch adjusts the fallback definition of _Float64 and associated
    macros accordingly in that case, to fix the build of test-tgmath3 with
    GCC 6 for such a configuration.  Tested in conjunction with _Float64
    changes with build-many-glibcs.py for arm-linux-gnueabi, to make sure
    the issue with test-tgmath3 is fixed.  Also tested for x86_64.
    
        * bits/floatn-common.h: Include <bits/long-double.h>.
        [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
        && __NO_LONG_DOUBLE_MATH] (__f64): Use suffix 'l'.
        [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
        && __NO_LONG_DOUBLE_MATH] (__CFLOAT64): Use _Complex long double.
        [__HAVE_FLOAT64 && (!__GNUC_PREREQ (7, 0) || defined __cplusplus)
        && __NO_LONG_DOUBLE_MATH] (_Float64): Use long double.
        [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
        (__builtin_huge_valf64): Use __builtin_huge_vall.
        [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
        (__builtin_inff64): Use __builtin_infl.
        [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
        (__builtin_nanf64): Use __builtin_nanl.
        [__HAVE_FLOAT64 && !__GNUC_PREREQ (7, 0) && __NO_LONG_DOUBLE_MATH]
        (__builtin_nansf64): Use __builtin_nansl.

commit 07ed18d26a342741cb25a4739158c65ed9dd4d09
Author: Rogerio Alves <address@hidden>
Date:   Tue Dec 5 14:24:14 2017 -0200

    Add elision tunables
    
    This patch adds several new tunables to control the behavior of
    elision on supported platforms[1].   Since elision now depends
    on tunables, we should always *compile* with elision enabled,
    and leave the code disabled, but available for runtime
    selection.  This gives us *much* better compile-time testing of
    the existing code to avoid bit-rot[2].
    
    Tested on ppc, ppc64, ppc64le, s390x and x86_64.
    
    [1] This part of the patch was initially proposed by
    Paul Murphy but was "staled" because the framework have changed
    since the patch was originally proposed:
    
    https://patchwork.sourceware.org/patch/10342/
    
    [2] This part of the patch was inititally proposed as a RFC by
    Carlos O'Donnell.  Make sense to me integrate this on the patch:
    
    https://sourceware.org/ml/libc-alpha/2017-05/msg00335.html
    
        * elf/dl-tunables.list: Add elision parameters.
        * manual/tunables.texi: Add entries about elision tunable.
        * sysdeps/unix/sysv/linux/powerpc/elision-conf.c:
        Add callback functions to dynamically enable/disable elision.
        Add multiple callbacks functions to set elision parameters.
        Deleted __libc_enable_secure check.
        * sysdeps/unix/sysv/linux/s390/elision-conf.c: Likewise.
        * sysdeps/unix/sysv/linux/x86/elision-conf.c: Likewise.
        * configure: Regenerated.
        * configure.ac: Option enable_lock_elision was deleted.
        * config.h.in: ENABLE_LOCK_ELISION flag was deleted.
        * config.make.in: Remove references to enable_lock_elision.
        * manual/install.texi: Elision configure option was removed.
        * INSTALL: Regenerated to remove enable_lock_elision.
        * nptl/Makefile:
        Disable elision so it can verify error case for destroying a mutex.
        * sysdeps/powerpc/nptl/elide.h:
        Cleanup ENABLE_LOCK_ELISION check.
        Deleted macros for the case when ENABLE_LOCK_ELISION was not defined.
        * sysdeps/s390/configure: Regenerated.
        * sysdeps/s390/configure.ac: Remove references to enable_lock_elision..
        * nptl/tst-mutex8.c:
        Deleted all #ifndef ENABLE_LOCK_ELISION from the test.
        * sysdeps/powerpc/powerpc32/sysdep.h:
        Deleted all ENABLE_LOCK_ELISION checks.
        * sysdeps/powerpc/powerpc64/sysdep.h: Likewise.
        * sysdeps/powerpc/sysdep.h: Likewise.
        * sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/force-elision.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/elision-conf.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/force-elision.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/Makefile: Remove references to
        enable-lock-elision.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit a5a2a76bb71940cb8ceb4769a975327027fd55b5
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 18:31:53 2017 +0000

    Support defining strtof64, strtof32x, wcstof64, wcstof32x aliases.
    
    This patch adds support for defining strtof64, strtof32x, wcstof64,
    wcstof32x and the corresponding _l functions as aliases of the
    corresponding double functions when _Float64 and _Float32x support is
    enabled.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float64 / _Float32x changes.
    
        * stdlib/strtod.c: Include <bits/floatn.h>.
        (BUILD_DOUBLE): New macro.
        [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64]
        (strtof64): Define and later undefine as macro.  Define as weak
        alias if [!USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64]
        (wcstof64): Define and later undefine as macro.  Define as weak
        alias if [USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X]
        (strtof32x): Define and later undefine as macro.  Define as weak
        alias if [!USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X]
        (wcstof32x): Define and later undefine as macro.  Define as weak
        alias if [USE_WIDE_CHAR].
        * stdlib/strtod_l.c: Include <bits/floatn.h>.
        (BUILD_DOUBLE): New macro.
        [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64]
        (strtof64_l): Define and later undefine as macro.  Define as weak
        alias if [!USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64]
        (wcstof64_l): Define and later undefine as macro.  Define as weak
        alias if [USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X]
        (strtof32x_l): Define and later undefine as macro.  Define as weak
        alias if [!USE_WIDE_CHAR].
        [BUILD_DOUBLE && __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X]
        (wcstof32x_l): Define and later undefine as macro.  Define as weak
        alias if [USE_WIDE_CHAR].

commit 94d80dfc7349b3545942fbbb1d5ff05f354afdf8
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Dec 5 15:27:03 2017 -0200

    math: Use sign as double for reduced case in sinf
    
    This patch avoid an extra floating point to integer conversion in
    reduced internal function for generic sinf by defining the sign as
    double instead of integers.
    
    There is no much difference on Haswell with GCC 7.2.1:
    
               Before        After
    min          9.11        9.108
    mean       21.982      21.9224
    
    However H.J. Lu reported gains on Skylake:
    
    Before:
    
      "sinf": {
       "": {
        "duration": 3.4044e+10,
        "iterations": 1.9942e+09,
        "max": 141.106,
        "min": 7.704,
        "mean": 17.0715
       }
      }
    
    After:
    
      "sinf": {
       "": {
        "duration": 3.40665e+10,
        "iterations": 2.03199e+09,
        "max": 95.994,
        "min": 7.704,
        "mean": 16.765
       }
      }
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/ieee754/flt-32/s_sinf.c (ones): Define as double.
        (reduced): Use ones as double instead of integer.

commit 00d54af7c86cdcabc18c00619c229f49f4978610
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Dec 5 18:09:22 2017 +0000

    [PATCH] fix sinf(NAN)
    
    sinf(NAN) should not signal invalid fp exception
    so use isless instead of < where NAN is compared.
    
    this makes the sinf tests pass on aarch64.
    
        * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Use isless.

commit 1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 18:01:25 2017 +0000

    Support defining strfromf64, strfromf32x aliases.
    
    This patch adds support for defining strfromf64 and strfromf32x
    aliases of strfromd when the corresponding types are enabled.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float64 / _Float32x changes.
    
        * stdlib/strfromd.c: Include <bits/floatn.h>.
        [__HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] (strfromf64): Define
        and later undefine as macro and define as weak alias.
        [__HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] (strfromf32x):
        Likewise.

commit e2c4dce5350b8782d311467045c615734b2db270
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 17:34:25 2017 +0000

    Add headers for _Float64, _Float32x testing.
    
    This patch adds the headers required for testing _Float64 and
    _Float32x function aliases (using double ulps).  The corresponding
    makefile support will be included in the patch that actually adds
    those aliases; there doesn't seem much point in adding makefile
    conditionals for testing something that will be available
    unconditionally.
    
    In conjunction with other _Float64 / _Float32x changes, test for
    x86_64 and with build-many-glibcs.py.
    
        * math/test-float32x.h: New file.
        * math/test-float64.h: Likewise.

commit f2d64d621e620b3b11fc4ed55f3e753ed6dc31e7
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 16:59:34 2017 +0000

    Support _Float64, _Float32x in libm_alias_double.
    
    This patch makes the libm_alias_double macros support creating
    _Float64 and _Float32x aliases, in preparation for enabling glibc
    support for those types.
    
    Tested for x86_64; also tested with build-many-glibcs.py in
    conjunction with other _Float64 / _Float32x changes.
    
        * sysdeps/generic/libm-alias-double.h: Include <bits/floatn.h>.
        (libm_alias_double_other_r_f64): New macro.
        (libm_alias_double_other_r_f32x): Likewise.
        (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and
        libm_alias_double_other_r_f32x.
        (libm_alias_double_r): Use semicolon before call to
        libm_alias_double_other_r.
        * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Include
        <bits/floatn.h>.
        (libm_alias_double_other_r_f64): New macro.
        (libm_alias_double_other_r_f32x): Likewise.
        (libm_alias_double_other_r): Use libm_alias_double_other_r_f64 and
        libm_alias_double_other_r_f32x.

commit 91c318e7b91467984bf68014ef37539d084a34ab
Author: H.J. Lu <address@hidden>
Date:   Tue Dec 5 08:32:19 2017 -0800

    s_sinf.c: Replace floor with simple casts
    
    Since s_sinf.c either assigns the return value of floor to integer or
    passes double converted from integer to floor, this patch replaces
    floor with simple casts.
    
    Also since long == int for 32-bit targets, we can use long instead of
    int to avoid 64-bit integer for 64-bit targets.
    
    On Skylake, bench-sinf reports performance improvement:
    
               Before        After         Improvement
    max        130.566       129.564           30%
    min        7.704         7.706             0%
    mean       21.8188       19.1363           30%
    
        * sysdeps/ieee754/flt-32/s_sinf.c (reduced): Replace long with
        int.
        (SINF_FUNC): Likewise.  Replace floor with simple casts.

commit c7e882b70563289ac441f2a3565846221e111d00
Author: Chris Metcalf <address@hidden>
Date:   Tue Dec 5 11:36:26 2017 -0500

    tilegx: tag __insn_OP builtin issue with gcc bugzilla #

commit de9661d6beb74b177cef07fe44c90c4e48a983a2
Author: Mike FABIAN <address@hidden>
Date:   Tue Dec 5 15:33:37 2017 +0100

    et_EE locale: Base collation on iso14651_t1 [BZ #22517]
    
        [BZ #22517]
        * localedata/Makefile: Add et_EE.UTF-8 to test-input
        and to the list of locales to be built for testing.
        * localedata/et_EE.UTF-8.in: New file for testing the collation.
        * localedata/locales/et_EE (LC_COLLATE): Use “copy "iso14651_t1"”
            and build the collation rules upon that.

commit f18b8dc7d7ef3f01804e241d40f92faf480264c0
Author: Chris Metcalf <address@hidden>
Date:   Tue Dec 5 10:24:56 2017 -0500

    tilegx: work around vector insn bug in gcc
    
    Avoid an issue in gcc where some of the vector (aka SIMD) ops will
    sometimes end up getting wrongly optimized out.  We use these
    instructions in many of the string implementations.  If/when we
    have an upstreamed fix for this problem in gcc we can conditionalize
    the use of the extended assembly workaround in glibc.

commit 446d22e91d3113be57a4b0d1151cf337458c3bec
Author: Florian Weimer <address@hidden>
Date:   Tue Dec 5 15:20:30 2017 +0100

    Linux: Implement interfaces for memory protection keys
    
    This adds system call wrappers for pkey_alloc, pkey_free, pkey_mprotect,
    and x86-64 implementations of pkey_get and pkey_set, which abstract over
    the PKRU CPU register and hide the actual number of memory protection
    keys supported by the CPU.  pkey_mprotect with a -1 key is implemented
    using mprotect, so it will work even if the kernel does not support the
    pkey_mprotect system call.
    
    The system call wrapers use unsigned int instead of unsigned long for
    parameters, so that no special treatment for x32 is needed.  The flags
    argument is currently unused, and the access rights bit mask is limited
    to two bits by the current PKRU register layout anyway.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit da616c1496e2bd3022dbe4afdd162a80731c08ad
Author: Florian Weimer <address@hidden>
Date:   Tue Dec 5 15:08:59 2017 +0100

    support/tst-test_compare: Fix 32-bit/64-bit expected output mismatch
    
    The use of a long type resulted in test output differences between
    32-bit and 64-bit architectures, causing the test to fail on 32-bit
    architectures.

commit 216933b2422f1379809d30fbf403c0b047631ad8
Author: Joseph Myers <address@hidden>
Date:   Tue Dec 5 00:26:26 2017 +0000

    Use libm_alias_float for powerpc.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes powerpc libm function implementations use
    libm_alias_float to define function aliases.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for all its hard-float powerpc configurations.
    
        * sysdeps/powerpc/fpu/s_cosf.c: Include <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/powerpc/fpu/s_fmaf.S: Include <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * sysdeps/powerpc/fpu/s_rintf.c: Include <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/powerpc/fpu/s_sinf.c: Include <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.
        * sysdeps/powerpc/power5+/fpu/s_modff.c: Include
        <libm-alias-float.h>.
        (modff): Define using libm_alias_float.
        * sysdeps/powerpc/power7/fpu/s_logbf.c: Include
        <libm-alias-float.h>.
        (logbf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_llroundf.c: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include
        <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Include
        <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c:
        Include <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
        Include <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c:
        Include <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf.c:
        Include <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llroundf.c:
        Include <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logbf.c:
        Include <libm-alias-float.h>.
        (logbf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrintf.c:
        Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lroundf.c:
        Include <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff.c:
        Include <libm-alias-float.h>.
        (modff): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c:
        Include <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_truncf.c:
        Include <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include
        <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_roundf.S: Include
        <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_truncf.S: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include
        <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf.c: Include
        <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: Include
        <libm-alias-float.h>.
        (logbf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Include
        <libm-alias-float.h>.
        (modff): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Include
        <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf.c: Include
        <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Include
        <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: Include
        <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_cosf.S: Include
        <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_sinf.S: Include
        <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.

commit 934855246d5dbc0d454ceef5f89ad1b7e4c1db35
Author: Florian Weimer <address@hidden>
Date:   Mon Dec 4 20:54:24 2017 +0100

    support: Add TEST_COMPARE macro

commit 96b06a19e602557bfa668ad9c1a9f29044d3e774
Author: Mike FABIAN <address@hidden>
Date:   Mon Dec 4 17:46:28 2017 +0100

    tr_TR locale: Base collation on iso14651_t1 [BZ #22527]
    
        [BZ #22527]
        *  localedata/locales/tr_TR (LC_COLLATE): Base collation rules
        on iso14651_t1. A test file localedata/tr_TR.UTF-8.in is already
        available, this rewrite of the collation rules does reproduce
        the test file in the same order.

commit 1f6d91f328b7699610210d7d56d2cc49d60e1c27
Author: Mike FABIAN <address@hidden>
Date:   Mon Dec 4 13:10:29 2017 +0100

    hr_HR locale: Don’t use single code points for the digraphs in LC_TIME
    
        [BZ #10580]
        * localedata/locales/hr_HR (LC_TIME): Use two letters for the
        digraphs in the month and day names. Using single code points for
        digraphs is deprecated.  While there are dedicated Unicode
        codepoints, for the digraphs, these are included for backwards
        compatibility and modern texts use a sequence of Basic Latin
        characters. See: https://www.unicode.org/faq/ligature_digraph.html
        This makes the month and day names agree exactly with CLDR now,
        CLDR does not use the single code points for the digraphs either.

commit 2e49fed84c9ada0ad54445d197060dc28ee94103
Author: Chris Metcalf <address@hidden>
Date:   Mon Dec 4 12:31:20 2017 -0500

    tile: update ca{cos,sin,tan}{,h} double ULPs

commit 73895b499b1e290b6f19a5acf37944f663ec6d4e
Author: Joseph Myers <address@hidden>
Date:   Mon Dec 4 16:58:08 2017 +0000

    Use __floor not floor in sinf.
    
    The new sinf implementation introduced localplt failures for all
    platforms where the compiler did not inline the calls to floor
    (converted to trunc by machine-independent optimizations).  This patch
    changes the calls to use __floor as normal in libm.
    
    We can't use the public function names floor / floorf / floorl /
    floorf128 in libm code in the absence of appropriate asms to redirect
    floor/trunc calls, if not inlined, to use the internal names instead
    (while avoiding breaking code building the floor functions themselves)
    - while having such asms and then calling the public functions
    unconditionally would be desirable for optimization (few architectures
    have __floor inlines in math_private.h, and once the built-in function
    is used you don't need them), using __floor is the minimum safe fix
    for the present test regressions.
    
    Tested with build-many-glibcs.py that this fixes the localplt test
    failure for arm-linux-gnueabi.
    
        * sysdeps/ieee754/flt-32/s_sinf.c (SINF_FUNC): Use __floor instead
        of floor.

commit 4c1d801a5956f049126ef6cbe22ed23693e77a8c
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Dec 4 21:17:17 2017 +0530

    aarch64: Avoid hidden symbols for memcpy/memmove into static binaries
    
    The __GI_* symbol aliases for __memcpy_generic are unnecessary since
    they're never used.  Add them only for libc.so to avoid PLT.  Maybe
    some time in future we need to evaluate the relative cost of PLT vs
    gains from multiarch memcpy implementations and take a call on whether
    to drop this completely.
    
        * sysdeps/aarch64/multiarch/memcpy_generic.S (__GI_memcpy):
        Define only for libc.so.

commit 478593e6374f3818da39332260dc453cb19cfa1e
Author: Stefan Liebler <address@hidden>
Date:   Mon Dec 4 16:40:13 2017 +0100

    S390: Fix backtrace in vdso functions.
    
    On s390, GDB fails to show the complete backtrace from within vdso 
functions.
    The macro INTERNAL_VSYSCALL_CALL saves the return address in r14 to r10
    before branching to the vdso function. The branch-instruction updates r14
    in order to let the vdso function return. Then the original address in r14 
is
    restored from r10. Unfortunately, there are no cfi-rules and GDB fails.
    
    Furthermore the call of the vdso function does not comply with the s390 ABI
    as no stack-frame for the vdso-function is generated.
    
    This patch removes the s390 specific macro INTERNAL_VSYSCALL_CALL
    and the common implementation in sysdeps/unix/sysv/linux/sysdep-vdso.h is 
used.
    Then the vdso function is called via function-pointer and GCC generates a
    new stack-frame and emits all needed cfi-rules.
    
    The defines CLOBBER_[0-6] are removed as they  were only used in macro
    INTERNAL_VSYSCALL_CALL.
    
    The macro INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK is not used on s390.
    The only user is power. Thus it is removed from s390 sysdep.h.
    
    ChangeLog:
    
        * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
        (INTERNAL_VSYSCALL_CALL, CLOBBER_0, CLOBBER_1, CLOBBER_2,
         CLOBBER_3, CLOBBER_4, CLOBBER_5, CLOBBER_6,
        INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Remove.
        * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.

commit 7863a7118112fe502e8020a0db0fa74fef281f29
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Mon Dec 4 10:12:10 2017 +0530

    New generic sinf
    
    This implementation is based on optimized sinf assembly versions
    of x86_64 and powerpc.

commit b3f7fb12f5c490787d548ecc479920e608f6f904
Author: John David Anglin <address@hidden>
Date:   Sat Dec 2 14:43:28 2017 -0500

    Handle __gmon_start__ as undefined weak on hppa.
    
        [BZ libc/19170]
        * sysdeps/hppa/crti.S: Declare PREINIT_FUNCTION weak_extern when
        PREINIT_FUNCTION_WEAK is nonzero.
        (gmon_initializer): New function.  Put procedure label for it in
        .init_array section.
        (_init): Don't call PREINIT_FUNCTION.
        * sysdeps/hppa/crtn.S (__gmon_start__): Remove.
        * sysdeps/hppa/dl-lookupcfg.h (DL_FIXUP_MAKE_VALUE): Create null fixup
        value when map argument is null.

commit 800a496acbb8c43036b3832460220d4ecbbc22a4
Author: John David Anglin <address@hidden>
Date:   Sat Dec 2 11:04:16 2017 -0500

    Improve PIC pc-relative instruction sequences on hppa.
    
        * sysdeps/hppa/dl-fptr.c (elf_machine_resolve): Remove unnecessary
        depi instruction from PIC pc-relative sequence.
        * sysdeps/hppa/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Likewise.
        * sysdeps/hppa/dl-machine.h (elf_machine_dynamic): Likewise.
        (elf_machine_load_address): Likewise.
        (elf_machine_runtime_setup): Likewise.

commit d17542d235dd6dd4a83d28997f789543417afe11
Author: Joseph Myers <address@hidden>
Date:   Sat Dec 2 00:11:37 2017 +0000

    Use libm_alias_double for remaining powerpc functions.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes the remaining double powerpc functions use
    libm_alias_double to define function aliases (with consequent removal
    of the need for local compat symbol handling).  Previous cleanups
    avoid this patch changing installed stripped shared libraries for any
    build-many-glibcs.py configuration (there are still some functions in
    this patch for which the order of double and float aliases changes
    within an individual source file, but in this case this doesn't result
    in changes to the final library).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for all its hard-float powerpc configurations.
    
        * sysdeps/powerpc/power7/fpu/s_logb.c: Include
        <libm-alias-double.h>.
        (logb): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include
        <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include
        <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
        Include <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c:
        Include <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c:
        Include <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include
        <libm-alias-double.h>.
        (logb): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c:
        Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c:
        Include <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include
        <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include
        <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include
        <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        (lrint): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        (lround): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include
        <libm-alias-double.h>.
        (logb): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        (lrint): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        (lround): Likewise.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        (lround): Likewise.
        * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        (lrint): Likewise.
        * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        (lround): Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        (lrint): Likewise.
        * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        (lround): Likewise.

commit 0ddde474db4e466a991652049888b7dbb8515f69
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 1 23:58:05 2017 +0000

    Define powerpc64 lroundl compat symbol only once.
    
    sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c defines the
    lroundl compat symbol, version GLIBC_2_1, twice, once based on llround
    and once based on __lround.  Those are aliases for each other (llround
    weak, __lround strong), but defining it twice does not make sense.
    This patch changes it to define the compat symbol once only, matching
    how libm_alias_double defines it.
    
    Tested with build-many-glibcs.py for its powerpc64 configurations.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
        [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (lroundl): Do not define
        compat symbol based on llround.

commit 0d5ba561c1ef3d4abf060bbdba88c29379d4adbe
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 1 23:37:46 2017 +0000

    Base powerpc logbl compat symbols on __logb not logb.
    
    Some powerpc logb implementations define a compat symbol for logbl
    based on logb, whereas libm_alias_double defines such a compat symbol
    based on __logb instead.  This difference (logb is weak, __logb isn't)
    is enough to result in different installed stripped shared libraries.
    The difference in the installed libraries isn't significant, but first
    changing the compat_symbol calls helps make it possible to validate a
    subsequent change to use libm_alias_double by comparison of libraries,
    so this patch does such a preliminary change.
    
    Tested with build-many-glibcs.py for all its hard-float powerpc
    configurations.
    
        * sysdeps/powerpc/power7/fpu/s_logb.c
        [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Define as compat
        symbol based on __logb, not on logb.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c
        [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c
        [LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (logbl): Likewise.

commit 51ea3b2042ae5012c8e93142baf2e4e84909ff5f
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 1 23:09:47 2017 +0000

    Ues libm_alias_double for various powerpc functions.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch various powerpc functions use libm_alias_double to
    define function aliases (with consequent removal of the need for local
    compat symbol handling).  (The present patch excludes the changes to
    some functions where such changes could result in differences in
    installed stripped shared libraries because of changes to the exact
    ordering or properties of symbols in individual .os files.)
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for all its hard-float powerpc configurations.
    
        * sysdeps/powerpc/fpu/s_rint.c: Include <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/powerpc/power5+/fpu/s_modf.c: Include
        <libm-alias-double.h>.
        (modf): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_round.S: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c:
        Include <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf.c: Include
        <libm-alias-double.h>.
        (modf): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c:
        Include <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_trunc.c:
        Include <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Include
        <libm-alias-double.h>.
        (modf): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_round.S: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.

commit ec2cf3f4445af7d729308350edf1e890eeebdd1d
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 1 22:23:28 2017 +0000

    Use libm_alias_double for powerpc fabs, fma.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes powerpc fabs and fma use libm_alias_double
    to define function aliases.  This brings in automatic symbol
    versioning compat handling, so the powerpc32 and powerpc64 wrappers
    that added such handling to the generic sysdeps/powerpc/fpu versions
    are removed as no longer required (there are no sysdeps directory
    ordering issues that would necessitate keeping trivial wrappers
    there).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for all its hard-float powerpc configurations.
    
        * sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/powerpc/fpu/s_fma.S: Include <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file.
        * sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise.

commit 15e84c63c05e0652047ba5e738c54d79d62ba74b
Author: Aurelien Jarno <address@hidden>
Date:   Fri Dec 1 21:53:51 2017 +0100

    Update NEWS to add CVE-2017-15804 entry

commit 428fc49eaafe0fe5352445fcf23d9f603e9083a2
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Nov 17 18:20:42 2017 -0200

    powerpc: Regenerate ULPs
    
    On POWER9, cbrtf128 fails by 1 ULP.
    
        * sysdeps/powerpc/fpu/libm-test-ulps: Regenerate.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 0594b13f5df5193aa229d9851828e09227a8a7db
Author: Adhemerval Zanella <address@hidden>
Date:   Sat Oct 14 07:55:54 2017 -0300

    x32: Remove unused getcpu implementation
    
    Checked on x86_64-linux-gnu-x32.
    
        * sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit dbdfcf3bba0431d922e5797461e3337d0840c9a5
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 13:47:36 2017 -0300

    sparc: Remove ununsed ifunc assembly macros
    
    Now that all SPARC ifunc converted to C implementation there is no need
    for both C and assembly macros.  This patch removes the assembly ones.
    
    Checked on sparcv9-linux-gnu and sparc64-linux-gnu.
    
        * sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC_DFLT,
        SPARC_ASM_IFUNC1, SPARC_ASM_IFUNC2, SET, SPARC_ASM_VIS2_IFUNC,
        SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 5b7bd9756c8cee01903ac5dd36c965032e5c8477
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Dec 1 15:43:45 2017 -0200

    sparc: Fix sparv9 multiarch build
    
    Fix build caused by 5b4e5e78690c4938de312a8b176f4b14eb7bea4a.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Fix build
        due redirect macro.

commit ef9ecfa63c85ae5bb558933e710bf2b0a8234f13
Author: Andreas Schwab <address@hidden>
Date:   Fri Dec 1 14:37:57 2017 +0100

    intl: create target directory for bison

commit 2a14526bfae3ee4fe34fc39efeea6ee93f25be32
Author: Adhemerval Zanella <address@hidden>
Date:   Sat Oct 14 09:47:08 2017 -0300

    sparc: refactor cpu_relax to C
    
        * sysdeps/sparc/sparc64/cpu_relax.c: New file.
        * sysdeps/sparc/sparc32/sparcv9/cpu_relax.c: Likewise.
        * sysdeps/sparc/sparc64/cpu_relax.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/cpu_relax.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 1c051a9b09339c26a9ada5aeff1b184654cafaf2
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 16:11:33 2017 -0300

    sparc: refactor sparc32 nearbyint{f} selector to C
    
    This patch refactors the sparc32 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_nearbyint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_nearbyintf-generic and
        s_nearbyint-generic.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-generic.S:
        New file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-generic.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.c:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S: Remove
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S:
        Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit dbeb74ef84eeb981fff843d34c2ba341faad9791
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 16:05:24 2017 -0300

    sparc: refactor sparc32 rint{f} selector to C
    
    This patch refactors the sparc32 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_rint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-generic.S: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-generic.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit fa7ded96125105626d14fe400deb06f5554f08bf
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 16:00:36 2017 -0300

    sparc: refactor sparc32 llrint{f} selector to C
    
    This patch refactors the sparc32 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_llrint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_llrintf-generic and s_llrint-generic.
        * sysdeps/sparc/sparcv9/fpu/multiarch/s_llrint-generic.S: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-generic.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit e240cf0e0e47436c1beb0e95f78c03f3774a4533
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 15:49:25 2017 -0300

    sparc: refactor sparc32 fabs{f} selector to C
    
    This patch refactors the sparc32 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_fabs{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_fabsf-generic and s_fabs-generic.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-generic.S: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-generic.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 5b4e5e78690c4938de312a8b176f4b14eb7bea4a
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 15:34:33 2017 -0300

    sparc: refactor sparc32 copysign selector to C
    
    This patch refactors the sparc32 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_copysign{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        (sysdep_calls): New rule.
        (sysdep_routines): Use sysdep_calls as base.
        (libm-sysdep_routines): Add generic rule for symbols shared with
        libc.  Add s_copysign-generic and s_copysign-generic objects.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-generic.S:
        New file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-generic.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit d985adae22838fb28c4dc4caebcc8c78e838d03e
Author: Mike FABIAN <address@hidden>
Date:   Fri Dec 1 13:45:51 2017 +0100

    is_IS locale: Base collation on iso14651_t1 [BZ #22519]

commit ff84a0e0507d797011ba28842ab1e5dd0d430eb1
Author: Joseph Myers <address@hidden>
Date:   Fri Dec 1 01:12:42 2017 +0000

    Use libm_alias_float for e500.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes an e500 libm function implementation use
    libm_alias_float to define function aliases.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for its e500 configurations.
    
        * sysdeps/powerpc/powerpc32/e500/nofpu/s_fabsf.S: Include
        <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.

commit ef5d8b4342dbeeb6b9e67df75c89251898150532
Author: H.J. Lu <address@hidden>
Date:   Thu Nov 30 16:33:59 2017 -0800

    mips: Don't use MIN in dl-machine.h
    
    MIN is used, but param.h may not be included, so expand its single use
    inline.
    
        * sysdeps/mips/dl-machine.h (elf_machine_reloc): Expand MIN.

commit f938b397dd17265a1a005cd5786f197de1013e74
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 23:52:35 2017 +0000

    Use libm_alias_float for coldfire.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes coldfire libm function implementations use
    libm_alias_float to define function aliases.
    
    Untested, given the currently broken state of GCC for coldfire.
    
        * sysdeps/m68k/coldfire/fpu/s_fabsf.c: Include
        <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/m68k/coldfire/fpu/s_lrintf.c: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/m68k/coldfire/fpu/s_rintf.c: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.

commit 2251fad0254299701f4fb1c65ef8c8b69d0cf00e
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 23:47:18 2017 +0000

    Use libm_alias_double for coldfire.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes coldfire libm function implementations use
    libm_alias_double to define function aliases.
    
    Untested, given the currently broken state of GCC for coldfire.
    
        * sysdeps/m68k/coldfire/fpu/s_fabs.c: Include
        <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/m68k/coldfire/fpu/s_lrint.c: Include
        <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/m68k/coldfire/fpu/s_rint.c: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.

commit e53df1dee841a206bf376373eb4250ce4f277e4b
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 22:39:07 2017 +0000

    Rework m68k libm functions to use declare_mgen_alias.
    
    Many m68k libm functions use their own system to share code between
    different types and functions, involving defining macros before
    including code for another function (for example, s_atan.c also acts
    as a template that can define other functions).
    
    Thes files serving as templates generate function aliases directly
    with e.g. "weak_alias (__CONCATX(__,FUNC), FUNC)" in s_atan.c.  To be
    prepared to generate _Float32, _Float64 and _Float32x function
    aliases, this needs changing so that the libm_alias_* macros get used
    instead.  As the macro to use varies depending on the type, that would
    mean additional macros to define in several different places to get
    the appropriate alias-generation macro used in each case.
    
    Rather than adding to the m68k-specific mechanisms, this patch
    converts the functions in question to use something closer to the
    math/ type-generic template mechanism.  After this patch, these
    functions have m68k-specific templates such as s_atan_template.c, but
    those templates use all the same macros as in the math/ templates,
    such as FLOAT, M_DECL_FUNC, M_SUF and declare_mgen_alias.  There is no
    automatic generation of the files such as s_atan.c that include the
    appropriate math-type-macros-*.h header and the template file (the
    existing automatic generation logic is only applicable for the fixed
    set of templates listed in math/ - and sysdeps sources always override
    files generated that way), so those files are still checked in, but
    they are all the obvious two-line files (with one additional
    definition in the case of the expm1 implementations), rather than
    making e.g. s_atan.c special.
    
    Functions are only converted where they should have aliases for
    _FloatN / _FloatNx types.  Those m68k functions that do not generate
    public names (those that only generate __ieee754_*, with wrappers
    generating the public names, and classification functions that only
    exist once per format not once per type so don't get aliases) are
    unchanged.  However, log1p (public names generated by wrapper) and
    significand (not provided for new types so no new aliases needed)
    needed changing because they previously included the atan
    implementations.  Now, s_significand.c is the main implementation for
    functions with that prototype and using the old implementation
    approach, while log1p includes it in place of atan.
    
    Any further cleanups in this area (which preserve the proper set of
    functions getting aliases defined by libm_alias_float and
    libm_alias_double) are of course welcome, just not needed for the
    goals of this patch.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * sysdeps/m68k/m680x0/fpu/s_atan_template.c: New file.
        * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_cos_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_expm1_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_fabs_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_frexp_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_lrint_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_modf_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_nearbyint_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_remquo_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_rint_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sin_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sincos_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tan_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tanh_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_trunc_template.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_atan.c: Reimplement to use
        s_atan_template.c.
        * sysdeps/m68k/m680x0/fpu/s_atanf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_atanl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_ceil.c: Reimplement to use
        s_ceil_template.c.
        * sysdeps/m68k/m680x0/fpu/s_ceilf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_ceill.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_cos.c: Reimplement to use
        s_cos_template.c.
        * sysdeps/m68k/m680x0/fpu/s_cosf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_cosl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_expm1.c: Reimplement to use
        s_expm1_template.c.
        * sysdeps/m68k/m680x0/fpu/s_expm1f.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_expm1l.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_fabs.c: Reimplement to use
        s_fabs_template.c.
        * sysdeps/m68k/m680x0/fpu/s_fabsf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_fabsl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_floor.c: Reimplement to use
        s_floor_template.c.
        * sysdeps/m68k/m680x0/fpu/s_floorf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_floorl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_frexp.c: Reimplement to use
        s_frexp_template.c.
        * sysdeps/m68k/m680x0/fpu/s_frexpf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_lrint.c: Reimplement to use
        s_lrint_template.c.
        * sysdeps/m68k/m680x0/fpu/s_lrintf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_lrintl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_modf.c: Reimplement to use
        s_modf_template.c.
        * sysdeps/m68k/m680x0/fpu/s_modff.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_modfl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_nearbyint.c: Reimplement to use
        s_nearbyint_template.c.
        * sysdeps/m68k/m680x0/fpu/s_nearbyintf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_nearbyintl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_remquo.c: Reimplement to use
        s_remquo_template.c.
        * sysdeps/m68k/m680x0/fpu/s_remquof.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_remquol.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_rint.c: Reimplement to use
        s_rint_template.c.
        * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sin.c: Reimplement to use
        s_sin_template.c.
        * sysdeps/m68k/m680x0/fpu/s_sinf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sinl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sincos.c: Reimplement to use
        s_sincos_template.c.
        * sysdeps/m68k/m680x0/fpu/s_sincosf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_sincosl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tan.c: Reimplement to use
        s_tan_template.c.
        * sysdeps/m68k/m680x0/fpu/s_tanf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tanl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tanh.c: Reimplement to use
        s_tanh_template.c.
        * sysdeps/m68k/m680x0/fpu/s_tanhf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_tanhl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_trunc.c: Reimplement to use
        s_trunc_template.c.
        * sysdeps/m68k/m680x0/fpu/s_truncf.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_truncl.c: Likewise.
        * sysdeps/m68k/m680x0/fpu/s_significand.c: Reimplement based on
        s_atan.c instead of including s_atan.c.
        * sysdeps/m68k/m680x0/fpu/s_significandf.c: Reimplement based on
        s_atanf.c instead of including s_atanf.c.
        * sysdeps/m68k/m680x0/fpu/s_significandl.c: Reimplement based on
        s_atanl.c instead of including s_atanl.c.
        * sysdeps/m68k/m680x0/fpu/s_log1p.c: Include s_significand.c
        instead of s_atan.c.
        * sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_significandf.c
        instead of s_atanf.c.
        * sysdeps/m68k/m680x0/fpu/s_log1pl.c: Include s_significandl.c
        instead of s_atanl.c.

commit c0535adfeb5aad46f622f040925889602a482f29
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 21:25:25 2017 +0000

    Remove scripts/update-copyrights handling of intl/plural.c.
    
    Since this file is no longer checked in, update-copyrights no longer
    needs to avoid changing it.
    
        * scripts/update-copyrights: Do not handle intl/plural.c
        specially.

commit 1faaf7035cabda101e1d6653bff7a539f201db91
Author: Juro Bystricky <address@hidden>
Date:   Thu Nov 30 21:21:15 2017 +0000

    plural.c: improve reproducibility
    
    There is a subtle non-determinism when building glibc.
    This depends on whether the glibc is built using the distibuted
    file intl/plural.c or built using the generated file intl/plural.c.
    These two files (intl/plural.c generated vs. distributed) are slightly
    different, hence we may end up with slightly different libraries.
    
    Originally, having "bison" installed was optional. So if "bison" was
    not present, we always built libraries with the distributed plural.c.
    If bison was installed, we *** may have *** replaced the distributed
    file plural.c with a new plural.c generated from plural.y. if the
    timestamps triggered this rule:
    
    plural.c plural.y
        $(BISON) $(BISONFLAGS) $@ $^
    
    Given that timestamps are not preserved in GIT repositories, the above
    rule is not reliable without explicitly touching plural.c or plural.y.
    In other words, the rule may or may not have fired.
    
    In summary: there are two distinct sources of non-determinism:
    
    1. Having "bison" installed or not
    2. Having "bison" installed but timestamps poorly defined.
    
    This patch fixes this by requiring "bison" being installed
    and by always generating intl/plural.c from intl/plural.y.
    (This is achieved by simply removing checked-in intl/plural.c)
    
        [BZ #22432]
        * configure.ac (BISON): Require to be present.
        * configure: Regenerated.
        * intl/Makefile (generated): Add plural.c.
        [$(BISON) != no]: Make code unconditional.
        (plural.c): Change rule to $(objpfx)plural.c.
        ($(objpfx)plural.o): Depend on $(objpfx)plural.c.
        * intl/plural.c: Remove.
        * manual/install.texi (Tools for Compilation): Document bison as
        required.
        * INSTALL: Regenerated.

commit bd6ea9edd1708c7b0166af685a676b91e5b5950d
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 19:15:21 2017 +0000

    Use libm_alias macros in m68k llrint functions.
    
    Most m68k libm functions share code via sources for one function
    including those for another function or type, in a way that will
    require significant changes to create function aliases in a way
    friendly to adding _FloatN / _FloatNx aliases.
    
    The llrint function implementations, however, use a conventional
    separate implementation for each floating-point type.  Thus preparing
    them for _FloatN / _FloatNx aliases is just a matter of changing them
    to include the appropriate headers and use the appropriate macros,
    which this patch does.  The llrintl changes aren't strictly required,
    since m68k long double does not meet the criteria for a _FloatN /
    _FloatNx type, but are included anyway to keep consistency between the
    implementations for the three types.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for m68k-linux-gnu are unchanged by the patch.
    
        * sysdeps/m68k/m680x0/fpu/s_llrint.c: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/m68k/m680x0/fpu/s_llrintf.c: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/m68k/m680x0/fpu/s_llrintl.c: Include
        <libm-alias-ldouble.h>.
        (llrintl): Define using libm_alias_ldouble.

commit faec63238fc58d7c055aa2394d2500e20565dbbf
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 19:03:57 2017 +0000

    Use declare_mgen_alias in m68k templates.
    
    Some m68k libm functions have their own templates replacing the
    generic math/ ones but using the type-generic template machinery.
    These currently define function aliases directly using weak_alias.  In
    preparation for additional _FloatN / _FloatNx function aliases, this
    patch changes them to use declare_mgen_alias for creating aliases
    instead.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries for m68k-linux-gnu are unchanged by the patch.
    
        * sysdeps/m68k/m680x0/fpu/s_ccosh_template.c (ccosh): Use
        declare_mgen_alias instead of weak_alias.
        * sysdeps/m68k/m680x0/fpu/s_cexp_template.c (cexp): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_csin_template.c (csin): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_csinh_template.c (csinh): Likewise.

commit 9e2279a0e91af29b9b6e367b9e1d13c8d491b7e6
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 15:01:58 2017 -0300

    sparc: refactor sparc64 __mpn_add_n selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    add_n-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines):
        Add add_n-generic.
        * sysdeps/sparc/sparc64/multiarch/add_n-generic.S: New file.
        * sysdeps/sparc/sparc64/multiarch/add_n.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/add_n.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 75f37c71dbd9a5c5c1594800c4824d70d017185e
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 14:59:09 2017 -0300

    sparc: refactor sparc64 __mpn_submul_1 selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    submul_1-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines):
        Add submul_1-generic.
        * sysdeps/sparc/sparc64/multiarch/submul_1-generic.S: New file.
        * sysdeps/sparc/sparc64/multiarch/submul_1.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/submul_1.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit dda1d2e88b79a1d45d722c3b00b7a2f2250cb00e
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 14:56:29 2017 -0300

    sparc: refactor sparc64 __mpn_addmul_1 selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    addmul_1-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines):
        Add addmul_1-generic.
        * sysdeps/sparc/sparc64/multiarch/addmul_1-generic.S: New file.
        * sysdeps/sparc/sparc64/multiarch/addmul_1.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/addmul_1.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit b70cbbfcc844fd862a3f053991ce392f224b89cd
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 14:53:13 2017 -0300

    sparc: refactor sparc64 __mpn_sub_n selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    sub_n-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines):
        Add sub_n-generic.
        * sysdeps/sparc/sparc64/multiarch/sub_n-generic.S: New file.
        * sysdeps/sparc/sparc64/multiarch/sub_n.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/sub_n.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 023cade3b390a321065a8bdfc0d67e7c7a929780
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 14:52:51 2017 -0300

    sparc: refactor sparc64 __mpn_mul_1 selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    mul_1-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/multiarch/Makefile (sysdep_routines):
        Add mul_1-generic.
        * sysdeps/sparc/sparc64/multiarch/mul_1-generic.S: New file.
        * sysdeps/sparc/sparc64/multiarch/mul_1.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/mul_1.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit fbb5fd03d3189c626a002029e599d7e44e623c1e
Author: Mike FABIAN <address@hidden>
Date:   Thu Nov 30 15:57:25 2017 +0100

    sr_RS and bs_BA locales: make collation rules the same as for hr_HR [BZ 
#22534]
    
        According to CLDR, collation rules for Serbian and Bosnian
        should be the same as for Croatian.
    
        [BZ #22534]
        * localedata/Makefile: Add sr_RS.UTF-8 and bs_BA.UTF-8 to test-input
        and to the list of locales to be built for testing.
        * localedata/bs_BA.UTF-8.in: New file (same as hr_HR.UTF-8.in).
        * localedata/sr_RS.UTF-8.in: New file (same as hr_HR.UTF-8.in).
        * localedata/locales/bs_BA (LC_COLLATE): Use “copy "hr_HR"”.
        * localedata/locales/sr_RS (LC_COLLATE): Use “copy "hr_HR"”.

commit 5e56e937c9144e70a16793d2c5aa22d1bd0b2c18
Author: Mike FABIAN <address@hidden>
Date:   Thu Nov 30 12:13:02 2017 +0100

    hr_HR locale: fix collation and expand collation test file
    
        * localedata/locales/hr_HR (LC_COLLATE): Fix collation
        to make test case pass.
        * localedata/hr_HR.UTF-8.in: Add more test strings.

commit cf4341ca90164398c05e74f72ff19dc52136731c
Author: Mike FABIAN <address@hidden>
Date:   Thu Nov 30 10:50:44 2017 +0100

    Fix test case for hr_HR monetary formatting
    
        * stdlib/tst-strfmon_l.c: Fix testcase. Needed because of [BZ #10580]

commit 9ca6b343783236fda88e9712f29b46ec875d4156
Author: Dragan Stanojević - Nevidljivi <address@hidden>
Date:   Thu Nov 30 10:02:55 2017 +0100

    Add test case for collation in hr_HR locale
    
        * localedata/Makefile: Add hr_HR.UTF-8 to test-input and to
        the list of locales to built for testing.
        * localedata/hr_HR.UTF-8.in: New file.

commit 37075ae18d10802b9d62db3fbc910b30e01398d4
Author: Dragan Stanojević - Nevidljivi <address@hidden>
Date:   Thu Nov 30 09:14:51 2017 +0100

    hr_HR locale: various updates [BZ #10580]
    
        [BZ #10580]
            * localedata/locales/hr_HR (LC_COLLATE): Base collation rules on
            iso14651_t1.
            * localedata/locales/hr_HR (LC_TIME): Sync month and day names with
            CLDR (except use ligatures for the digraphs, CLDR does not use
            the ligatures), add first_workday, some fixes in the date and time
            formats.
            * localedata/locales/hr_HR (LC_CTYPE): Add transliteration rules
            for Đ and đ.
            * localedata/locales/hr_HR (LC_MONETARY): Change currency_symbol to
            lower case. p_cs_precedes and n_cs_precedes should be 0 instead of 
1.
            Add int_p_cs_precedes and int_n_cs_precedes.
            * localedata/locales/hr_HR (LC_NUMERIC): Change thousands_sep to
            "<U202F>" (NARROW NO-BREAK SPACE) and grouping to 3;3 (Agrees with
            LC_MONETARY now).
            * localedata/locales/hr_HR (LC_TELEPHONE): Add tel_dom_fmt.
        * localedata/locales/hr_HR (LC_NAME): Add name_mr, name_mrs, and
            name_miss.
        * localedata/locales/hr_HR (LC_ADDRESS): Add country_post, country_isbn,
            and lang_lib. Change postal_fmt.
    
    change

commit f33632ccd1dec3217583fcfdd965afb62954203c
Author: H.J. Lu <address@hidden>
Date:   Thu Nov 30 04:49:25 2017 -0800

    x86: Make a space in jmpbuf for shadow stack pointer
    
    To support Shadow Stack (SHSTK) in Intel Control-flow Enforcement
    Technology (CET) in setjmp/longjmp, we need to save shadow stack
    pointer in jmp_buf.  The __saved_mask field in jmp_buf has type
    of __sigset_t.  On Linux, __sigset_t is defined as
    
     #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
    typedef struct
    {
      unsigned long int __val[_SIGSET_NWORDS];
    } __sigset_t;
    
    which is much bigger than expected by the __sigprocmask system call,
    which has
    
    typedef struct {
            unsigned long sig[_NSIG_WORDS];
    } sigset_t;
    
    For Linux/x86, we can shrink __sigset_t used by __saved_mask in jmp_buf
    to add paddings for shadow stack pointer.  As long as the new __sigset_t
    is not smaller than sigset_t expected by the __sigprocmask system call,
    it should work correctly.
    
    This patch adds an internal header file, <setjmpP.h>, to define
    __jmp_buf_sigset_t for __saved_mask in jmp_buf for Linux/x86 with a
    space to store shadow stack pointer.  It verifies __jmp_buf_sigset_t has
    the suitable size for the __sigprocmask system call.   A run-time test,
    tst-saved_mask-1.c, is added to verify that size of __jmp_buf_sigset_t
    is sufficient.  If its size is too small, the test fails with
    
    rt_sigprocmask(SIG_SETMASK, strace: umoven: short read (4 < 8) 
@0x7fa8aa28effc
    0x7fa8aa28effc, NULL, 8) = -1 EFAULT (Bad address)
    rt_sigprocmask(SIG_SETMASK, strace: umoven: short read (4 < 8) 
@0x7fa8aa28effc
    0x7fa8aa28effc, NULL, 8) = -1 EFAULT (Bad address)
    rt_sigprocmask(SIG_SETMASK, NULL, 0x7fa8aa28effc, 8) = -1 EFAULT (Bad 
address)
    exit_group(1)                           = ?
    
    Tested with build-many-glibcs.py.
    
        * debug/longjmp_chk.c: Include <setjmpP.h> instead of
        <setjmp.h>.
        * setjmp/longjmp.c: Include <setjmpP.h> instead of <setjmp.h>.
        (__libc_siglongjmp): Cast &env[0].__saved_mask to "sigset_t *".
        * setjmp/sigjmp.c: Include <setjmpP.h> instead of <setjmp.h>.
        (__sigjmp_save): Cast &env[0].__saved_mask to "sigset_t *".
        * sysdeps/generic/setjmpP.h: New file.
        * sysdeps/unix/sysv/linux/x86/jmp_buf-ssp.sym: Likewise.
        * sysdeps/unix/sysv/linux/x86/setjmpP.h: Likewise.
        * sysdeps/unix/sysv/linux/x86/tst-saved_mask-1.c: Likewise.
        * sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers):
        Add jmp_buf-ssp.sym.
        (tests): Add tst-saved_mask-1.

commit 34697694e8a93b325b18f25f7dcded55d6baeaf6
Author: Arjun Shankar <address@hidden>
Date:   Thu Nov 30 13:31:45 2017 +0100

    Fix integer overflow in malloc when tcache is enabled [BZ #22375]
    
    When the per-thread cache is enabled, __libc_malloc uses request2size (which
    does not perform an overflow check) to calculate the chunk size from the
    requested allocation size. This leads to an integer overflow causing malloc
    to incorrectly return the last successfully allocated block when called with
    a very large size argument (close to SIZE_MAX).
    
    This commit uses checked_request2size instead, removing the overflow.

commit 18305fba5575a09063652014cfc483b898d8bdcd
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 00:43:28 2017 +0000

    Remove SPARC lllrint aliases.
    
    The sparc32/sparcv9/fpu/multiarch implementations of llrint / llrintf
    have aliases lllrint / lllrintf.  No such function is exported from or
    used in libm and these aliases should not be there; I expect they
    arose accidentally in the course of converting a 64-bit implementation
    (where lrint and llrint can be aliases) to a 32-bit llrint
    implementation.  This patch removes those spurious aliases.
    
    Tested (compilation only) with build-many-glibcs.py for
    sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S
        (__lllrint): Remove alias.
        (lllrint): Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S
        (__lllrintf): Likewise.
        (lllrintf): Likewise.

commit 3e5efdbdbef923276f3113a5bc52e0b46aabac57
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 30 00:30:40 2017 +0000

    Use libm_alias_float for sparc.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes sparc libm function implementations use
    libm_alias_float to define function aliases.
    
    Tested with build-many-glibcs.py for all its sparc configurations that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/sparc/sparc32/fpu/s_copysignf.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/fpu/s_fabsf.S: Include
        <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S:
        Include <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Include
        <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Include
        <libm-alias-float.h>.
        (fdimf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Include
        <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S:
        Include <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Include
        <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        (llrintf): Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/s_copysignf.S: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/s_fabsf.c: Include
        <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/s_lrintf.S: Include
        <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        (llrintf): Likewise.
        * sysdeps/sparc/sparc64/fpu/s_nearbyintf.S: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/sparc/sparc64/fpu/s_rintf.S: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.

commit 875cd54855034ff0f328ce8bf797843a1ca33667
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 23:40:07 2017 +0000

    Use libm_alias_double for sparc.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes sparc libm function implementations use
    libm_alias_double to define function aliases (with consequent
    simplification where compat symbol handling is now done by those
    macros rather than locally in architecture-specific code).
    
    Tested with build-many-glibcs.py for all its sparc configurations that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include
        <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S:
        Include <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include
        <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Include
        <libm-alias-double.h>.
        (fdim): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Include
        <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint.S:
        Include <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include
        <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Include
        <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Include
        <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        (llrint): Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/s_copysign.S: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/s_fabs.c: Include
        <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/s_lrint.S: Include
        <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        (llrint): Likewise.
        * sysdeps/sparc/sparc64/fpu/s_nearbyint.S: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/sparc/sparc64/fpu/s_rint.S: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.

commit cf4ebc27fe3a66637c5fc8824d9591191786b5fd
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 23:09:03 2017 +0000

    Fix missing sparcv9 --disable-multi-arch fabsl compat symbol (bug 22229).
    
    The --disable-multi-arch case of sparcv9 libm is missing a fabsl
    compat symbol for when long double had the same ABI as double.  This
    patch adds the missing compat symbol to this implementation.  As my
    fix for other instances of this missing compat symbol postdates the
    last release, I'm considering this as being part of bug 22229 that was
    missing from my previous fix rather than as a separate issue, and so
    as not needing a new bug report in Bugzilla.
    
    Tested (compilation only) with build-many-glibcs.py for
    sparcv9-linux-gnu --disable-multi-arch.
    
        [BZ #22229]
        * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Include
        <math_ldbl_opt.h>.
        (fabsl): Define as compat symbol at version GLIBC_2_0 for libm.

commit 0c0973788367b4ac42aace075a0598bc1c79b7dd
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 22:51:46 2017 +0000

    Add SPARC --disable-multi-arch builds to build-many-glibcs.py.
    
    While working on SPARC changes to use libm_alias_* I noticed that the
    non-multi-arch sparc32/sparcv9/fpu/s_fabs.S was missing compat symbol
    support for fabsl.  This clearly shows inadequate test coverage, so
    this patch adds SPARC --disable-multi-arch builds to
    build-many-glibcs.py (the 32-bit one fails testing until that bug is
    fixed, the 64-bit one passes testing).
    
        * scripts/build-many-glibcs.py (Context.add_all_configs): Add
        SPARC --disable-multi-arch glibc variants.

commit 34bb10aabfedb5198388693d17c747cb11fbfb4b
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 21:25:41 2017 +0000

    Use libm_alias_float for x86_64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes x86_64 libm function implementations use
    libm_alias_float to define function aliases, or libm_alias_float_other
    where the main name is defined with versioned_symbol.
    
    Tested with the glibc testsuite for x86_64, and tested with
    build-many-glibcs.py for all its x86_64 configurations that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/x86_64/fpu/multiarch/e_expf.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/x86_64/fpu/multiarch/e_logf.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/x86_64/fpu/multiarch/e_powf.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Include
        <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Include
        <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Include
        <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Include
        <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Include
        <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_copysignf.S: Include <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_cosf.S: Include <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_fabsf.c: Include <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
        (fmaxf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_fminf.S: Include <libm-alias-float.h>.
        (fminf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_llrintf.S: Include <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        [!__ILP32__] (lrintf): Likewise.
        * sysdeps/x86_64/fpu/s_sincosf.S: Include <libm-alias-float.h>.
        (sincosf): Define using libm_alias_float.
        * sysdeps/x86_64/fpu/s_sinf.S: Include <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.
        * sysdeps/x86_64/x32/fpu/s_lrintf.S: Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.

commit 011fba7e4802051c7ed7e3b6fdafad407b17094b
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 19:01:21 2017 +0000

    Use libm_alias_double for x86_64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes x86_64 libm function implementations use
    libm_alias_double to define function aliases.
    
    Tested with the glibc testsuite for x86_64, and tested with
    build-many-glibcs.py for all its x86_64 configurations that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/x86_64/fpu/multiarch/s_atan.c: Include
        <libm-alias-double.h>.
        (atan): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_floor.c: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_fma.c: Include
        <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_rint.c: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_sin.c: Include
        <libm-alias-double.h>.
        (sin): Define using libm_alias_double.
        (cos): Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_tan.c: Include
        <libm-alias-double.h>.
        (tan): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/s_copysign.S: Include <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/s_fabs.c: Include <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/s_fmax.S: Include <libm-alias-double.h>.
        (fmax): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/s_fmin.S: Include <libm-alias-double.h>.
        (fmin): Define using libm_alias_double.
        * sysdeps/x86_64/fpu/s_llrint.S: Include <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        [!__ILP32__] (lrint): Likewise.
        * sysdeps/x86_64/x32/fpu/s_lrint.S: Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.

commit 21bfcc3d245734618f4fcb710b91c41b1483975b
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 13:42:07 2017 -0300

    sparc: refactor sparc64 rint{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_rint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_rintf-generic and s_rint-generic
        objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rint-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 522228ddeae7b5cfb76332f80d2c0dfdb7055d4c
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 13:20:00 2017 -0300

    sparc: refactor sparc64 lrint{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_lrint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_lrint-generic and s_lrint-generic
        objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 2a6f4fab24289d0952128d15a6264ff9dbb2b649
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 12:00:28 2017 -0300

    sparc: refactor sparc64 nearbyint{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_nearbyint{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile
        (libm-sysdep_routines): Add s_nearbyint-generic and
        s_nearbyintf-generic objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 712b5b83e1a1e2a6f3a8d554b2f3e3aab5b1928e
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 11:48:57 2017 -0300

    sparc: refactor sparc64 finite{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_finite{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls):
        Add s_finitef-generic and s_finite-generic objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finite-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit c96d3335a30c214994bfcb2077518027b52dce07
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 11:39:43 2017 -0300

    sparc: refactor sparc64 isinf{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    s_isinf{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls):
        Add isinff-generic and s_isinf-generic objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit c6862a237149f5ffcca6d9142f18b2b08fff9388
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 11:28:55 2017 -0300

    sparc: refactor sparc64 isnan{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    (s_isnan{f}-generic.S).
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdeps_calls):
        Add s_isnanf-generic and s_isnan-generic objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-generic.S: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 1cbd7bfe65e4fafdf77cccccf67950d2b5570d4a
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 13 09:56:49 2017 -0300

    sparc: refactor sparc64 signbit{f} selector to C
    
    This patch refactors the sparc64 ifunc selector to a C implementation.
    Also, the generic symbol is moved to its own implementation file
    (s_signbit{f}-generic.S).
    
    It also simplifies the multiarch Makefile by moving the common objects
    from libm-sysdeps_routines and sysdeps_routines to a new sysdeps_call
    rule and including it where required with the correct prefix.
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * sysdeps/sparc/sparc-ifunc.h (sparc_libm_ifunc_redirected): New
        macro.
        * sysdeps/sparc/sparc64/fpu/multiarch/Makefile (sysdep_calls): New
        rule.
        (sysdep_routines): Use sysdep_calls as base.
        (libm-sysdep_routines): Add generic rule for symbols shared with
        libc.  Add s_signbit-generic and s_signbitf-generic objects.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-generic.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Remove file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit aa1142c593447b433208a79bd5a95095cd5dd892
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 17:38:35 2017 +0000

    Use libm_alias_float for ia64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes ia64 libm function implementations use
    libm_alias_float to define function aliases.  The same approach is
    followed as with the corresponding long double and double patches: the
    ia64-specific macros are left unchanged, with calls to
    libm_alias_float_other being added in most cases and libm_alias_float
    itself being used in only a few places.
    
    Tested with build-many-glibcs.py for ia64-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-float.h>.
        * sysdeps/ia64/fpu/e_acosf.S (acosf): Use libm_alias_float_other.
        * sysdeps/ia64/fpu/e_acoshf.S (acoshf): Likewise.
        * sysdeps/ia64/fpu/e_asinf.S (asinf): Likewise.
        * sysdeps/ia64/fpu/e_atan2f.S (atan2f): Likewise.
        * sysdeps/ia64/fpu/e_atanhf.S (atanhf): Likewise.
        * sysdeps/ia64/fpu/e_coshf.S (coshf): Likewise.
        * sysdeps/ia64/fpu/e_exp10f.S (exp10f): Likewise.
        * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Likewise.
        * sysdeps/ia64/fpu/e_expf.S (expf): Likewise.
        * sysdeps/ia64/fpu/e_fmodf.S (fmodf): Likewise.
        * sysdeps/ia64/fpu/e_hypotf.S (hypotf): Likewise.
        * sysdeps/ia64/fpu/e_lgammaf_r.c (lgammaf_r): Define using
        libm_alias_float_r.
        * sysdeps/ia64/fpu/e_log2f.S (log2f): Use libm_alias_float_other.
        * sysdeps/ia64/fpu/e_logf.S (log10f): Likewise.
        (logf): Likewise.
        * sysdeps/ia64/fpu/e_powf.S (powf): Likewise.
        * sysdeps/ia64/fpu/e_remainderf.S (remainderf): Likewise.
        * sysdeps/ia64/fpu/e_sinhf.S (sinhf): Likewise.
        * sysdeps/ia64/fpu/e_sqrtf.S (sqrtf): Likewise.
        * sysdeps/ia64/fpu/libm_sincosf.S (sincosf): Likewise.
        * sysdeps/ia64/fpu/s_asinhf.S (asinhf): Likewise.
        * sysdeps/ia64/fpu/s_atanf.S (atanf): Likewise.
        * sysdeps/ia64/fpu/s_cbrtf.S (cbrtf): Likewise.
        * sysdeps/ia64/fpu/s_ceilf.S (ceilf): Likewise.
        * sysdeps/ia64/fpu/s_copysign.S (copysignf): Define using
        libm_alias_float.
        * sysdeps/ia64/fpu/s_cosf.S (sinf): Use libm_alias_float_other.
        (cosf): Likewise.
        * sysdeps/ia64/fpu/s_erfcf.S (erfcf): Likewise.
        * sysdeps/ia64/fpu/s_erff.S (erff): Likewise.
        * sysdeps/ia64/fpu/s_expm1f.S (expm1f): Likewise.
        * sysdeps/ia64/fpu/s_fabsf.S (fabsf): Likewise.
        * sysdeps/ia64/fpu/s_fdimf.S (fdimf): Likewise.
        * sysdeps/ia64/fpu/s_floorf.S (floorf): Likewise.
        * sysdeps/ia64/fpu/s_fmaf.S (fmaf): Likewise.
        * sysdeps/ia64/fpu/s_fmaxf.S (fmaxf): Likewise.
        * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Likewise.
        * sysdeps/ia64/fpu/s_ldexpf.c (ldexpf): Likewise.
        * sysdeps/ia64/fpu/s_log1pf.S (log1pf): Likewise.
        * sysdeps/ia64/fpu/s_logbf.S (logbf): Likewise.
        * sysdeps/ia64/fpu/s_modff.S (modff): Likewise.
        * sysdeps/ia64/fpu/s_nearbyintf.S (nearbyintf): Likewise.
        * sysdeps/ia64/fpu/s_nextafterf.S (nextafterf): Likewise.
        * sysdeps/ia64/fpu/s_rintf.S (rintf): Likewise.
        * sysdeps/ia64/fpu/s_roundf.S (roundf): Likewise.
        * sysdeps/ia64/fpu/s_scalblnf.c (scalblnf): Likewise.
        * sysdeps/ia64/fpu/s_scalbnf.c (scalbnf): Define using
        libm_alias_float.
        * sysdeps/ia64/fpu/s_tanf.S (tanf): Use libm_alias_float_other.
        * sysdeps/ia64/fpu/s_tanhf.S (tanhf): Likewise.
        * sysdeps/ia64/fpu/s_truncf.S (truncf): Likewise.
        * sysdeps/ia64/fpu/w_lgammaf_main.c
        [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammaf): Likewise.
        * sysdeps/ia64/fpu/w_tgammaf_compat.S (tgammaf): Likewise.

commit 8da25eec0aaf4d86a06088fff8d175989835e071
Author: Alexandre Oliva <address@hidden>
Date:   Tue Nov 28 16:23:02 2017 +0100

    Collation fix: make forward accent sorting the default [BZ #17750]
    
        [BZ #17750]
        * Makefile: add fr_CA.UTF-8 to test-input and LOCALES.
        * localedata/fr_CA.UTF-8.in: New file with test data for backward
        accents sorting.
        * localedata/fr_FR.UTF-8.in: Fix test data for forward accents
        sorting.
        * localedata/locales/cs_CZ (LC_COLLATE): Remove “define 
DIACRIT_FORWARD”
        * localedata/locales/de_DE (LC_COLLATE): Likewise.
        * localedata/locales/hu_HU (LC_COLLATE): Likewise.
        * localedata/locales/lb_LU (LC_COLLATE): Likewise.
        * localedata/locales/yuw_PG (LC_COLLATE): Likewise.
        * localedata/locales/fr_CA (LC_COLLATE): Add “define 
DIACRIT_BACKWARD”
        * localedata/locales/iso14651_t1_common: Use “ifdef DIACRIT_FORWARD”
        instead of “ifdef DIACRIT_BACKWARD”.
    
    The only locale which currently needs backward accents sorting is fr_CA.
    Therefore, forward accents sorting should be the default.
    
    Before this patch, backwards accent sorting was the default and all
    locales except fr_CA had to use
    
        define DIACRIT_FORWARD
    
    before
    
        copy "iso14651_t1"
    
    Most locales didn’t do that and thus got the inappropriate backwards 
accents sorting
    by accident. Now only the fr_CA locale needs to use
    
        define DIACRIT_BACKWARD
    
    before
    
        copy "iso14651_t1"
    
    Original patch slightly modified by: Mike FABIAN <address@hidden>

commit a55430cb0e261834ce7a4e118dd9e0f2b7fb14bc
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Oct 12 19:43:50 2017 -0300

    sparc: Assume VIS3 support
    
    This patch assumes VIS3 support by binutils, which is supported since
    version 2.22.  This leads to some code simplification, mostly on
    multiarch build where there is only one variant instead of previously
    two (whether binutils supports VIS3 instructions or not).
    
    For multiarch files where HAVE_AS_VIS3_SUPPORT was checked and
    the default implementation was built with a different name, a new
    file with (implementation with -generic appended) is added.
    
    Checked on sparc64-linux-gnu and sparcv9-linux-gnu.
    
        * config.h.in (HAVE_AS_VIS3_SUPPORT): Remove check for VIS3 support.
        * sysdeps/sparc/configure.ac (HAVE_AS_VIS3_SUPPORT): Likewise.
        * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c: Likewise.
        * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Likewise.
        * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c: Likewise.
        * sysdeps//sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fma.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc.c: Likewise.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Likewise.
        * sysdeps/sparc/sparc-ifunc.h [!HAVE_AS_VIS3_SUPPORT]
        (SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros.
        * sysdeps/sparc/sparc32/sparcv9/Makefile [$(have-as-vis3) != yes]
        (ASFLAGS.o, ASFLAGS-.os, ASFLAGS-.op, ASFLAGS-.oS): Remove rules.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
        ($(have-as-vis3) == yes): Remove conditional.
        * sysdeps/sparc/sparc64/Makefile (($(have-as-vis3) == yes)):
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-generic.c: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-generic.c: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-generic.c: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-generic.c: New
        file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floor-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fma-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-generic.c: New file.
        * sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-generic.c: New file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 0609ec0a74f6360ebfb45d048f071a75dfcbc6c7
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 01:23:23 2017 +0000

    Use libm_alias_double for ia64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes ia64 libm function implementations use
    libm_alias_double to define function aliases.  The same approach is
    followed as with the corresponding long double patch: the
    ia64-specific macros are left unchanged, with calls to
    libm_alias_double_other being added in most cases and
    libm_alias_double itself being used in only a few places.
    
    Tested with build-many-glibcs.py for ia64-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-double.h>.
        * sysdeps/ia64/fpu/e_acos.S (acos): Use libm_alias_double_other.
        * sysdeps/ia64/fpu/e_acosh.S (acosh): Likewise.
        * sysdeps/ia64/fpu/e_asin.S (asin): Likewise.
        * sysdeps/ia64/fpu/e_atan2.S (atan2): Likewise.
        * sysdeps/ia64/fpu/e_atanh.S (atanh): Likewise.
        * sysdeps/ia64/fpu/e_cosh.S (cosh): Likewise.
        * sysdeps/ia64/fpu/e_exp.S (exp): Likewise.
        * sysdeps/ia64/fpu/e_exp10.S (exp10): Likewise.
        * sysdeps/ia64/fpu/e_exp2.S (exp2): Likewise.
        * sysdeps/ia64/fpu/e_fmod.S (fmod): Likewise.
        * sysdeps/ia64/fpu/e_hypot.S (hypot): Likewise.
        * sysdeps/ia64/fpu/e_lgamma_r.c (lgamma_r): Define using
        libm_alias_double_r.
        * sysdeps/ia64/fpu/e_log.S (log10): Use libm_alias_double_other.
        (log): Likewise.
        * sysdeps/ia64/fpu/e_log2.S (log2): Likewise.
        * sysdeps/ia64/fpu/e_pow.S (pow): Likewise.
        * sysdeps/ia64/fpu/e_remainder.S (remainder): Likewise.
        * sysdeps/ia64/fpu/e_sinh.S (sinh): Likewise.
        * sysdeps/ia64/fpu/e_sqrt.S (sqrt): Likewise.
        * sysdeps/ia64/fpu/libm_sincos.S (sincos): Likewise.
        * sysdeps/ia64/fpu/s_asinh.S (asinh): Likewise.
        * sysdeps/ia64/fpu/s_atan.S (atan): Likewise.
        * sysdeps/ia64/fpu/s_cbrt.S (cbrt): Likewise.
        * sysdeps/ia64/fpu/s_ceil.S (ceil): Likewise.
        * sysdeps/ia64/fpu/s_copysign.S (copysign): Define using
        libm_alias_double.
        * sysdeps/ia64/fpu/s_cos.S (sin): Use libm_alias_double_other.
        (cos): Likewise.
        * sysdeps/ia64/fpu/s_erf.S (erf): Likewise.
        * sysdeps/ia64/fpu/s_erfc.S (erfc): Likewise.
        * sysdeps/ia64/fpu/s_expm1.S (expm1): Likewise.
        * sysdeps/ia64/fpu/s_fabs.S (fabs): Likewise.
        * sysdeps/ia64/fpu/s_fdim.S (fdim): Likewise.
        * sysdeps/ia64/fpu/s_floor.S (floor): Likewise.
        * sysdeps/ia64/fpu/s_fma.S (fma): Likewise.
        * sysdeps/ia64/fpu/s_fmax.S (fmax): Likewise.
        * sysdeps/ia64/fpu/s_frexp.c (frexp): Likewise.
        * sysdeps/ia64/fpu/s_ldexp.c (ldexp): Likewise.
        * sysdeps/ia64/fpu/s_log1p.S (log1p): Likewise.
        * sysdeps/ia64/fpu/s_logb.S (logb): Likewise.
        * sysdeps/ia64/fpu/s_modf.S (modf): Likewise.
        * sysdeps/ia64/fpu/s_nearbyint.S (nearbyint): Likewise.
        * sysdeps/ia64/fpu/s_nextafter.S (nextafter): Likewise.
        * sysdeps/ia64/fpu/s_rint.S (rint): Likewise.
        * sysdeps/ia64/fpu/s_round.S (round): Likewise.
        * sysdeps/ia64/fpu/s_scalbn.c (scalbn): Define using
        libm_alias_double.
        * sysdeps/ia64/fpu/s_tan.S (tan): Use libm_alias_double_other.
        * sysdeps/ia64/fpu/s_tanh.S (tanh): Likewise.
        * sysdeps/ia64/fpu/s_trunc.S (trunc): Likewise.
        * sysdeps/ia64/fpu/w_lgamma_main.c
        [BUILD_LGAMMA && !USE_AS_COMPAT] (lgamma): Likewise.
        * sysdeps/ia64/fpu/w_tgamma_compat.S (tgamma): Likewise.

commit d5bfa34a53fe67e9e86edc7f5d8277dcd687d064
Author: John David Anglin <address@hidden>
Date:   Tue Nov 28 20:01:05 2017 -0500

    Fix gmon static test failures.
    
        * sysdeps/hppa/start.S (_start): Check PIC instead of SHARED.  Load
        address of $global$ into %dp register earlier.  Use pc-relative
        instruction sequence for PIC case.

commit e4602cba2fb919546bee0eacbd10ab8ade7b7b6f
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 29 00:10:35 2017 +0000

    Use libm_alias_float for i386.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes i386 libm function implementations use
    libm_alias_float (or libm_alias_float_other in cases where the main
    symbol name is defined with versioned_symbol) to define function
    aliases.
    
    Tested with build-many-glibcs.py for all its i386 configurations that
    installed stripped shared libraries are unchanged by the patch, as
    well as running the full glibc testsuite for i686.
    
        * sysdeps/i386/fpu/s_asinhf.S: Include <libm-alias-float.h>.
        (asinhf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_atanf.S: Include <libm-alias-float.h>.
        (atanf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_cbrtf.S: Include <libm-alias-float.h>.
        (cbrtf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_ceilf.S: Include <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_copysignf.S: Include <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_expm1f.S: Include <libm-alias-float.h>.
        (expm1f): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_fabsf.S: Include <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_floorf.S: Include <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
        (fmaxf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_fminf.S: Include <libm-alias-float.h>.
        (fminf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_frexpf.S: Include <libm-alias-float.h>.
        (frexpf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_llrintf.S: Include <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_logbf.S: Include <libm-alias-float.h>.
        (logbf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_lrintf.S: Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_nearbyintf.S: Include <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_remquof.S: Include <libm-alias-float.h>.
        (remquof): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_rintf.S: Include <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/i386/fpu/s_truncf.S: Include <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include
        <libm-alias-float.h>.
        (exp2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include
        <libm-alias-float.h>.
        (expf): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include
        <libm-alias-float.h>.
        (log2f): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include
        <libm-alias-float.h>.
        (logf): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include
        <libm-alias-float.h>.
        (powf): Define using libm_alias_float, or libm_alias_float_other
        if [SHARED].
        * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include
        <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include
        <libm-alias-float.h>.
        (sincosf): Define using libm_alias_float.
        * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include
        <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.
        * sysdeps/i386/i686/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
        (fmaxf): Define using libm_alias_float.
        * sysdeps/i386/i686/fpu/s_fminf.S: Include <libm-alias-float.h>.
        (fminf): Define using libm_alias_float.
        * sysdeps/i386/i686/multiarch/s_fmaf.c: Include
        <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.

commit bc4e8f9b49950c982f22d4f4c602a972a63abf65
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 18:15:44 2017 +0000

    Use libm_alias_double for i386.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes i386 libm function implementations use
    libm_alias_double to define function aliases.
    
    Tested with build-many-glibcs.py for all its i386 configurations that
    installed stripped shared libraries are unchanged by the patch, as
    well as running the full glibc testsuite for i686.
    
        * sysdeps/i386/fpu/s_asinh.S: Include <libm-alias-double.h>.
        (asinh): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_atan.S: Include <libm-alias-double.h>.
        (atan): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_cbrt.S: Include <libm-alias-double.h>.
        (cbrt): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_ceil.S: Include <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_copysign.S: Include <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_expm1.S: Include <libm-alias-double.h>.
        (expm1): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_fabs.S: Include <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_fdim.c: Include <libm-alias-double.h>.
        (fdim): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_floor.S: Include <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_fmax.S: Include <libm-alias-double.h>.
        (fmax): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_fmin.S: Include <libm-alias-double.h>.
        (fmin): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_frexp.S: Include <libm-alias-double.h>.
        (frexp): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_llrint.S: Include <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_logb.S: Include <libm-alias-double.h>.
        (logb): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_lrint.S: Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_nearbyint.S: Include <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_remquo.S: Include <libm-alias-double.h>.
        (remquo): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_rint.S: Include <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/i386/fpu/s_trunc.S: Include <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/i386/i686/fpu/s_fmax.S: Include <libm-alias-double.h>.
        (fmax): Define using libm_alias_double.
        * sysdeps/i386/i686/fpu/s_fmin.S: Include <libm-alias-double.h>.
        (fmin): Define using libm_alias_double.
        * sysdeps/i386/i686/multiarch/s_fma.c: Include <libm-alias-double.h>.
        (fma): Define using libm_alias_double.

commit 8d81ce0c6d6ca923571e8b2bac132929f9a02973
Author: H.J. Lu <address@hidden>
Date:   Tue Nov 28 09:56:47 2017 -0800

    Properly compute offsets of note descriptor and next note [BZ #22370]
    
    A note header has 3 4-bytes fields, followed by note name and note
    descriptor.  According to gABI, in a note entry, the note name field,
    not note name size, is padded for the note descriptor.  And the note
    descriptor field, not note descriptor size, is padded for the next
    note entry.  Notes are aligned to 4 bytes in 32-bit objects and 8 bytes
    in 64-bit objects.
    
    For all GNU notes, the name is "GNU" which is 4 bytes.  They have the
    same format in the first 16 bytes in both 32-bit and 64-bit objects.
    They differ by note descriptor size and note type.  So far, .note.ABI-tag
    and .note.gnu.build-id notes are always aligned to 4 bytes.  The exsting
    codes compute the note size by aligning the note name size and note
    descriptor size to 4 bytes.  It happens to produce the same value as
    the actual note size by luck since the name size is 4 and offset of the
    note descriptor is 16.  But it will produce the wrong size when note
    alignment is 8 bytes in 64-bit objects.
    
    This patch defines ELF_NOTE_DESC_OFFSET and ELF_NOTE_NEXT_OFFSET to
    properly compute offsets of note descriptor and next note.  It uses
    alignment of PT_NOTE segment to support both 4-byte and 8-byte note
    alignments in 64-bit objects.  To handle PT_NOTE segments with
    incorrect alignment, which may lead to an infinite loop, if segment
    alignment is less than 4, we treate alignment as 4 bytes since some
    note segments have 0 or 1 byte alignment.
    
        [BZ #22370]
        * elf/dl-hwcaps.c (ROUND): Removed.
        (_dl_important_hwcaps): Replace ROUND with ELF_NOTE_DESC_OFFSET
        and ELF_NOTE_NEXT_OFFSET.
        * elf/dl-load.c (ROUND): Removed.
        (open_verify): Replace ROUND with ELF_NOTE_NEXT_OFFSET.
        * elf/readelflib.c (ROUND): Removed.
        (process_elf_file): Replace ROUND with ELF_NOTE_NEXT_OFFSET.
        * include/elf.h [!_ISOMAC]: Include <libc-pointer-arith.h>.
        [!_ISOMAC] (ELF_NOTE_DESC_OFFSET): New.
        [!_ISOMAC] (ELF_NOTE_NEXT_OFFSET): Likewise.

commit 313ba4630f5f891af22bea9bdf9d9f3c88e49aee
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 17:34:13 2017 +0000

    Use libm_alias_float for s390.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes an s390 libm function implementation use
    libm_alias_float to define function aliases.
    
    Tested with build-many-glibcs.py for s390-linux-gnu and
    s390x-linux-gnu that installed stripped shared libraries are unchanged
    by the patch.
    
        * sysdeps/s390/fpu/s_fmaf.c: Include <libm-alias-float.h>.
        [!__fmaf] (fmaf): Define using libm_alias_float.

commit 6940bd966b8b5cf26661c32eae88135143713ba6
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 17:18:20 2017 +0000

    Use libm_alias_double for s390.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes s390 libm function implementations use
    libm_alias_double to define function aliases.  This allows
    sysdeps/unix/sysv/linux/s390/fpu/s_fma.c to be removed, as
    libm_alias_double handles symbol versioning for long double compat
    symbols.
    
    Tested with build-many-glibcs.py for s390-linux-gnu and
    s390x-linux-gnu that installed stripped shared libraries are unchanged
    by the patch.
    
        * sysdeps/s390/fpu/s_fma.c: Include <libm-alias-double.h>.
        [!__fma] (fma): Define using libm_alias_double.
        * sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: Remove.

commit 22c69b6ad63dce90955d3a1d654dd152e7972fdd
Author: Mike FABIAN <address@hidden>
Date:   Tue Nov 28 16:42:13 2017 +0100

    Add the Changelog entry for “cs_CZ locale: Base collation on iso14651_t1 
[BZ #22336]”

commit 8d7d3ba8c505d84b2bd1946f474d9ddfe4219f0f
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Nov 28 20:04:31 2017 +0530

    localedata: Remove duplicate cs_CZ from LOCALES
    
    The LOCALES variable in the localedata had two instances of cs_CZ
    which generated the following warning:
    
    ../gen-locales.mk:11: target '/opt/build/localedata/cs_CZ.UTF-8/LC_CTYPE' 
given more than once in the same rule
    
    Dropped the duplicate entry.

commit 0422ed1e84d923023f3bd57e723d3d4dc7569901
Author: Victor Rodriguez <address@hidden>
Date:   Tue Nov 28 19:57:46 2017 +0530

    benchtests: Enable BENCHSET to run subset of tests
    
    This patch adds BENCHSET variable to benchtests/Makefile in order to
    provide the capability to run a list of subsets of benchmark tests, ie;
    
        make bench BENCHSET="bench-pthread bench-math malloc-thread"
    
    This helps users to benchmark specific glibc area
    
    ChangeLog:
    
            * benchtests/Makefile:Add BENCHSET to allow subsets of
            benchmarks to be run.
            * benchtests/README: Add documentation for: Running subsets of
            benchmarks.
    
    Signed-off-by: Victor Rodriguez <address@hidden>
    Signed-off-by: Icarus Sparry <address@hidden>
    Reviewed-By: Siddhesh Poyarekar <address@hidden>

commit d5090db30edf04f39dc0eacfc09db72af8045f39
Author: Victor Rodriguez <address@hidden>
Date:   Tue Nov 28 19:52:57 2017 +0530

    benchtests: Expand range of tests names in schema.json
    
    When executing bench-math the benchmark output is invalid with this
    error msg:
    
        Invalid benchmark output: 'workload-spec2006.wrf' does not match any of
        the regexes: '^[_a-zA-Z0-9]*$¹ or Invalid benchmark output: Additional
        properties are not allowed ('workload-spec2006.wrf' was unexpected)
    
    The error was seen when running the test:
    workload-spec2006.wrf, 'stack=1024,guard=1' and 'stack=1024,guard=2'.
    The problem is that the current regex's do not accept the hyphen, dot, equal
    and comma in the output.
    
    This patch changes the regex in benchout.schema.json to accept symbols in
    benchmark tests names.
    
    ChangeLog:
    
            * benchtests/scripts/benchout.schema.json: Fix regex to accept a
            wider range of tests names.
    
    Signed-off-by: Victor Rodriguez <address@hidden>
    Reviewed-By: Siddhesh Poyarekar <address@hidden>

commit 0595e3603406e7f7b457bf9c99059bf1a48d97ef
Author: Victor Rodriguez <address@hidden>
Date:   Tue Nov 28 19:49:59 2017 +0530

    benchtests: Adjust valid and accepted properties
    
    Benchmark workload-spec2006.wrf does not produce max, min or mean
    results but instead produce throughput. This is represented in
    benchtests/bench-skeleton.c. This patch adjust benchout.schema.json to 
consider
    bench.out from bench-math benchmarks as valid
    
    ChangeLog:
    
        * benchtests/scripts/benchout.schema.json: Add throughput as accepted
        result from property and remove "max", min" and "mean" from required
        properties based on benchtests/bench-skeleton.c.
    
    Signed-off-by: Victor Rodriguez <address@hidden>
    Reviewed-By: Siddhesh Poyarekar <address@hidden>

commit b4c645c2f5513ef4f97916ee59243aa8aac1f3c1
Author: Florian Weimer <address@hidden>
Date:   Tue Nov 28 12:20:01 2017 +0100

    posix: Make tst-getaddrinfo[45] xtests due to DNS dependency [BZ #20826]
    
    These tests need a working Internet connection with DNS.
    
    We have additional coverage of getaddrinfo through the resolv tests, so
    the loss of default test coverage seems acceptable.

commit 69056564042f3d43012814f92230d2c3f9ab7d7c
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Oct 3 10:58:29 2017 -0300

    sparc: Implement memset/bzero ifunc selection in C
    
    This patch refactor the SPARC64 ifunc selector to a C implementation.
    No functional change is expected, including ifunc resolution rules.
    
    Checked on sparc64-linux-gnu, sparcv9-linux-gnu and x86_64-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
        [$(subdir) = string] (sysdep_routines): Add memset-ultra1.
        * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string]
        (sysdep_routines): Add memset-ultra1.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/bzero.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/ifunc-memset.h: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memset-ultra1.S: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memset.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/bzero.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: Remove file.
        * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 88684de7a68b88e8d7e29b2490bdb62994a5e97e
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Oct 3 00:48:27 2017 -0300

    sparc: Implement memcpy/mempcpy ifunc selection in C
    
    This patch refactor the SPARC64 ifunc selector to a C implementation.
    The x86_64 implementation is used as default, which resulted in common
    definitions (ifunc-init.h) used on both architectures.  No functional
    change is expected, including ifunc resolution rules.
    
    Checked on sparc64-linux-gnu, sparcv9-linux-gnu and x86_64-linux-gnu.
    
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra1.S: New
        file.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/mempcpy.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memcpy-ultra1.S: Likewise.
        * sysdeps/sparc/sparc64/multiarch/memcpy.c: Likewise.
        * sysdeps/sparc/sparc64/multiarch/mempcpy.c: Likewise.
        * sysdeps/sparc/sparc-ifunc.h (sparc_libc_ifunc_redirected): New
        macro.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile
        [$(subdir) = string] (sysdep_routines): Add memcpy-ultra1.
        * sysdeps/sparc/sparc64/multiarch/Makefile [$(subdir) = string]
        (sysdep_routines): Add memcpy-ultra1.
        * sysdeps/sparc/sparc64/multiarch/memcpy.S: Remove file.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit f9bb1ef233f7c99312ddc3efb6bc652537e077bc
Author: Mike FABIAN <address@hidden>
Date:   Fri Nov 24 15:17:18 2017 +0530

    cs_CZ locale: Base collation on iso14651_t1 [BZ #22336]
    
        [BZ #22336]
        * localedata/locales/cs_CZ (LC_COLLATE): Use “copy "iso14651_t1"”
        and implement the collation rules for cs from CLDR on top of that.
        * Makefile: Add cs_CZ.UTF-8 to test-input and to the list
        of locales to be built for testing.
        * cs_CZ.UTF-8.in: New file with test data to test the Czech sorting.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit f433d0b3bbde748fa7f0941980c3d4d2863dc483
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 01:19:03 2017 +0000

    Use libm_alias_float for alpha.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes alpha libm function implementations use
    libm_alias_float macros to define function aliases.  In the case of
    the ABI compatibility for complex functions, libm_alias_float_other is
    used, with the cfloat_versions macro adjusted to take a function name
    argument without the trailing 'f' to facilitate this, and
    cfloat_versions dealing with calling libm_alias_float_other (except
    for clog10f, which doesn't use that macro because of the complexity
    associated with __clog10f also being exported).
    
    Tested with build-many-glibcs.py for alpha-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/alpha/fpu/cfloat-compat.h: Include <libm-alias-float.h>.
        (cfloat_versions): Take function argument without trailing 'f'.
        Call libm_alias_float_other.
        * sysdeps/alpha/fpu/cabsf.c: Update call to cfloat_versions.
        * sysdeps/alpha/fpu/cargf.c: Likewise.
        * sysdeps/alpha/fpu/cimagf.c: Likewise.
        * sysdeps/alpha/fpu/conjf.c: Likewise.
        * sysdeps/alpha/fpu/crealf.c: Likewise.
        * sysdeps/alpha/fpu/s_cacosf.c: Likewise.
        * sysdeps/alpha/fpu/s_cacoshf.c: Likewise.
        * sysdeps/alpha/fpu/s_casinf.c: Likewise.
        * sysdeps/alpha/fpu/s_casinhf.c: Likewise.
        * sysdeps/alpha/fpu/s_catanf.c: Likewise.
        * sysdeps/alpha/fpu/s_catanhf.c: Likewise.
        * sysdeps/alpha/fpu/s_ccosf.c: Likewise.
        * sysdeps/alpha/fpu/s_ccoshf.c: Likewise.
        * sysdeps/alpha/fpu/s_cexpf.c: Likewise.
        * sysdeps/alpha/fpu/s_clogf.c: Likewise.
        * sysdeps/alpha/fpu/s_cpowf.c: Likewise.
        * sysdeps/alpha/fpu/s_cprojf.c: Likewise.
        * sysdeps/alpha/fpu/s_csinf.c: Likewise.
        * sysdeps/alpha/fpu/s_csinhf.c: Likewise.
        * sysdeps/alpha/fpu/s_csqrtf.c: Likewise.
        * sysdeps/alpha/fpu/s_ctanf.c: Likewise.
        * sysdeps/alpha/fpu/s_ctanhf.c: Likewise.
        * sysdeps/alpha/fpu/s_clog10f.c: Include <libm-alias-float.h>.
        (clog10f): Use libm_alias_float_other.
        * sysdeps/alpha/fpu/s_ceilf.c: Include <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_copysignf.c: Include <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_fabsf.c: Include <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_floorf.c: Include <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_fmax.S: Include <libm-alias-float.h>.
        (fmaxf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_fmin.S: Include <libm-alias-float.h>.
        (fminf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_lrintf.c: Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        (llrintf): Likewise.
        * sysdeps/alpha/fpu/s_lroundf.c: Include <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        (llroundf): Likewise.
        * sysdeps/alpha/fpu/s_rintf.c: Include <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/alpha/fpu/s_truncf.c: Include <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.

commit 15ff490014c4953f4bbf06b80f61bfa0ebb33187
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 00:55:42 2017 +0000

    Use libm_alias_float for aarch64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes aarch64 libm function implementations use
    libm_alias_float to define function aliases.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/aarch64/fpu/s_ceilf.c: Include <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_floorf.c: Include <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_fmaf.c: Include <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_fmaxf.c: Include <libm-alias-float.h>.
        (fmaxf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_fminf.c: Include <libm-alias-float.h>.
        (fminf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_llrintf.c: Include <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_llroundf.c: Include <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_lrintf.c: Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_lroundf.c: Include <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_nearbyintf.c: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_rintf.c: Include <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_roundf.c: Include <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/aarch64/fpu/s_truncf.c: Include <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.

commit 5de606387b60d57399e61bdb78d6697139ceb445
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 00:07:56 2017 +0000

    Use libm_alias_double for alpha.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes alpha libm function implementations use
    libm_alias_double to define function aliases.  This also simplifies
    the code because the compatibility for long double = double is handled
    by libm_alias_double instead of locally in each source file.
    
    Tested with build-many-glibcs.py for alpha-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/alpha/fpu/s_ceil.c: Include <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_copysign.c: Include <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_fabs.c: Include <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_floor.c: Include <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_fmax.S: Include <libm-alias-double.h>.
        (fmax): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_fmin.S: Include <libm-alias-double.h>.
        (fmin): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_lrint.c: Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        (llrint): Likewise.
        * sysdeps/alpha/fpu/s_lround.c: Include <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        (llround): Likewise.
        * sysdeps/alpha/fpu/s_rint.c: Include <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/alpha/fpu/s_trunc.c: Include <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.

commit d8124864444fa43fe12d9d907fdb5192927add3f
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 28 00:01:11 2017 +0000

    Support ldbl-opt libm_alias_double use from .S files.
    
    This patch makes the ldbl-opt libm_alias_double implementation support
    use from .S sources, by adding a semicolon after its use of
    weak_alias.
    
    Tested (compilation only) with build-many-glibcs.py for
    alpha-linux-gnu, in conjunction with a patch introducing uses of
    libm_alias_double in alpha .S files.
    
        * sysdeps/ieee754/ldbl-opt/libm-alias-double.h
        (libm_alias_double_r): Add semicolon after weak_alias call.

commit f07d2ec8c02cf378d40122222b0b1f7ed263457f
Author: Joseph Myers <address@hidden>
Date:   Mon Nov 27 23:54:32 2017 +0000

    Use libm_alias_double for aarch64.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes aarch64 libm function implementations use
    libm_alias_double to define function aliases.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/aarch64/fpu/s_ceil.c: Include <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_floor.c: Include <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_fma.c: Include <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_fmax.c: Include <libm-alias-double.h>.
        (fmax): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_fmin.c: Include <libm-alias-double.h>.
        (fmin): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_llrint.c: Include <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_llround.c: Include <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_lrint.c: Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_lround.c: Include <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_nearbyint.c: Include <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_rint.c: Include <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_round.c: Include <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/aarch64/fpu/s_trunc.c: Include <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.

commit 4bab02240e9076b49702b30bb8a1d23a0afe58cb
Author: Florian Weimer <address@hidden>
Date:   Mon Nov 27 17:14:29 2017 +0100

    Implement the mlock2 function
    
    Fallback using mlock is provided if the flags argument is zero.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit a23aa5b7272ec4a04578d82399ec2bf536281119
Author: Joseph Myers <address@hidden>
Date:   Mon Nov 27 14:16:47 2017 +0000

    Add _Float64x function aliases.
    
    This patch continues filling out TS 18661-3 support by adding *f64x
    function aliases on platforms with _Float64x support.  (It so happens
    the set of such platforms is exactly the same as the set of platforms
    with _Float128 support, although on x86_64, x86 and ia32 the _Float64x
    format is Intel extended rather than binary128.)  The API provided
    corresponds exactly to that provided for _Float128, mostly coming from
    TS 18661-3.  As these functions always alias those for another type
    (long double, _Float128 or both), __* function names are not provided,
    as in other cases of alias types.
    
    Given the preparation done in previous patches, this one just enables
    the feature via Makeconfig and bits/floatn.h, adds symbol versions,
    and updates documentation and ABI baselines.  The symbol versions are
    present unconditionally as GLIBC_2.27 in the relevant Versions files,
    as it's OK for those to specify versions for functions that may not be
    present in some configurations; no additional complexity is needed
    unless in future some configuration gains support for this type that
    didn't have such support in 2.27.  The Makeconfig additions for ia64
    and x86 aren't strictly needed, as those configurations also get
    float64x-alias-fcts definitions from
    sysdeps/ieee754/float128/Makeconfig, but still seem appropriate given
    that _Float64x is not _Float128 for those configurations.
    
    A libm-test-ulps update for x86 is included.  This is because
    bits/mathinline.h does not have _Float64x support added and for two
    functions the use of out-of-line functions results in increased ulps
    (ifloat64x shares ulps with ildouble / ifloat128 as appropriate).
    Given that we'd like generally to eliminate bits/mathinline.h
    optimizations, preferring to have such optimizations in GCC instead,
    it seems reasonable not to add such support there for new types.  GCC
    support for _FloatN / _FloatNx built-in functions is limited, but has
    been improved in GCC 8, and at some point I hope the full set of libm
    built-in functions in GCC, and other optimizations with
    per-floating-type aspects, will be enabled for all _FloatN / _FloatNx
    types.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py, with both
    GCC 6 and GCC 7.
    
        * sysdeps/ia64/Makeconfig (float64x-alias-fcts): New variable.
        * sysdeps/ieee754/float128/Makeconfig (float64x-alias-fcts):
        Likewise.
        * sysdeps/ieee754/ldbl-128/Makeconfig (float64x-alias-fcts):
        Likewise.
        * sysdeps/x86/Makeconfig: New file.
        * bits/floatn-common.h (__HAVE_FLOAT64X): Remove macro.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * bits/floatn.h (__HAVE_FLOAT64X): New macro.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * sysdeps/ia64/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * sysdeps/ieee754/ldbl-128/bits/floatn.h (__HAVE_FLOAT64X):
        Likewise.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * sysdeps/mips/ieee754/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * sysdeps/powerpc/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * sysdeps/x86/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
        (__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
        * manual/math.texi (Mathematics): Document support for _Float64x.
        * math/Versions (GLIBC_2.27): Add _Float64x functions.
        * stdlib/Versions (GLIBC_2.27): Likewise.
        * wcsmbs/Versions (GLIBC_2.27): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

commit c2c299fd24e87b83c63191ff979d41a86b37d714
Author: Andreas Schwab <address@hidden>
Date:   Tue Nov 7 15:24:19 2017 +0100

    Consolidate link map sorting
    
    Combine the four places where link maps are sorted into a single function.
    This also moves the logic to skip the first map (representing the main
    binary) to the callers.

commit de61465c04d36dadce2f4e7f78ebbe50bae6a21e
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 23:53:54 2017 +0000

    Use libm_alias_float128 more in sysdeps/ieee754/float128.
    
    This patch uses libm_alias_float128 in place of weak_alias more in
    sysdeps/ieee754/float128, in preparation for defining _Float64x
    aliases when appropriate.
    
    Tested for x86_64, and for powerpc64le (compilation only) with
    build-many-glibcs.py in conjunction with _Float64x support patches.
    
        * sysdeps/ieee754/float128/s_fromfpf128.c (fromfpf128): Define
        using libm_alias_float128.
        * sysdeps/ieee754/float128/s_fromfpxf128.c (fromfpxf128):
        Likewise.
        * sysdeps/ieee754/float128/s_setpayloadf128.c (setpayloadf128):
        Likewise.
        * sysdeps/ieee754/float128/s_setpayloadsigf128.c
        (setpayloadsigf128): Likewise.
        * sysdeps/ieee754/float128/s_ufromfpf128.c (ufromfpf128):
        Likewise.
        * sysdeps/ieee754/float128/s_ufromfpxf128.c (ufromfpxf128):
        Likewise.

commit 9ae6d171bcaac211248f98a38dfde0b8cb9a1fbb
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 23:38:51 2017 +0000

    Use -mfloat128 for _Float64x tests for powerpc64le.
    
    Supporting _Float64x on powerpc64le means that tests of that type need
    to use -mfloat128 just like tests of _Float128.  This patch adds the
    necessary uses of that option.
    
    Tested (compilation only) for powerpc64le with build-many-glibcs.py,
    in conjunction with _Float64x support patches.
    
        * sysdeps/powerpc/powerpc64le/Makefile ($(foreach
        suf,$(all-object-suffixes),$(objpfx)test-float64x%$(suf))): Add
        -mfloat128 to CFLAGS.
        ($(foreach
        suf,$(all-object-suffixes),$(objpfx)test-ifloat64x%$(suf))):
        Likewise.
        (CFLAGS-libm-test-support-float64x.c): New variable.
        ($(objpfx)test-float64x% $(objpfx)test-ifloat64x%): Add
        $(f128-loader-link) to gnulib-tests.

commit 6e70d156c71ba94e50e857f6459e34943a094bed
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 23:33:14 2017 +0000

    Support _Float64x in libm_alias macros.
    
    This patch adds support for libm_alias_ldouble and libm_alias_float128
    to create *f64x function aliases when appropriate.
    
    Making such aliases work for functions defined in assembly sources
    requires adding some semicolons after weak_alias calls in alias macro
    definitions.  For C, semicolons are already present in the macros
    called when required, but a GNU C extension allows excess semicolons
    at file scope in a source file (and glibc already uses this), so it is
    OK to have extra semicolons present in the macro definitions.  For
    assembly sources, making multiple alias macro calls from a single
    macro expansion means there are no newlines between the calls, so an
    explicit separator is needed.  If hppa were to have .S sources in
    libm, a more complicated approach would be needed that used
    ASM_LINE_SEP when building assembly sources but not for C, but right
    now there are no such sources so just using a semicolon (as already
    present unconditionally in some such macro expansions) suffices.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * sysdeps/generic/libm-alias-float128.h: Include <bits/floatn.h>.
        (libm_alias_float128_other_r): If
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE], define f64x
        alias.
        (libm_alias_float128_r): Add semicolon after weak_alias call.
        * sysdeps/generic/libm-alias-ldouble.h
        (libm_alias_ldouble_other_r_f128): New macro.
        (libm_alias_ldouble_other_r_f64x): Likewise.
        (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128
        and libm_alias_ldouble_other_r_f64x.
        (libm_alias_ldouble_r): Add semicolon after weak_alias call.
        * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
        (libm_alias_ldouble_other_r_f128): New macro.
        (libm_alias_ldouble_other_r_f64x): Likewise.
        (libm_alias_ldouble_other_r): Use libm_alias_ldouble_other_r_f128
        and libm_alias_ldouble_other_r_f64x.

commit df2806cdb57cb765aca169d17308eb4f0e89369f
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 23:12:30 2017 +0000

    Support strfromf64x alias.
    
    This patch adds support for defining strfromf64x as a function alias
    (of strfroml or strfromf128, as appropriate) when _Float64x is
    supported.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches, and also tested build for other configurations (in
    conjunction with _Float64x support patches) with build-many-glibcs.py
    to cover the various different files needing updating to define these
    aliases.
    
        * stdlib/strfroml.c: Always include <stdlib.h>.
        [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later
        undefine as macro and define as weak alias.
        * sysdeps/ieee754/float128/strfromf128.c: Include <bits/floatn.h>.
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include
        <stdlib.h>.
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x):
        Define and later undefine as macro and define as weak alias.

commit 0df4fe3557bfbc7fc64a05601311da0365ba88b2
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 22:51:53 2017 +0000

    Support strtof64x, wcstof64x aliases.
    
    This patch adds support for defining strtof64x, strtof64x_l, wcstof64
    and wcstof64x_l function aliases when _Float64x is supported.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches, and also tested build for other configurations (in
    conjunction with _Float64x support patches) with build-many-glibcs.py
    to cover the various different files needing updating to define these
    aliases.
    
        * stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
        Define and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): Define and later
        undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
        * sysdeps/ieee754/float128/strtof128.c: Include <bits/floatn.h>.
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
        Define and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x):
        Define and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].
        * sysdeps/ieee754/float128/strtof128_l.c
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l):
        Define and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l):
        Define and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].
        * sysdeps/ieee754/ldbl-128/strtold_l.c
        [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
        undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
        undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
        * sysdeps/ieee754/ldbl-64-128/strtold_l.c
        [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
        undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
        undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
        * sysdeps/ieee754/ldbl-96/strtold_l.c
        [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
        undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
        [__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
        undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].

commit ae7207d033481191bdbf46f18afbb2fad0397730
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 22:25:03 2017 +0000

    Support testing _Float64x libm functions.
    
    This patch adds support for testing _Float64x libm functions.  A
    configuration with such functions sets float64x-alias-fcts = yes in a
    sysdeps Makeconfig file; until such settings are added, this test
    support is inactive.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * math/test-float64x.h: New file.
        * math/Makefile (type-float64x-yes): New variable.
        (test-types): Add $(type-float64x-$(float64x-alias-fcts)).

commit 9596fc69b188b5a190ed41ac92c0330efef1fdaa
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 22:03:35 2017 +0000

    Make min_of_type_ macros function-like.
    
    math_private.h uses __MATH_TG in defining the min_of_type macro used
    within libm, with min_of_type_<suffix> macros for each type.  This
    runs into problems with __MATH_TG expansions used with additional
    _FloatN and _FloatNx type support, because those can end up
    macro-expanding the FUNC argument to __MATH_TG before it gets
    concatenated with a suffix - meaning that min_of_type_ can't
    simultaneously be the macro name for double, and a prefix to other
    macro names, since the latter case requires such premature macro
    expansion not to occur.  (This is not a problem for the uses of
    __MATH_TG in installed headers because FUNC there is a function name
    in the implementation namespace, and the suffixes themselves don't get
    macro-expanded.)
    
    This patch fixes the problem by making min_of_type_<suffix> macros
    function-like, so no macro expansion occurs when min_of_type_ is
    expanded on its own as a macro argument, only later when followed by
    () after expansion.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * sysdeps/generic/math_private.h (min_of_type_f): Make into a
        function-like macro.
        (min_of_type_): Likewise.
        (min_of_type_l): Likewise.
        (min_of_type_f128): Likewise.
        (min_of_type): Pass () as last argument of __MATH_TG.

commit 46453c3cdad9575f264a49f003a2a9f2847708c8
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 21:42:55 2017 +0000

    Define __STDC_WANT_IEC_60559_TYPES_EXT__ in tst-strtod-round-skeleton.c.
    
    The tst-strtod-round-skeleton.c conditionals relating to handling of
    _Float64x require associated <float.h> macros, which requires
    __STDC_WANT_IEC_60559_TYPES_EXT__ to be defined before <float.h> is
    included if _Float64x is supported.  This patch adds the necessary
    definition.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * stdlib/tst-strtod-round-skeleton.c
        (__STDC_WANT_IEC_60559_TYPES_EXT__): Define before including
        headers.

commit 01e659e71123290472b691ff94e7ba10e1f25031
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 21:22:34 2017 +0000

    Fix gen-tgmath-tests.py for _Float64, _Float64x testing.
    
    math/gen-tgmath-tests.py was missing a create_type argument when
    creating the internal types for combinations of long double with
    _Float64 and _Float64x, so resulting in output that did not compile
    when glibc support for those types was enabled.  This patch adds the
    missing argument so that the tests properly compile in that case.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * math/gen-tgmath-tests.py (Type.init_types): Pass suffix argument
        for combinations of long double with _Float64 and _Float64x.

commit 5c60afdd675bc530039a631501fae3db0cce1e7e
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 21:11:37 2017 +0000

    Handle more _FloatN, _FloatNx types in bits/libm-simd-decl-stubs.h.
    
    This patch adds the macro definitions to bits/libm-simd-decl-stubs.h
    required to handle additional _FloatN and _FloatNx types.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches.
    
        * bits/libm-simd-decl-stubs.h (__DECL_SIMD_cosf16): New macro.
        (__DECL_SIMD_cosf32): Likewise.
        (__DECL_SIMD_cosf64): Likewise.
        (__DECL_SIMD_cosf32x): Likewise.
        (__DECL_SIMD_cosf64x): Likewise.
        (__DECL_SIMD_cosf128x): Likewise.
        (__DECL_SIMD_sinf16): Likewise.
        (__DECL_SIMD_sinf32): Likewise.
        (__DECL_SIMD_sinf64): Likewise.
        (__DECL_SIMD_sinf32x): Likewise.
        (__DECL_SIMD_sinf64x): Likewise.
        (__DECL_SIMD_sinf128x): Likewise.
        (__DECL_SIMD_sincosf16): Likewise.
        (__DECL_SIMD_sincosf32): Likewise.
        (__DECL_SIMD_sincosf64): Likewise.
        (__DECL_SIMD_sincosf32x): Likewise.
        (__DECL_SIMD_sincosf64x): Likewise.
        (__DECL_SIMD_sincosf128x): Likewise.
        (__DECL_SIMD_logf16): Likewise.
        (__DECL_SIMD_logf32): Likewise.
        (__DECL_SIMD_logf64): Likewise.
        (__DECL_SIMD_logf32x): Likewise.
        (__DECL_SIMD_logf64x): Likewise.
        (__DECL_SIMD_logf128x): Likewise.
        (__DECL_SIMD_expf16): Likewise.
        (__DECL_SIMD_expf32): Likewise.
        (__DECL_SIMD_expf64): Likewise.
        (__DECL_SIMD_expf32x): Likewise.
        (__DECL_SIMD_expf64x): Likewise.
        (__DECL_SIMD_expf128x): Likewise.
        (__DECL_SIMD_powf16): Likewise.
        (__DECL_SIMD_powf32): Likewise.
        (__DECL_SIMD_powf64): Likewise.
        (__DECL_SIMD_powf32x): Likewise.
        (__DECL_SIMD_powf64x): Likewise.
        (__DECL_SIMD_powf128x): Likewise.

commit 9d4b01173c5f605d7edb26d3210d04efaa1bb032
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 24 18:38:45 2017 +0000

    Move wcstof128 symbol versions to wcsmbs/Versions.
    
    This patch moves wcstof128 and wcstof128_l Versions file entries from
    stdlib/Versions to wcsmbs/Versions, which is a more appropriate place
    for them.
    
    Tested for x86_64, and with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * stdlib/Versions (libc): Move entries for wcstof128 and
        wcstof128_l to ....
        * wcsmbs/Versions (libc): ... here.
        Include <float128-abi.h>.

commit 7911dd47da73026acc930564c10a1ceeb68d8583
Author: Florian Weimer <address@hidden>
Date:   Fri Nov 24 17:55:59 2017 +0100

    Linux: Introduce <bits/mman-shared.h>
    
    This header file enables sharing of portable declarations and
    definitions across all Linux architectures, including hppa (which does
    not use <bits/mman-linux.h>).
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit c45d78aac47db08bc8ea7641c5330cccaecd3ddb
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 22 18:02:20 2017 -0200

    posix: Fix generic p{read,write}v buffer allocation (BZ#22457)
    
    As described in BZ#22457 an interpose malloc can free an invalid
    pointer for fallback preadv implementation.  Fortunately this is
    just and issue on microblaze-linux-gnu running kernels older than
    3.15.  This patch fixes it by calling mmap/unmap instead of
    posix_memalign/ free.
    
    Checked on microblaze-linux-gnu check with run-built-tests=no and
    by using the sysdeps/posix implementation on x86_64-linux-gnu (just
    for sanity test where it shown no regression).
    
        [BZ #22457]
        * sysdeps/posix/preadv_common.c (PREADV): Use mmap/munmap instead of
        posix_memalign/free.
        * sysdeps/posix/pwritev_common.c (PWRITEV): Likewise.

commit 3ffc4cc1ad37fb36e419c9a3a72e1916d7d893d3
Author: Mike FABIAN <address@hidden>
Date:   Mon Nov 20 17:55:33 2017 +0530

    pl_PL locale: Base collation on iso14651_t1
    
        [BZ #22469]
        * localedata/locales/pl_PL (LC_COLLATE): Use “copy "iso14651_t1"”
        and implement the collation rules for pl from CLDR on top of that.
        * Makefile: Add pl_PL.UTF-8 to test-input and to the list
        of locales to be built for testing.
        * pl_PL.UTF-8.in: New file with test data to test the Polish sorting.

commit 3a327316ad615f7e4264d3e13d23052d9dc84694
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 23 23:34:54 2017 +0000

    Use libm_alias_ldouble macros in sysdeps/ia64/fpu.
    
    Continuing the preparation for additional _FloatN / _FloatNx aliases,
    this patch makes long double functions in sysdeps/ia64/fpu use
    libm_alias_ldouble macros, so that they can have _Float64x aliases
    added in future.
    
    Most ia64 libm functions are defined using ia64-specific macros in
    libm-symbols.h.  These are left unchanged, with libm-alias-ldouble.h
    included from libm-symbols.h (and the expectation that other
    libm-alias-*.h headers will be included from there as well in future),
    and libm_alias_ldouble_other then being used in most cases to define
    aliases for any additional types (currently the empty set).  Functions
    that used weak_alias are converted to use libm_alias_ldouble.
    
    Tested (compilation only) with build-many-glibcs.py for ia64,
    including that installed stripped shared libraries are unchanged by
    the patch.
    
        * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-ldouble.h>.
        * sysdeps/ia64/fpu/e_acoshl.S (acoshl): Use
        libm_alias_ldouble_other.
        * sysdeps/ia64/fpu/e_acosl.S (acosl): Likewise.
        * sysdeps/ia64/fpu/e_asinl.S (asinl): Likewise.
        * sysdeps/ia64/fpu/e_atanhl.S (atanhl): Likewise.
        * sysdeps/ia64/fpu/e_coshl.S (coshl): Likewise.
        * sysdeps/ia64/fpu/e_exp10l.S (exp10l): Likewise.
        * sysdeps/ia64/fpu/e_exp2l.S (exp2l): Likewise.
        * sysdeps/ia64/fpu/e_fmodl.S (fmodl): Likewise.
        * sysdeps/ia64/fpu/e_hypotl.S (hypotl): Likewise.
        * sysdeps/ia64/fpu/e_lgammal_r.c (lgammal_r): Define using
        libm_alias_ldouble_r.
        * sysdeps/ia64/fpu/e_log2l.S (log2l): Use
        libm_alias_ldouble_other.
        * sysdeps/ia64/fpu/e_logl.S (logl): Likewise.
        (log10l): Likewise.
        * sysdeps/ia64/fpu/e_powl.S (powl): Likewise.
        * sysdeps/ia64/fpu/e_remainderl.S (remainderl): Likewise.
        * sysdeps/ia64/fpu/e_sinhl.S (sinhl): Likewise.
        * sysdeps/ia64/fpu/e_sqrtl.S (sqrtl): Likewise.
        * sysdeps/ia64/fpu/libm_sincosl.S (sincosl): Likewise.
        * sysdeps/ia64/fpu/s_asinhl.S (asinhl): Likewise.
        * sysdeps/ia64/fpu/s_atanl.S (atanl): Likewise.
        (atan2l): Likewise.
        * sysdeps/ia64/fpu/s_cbrtl.S (cbrtl): Likewise.
        * sysdeps/ia64/fpu/s_ceill.S (ceill): Likewise.
        * sysdeps/ia64/fpu/s_copysign.S (copysignl): Define using
        libm_alias_ldouble.
        * sysdeps/ia64/fpu/s_cosl.S (sinl): Use libm_alias_ldouble_other.
        (cosl): Likewise.
        * sysdeps/ia64/fpu/s_erfcl.S (erfcl): Likewise.
        * sysdeps/ia64/fpu/s_erfl.S (erfl): Likewise.
        * sysdeps/ia64/fpu/s_expm1l.S (expm1l): Likewise.
        (expl): Likewise.
        * sysdeps/ia64/fpu/s_fabsl.S (fabsl): Likewise.
        * sysdeps/ia64/fpu/s_fdiml.S (fdiml): Likewise.
        * sysdeps/ia64/fpu/s_floorl.S (floorl): Likewise.
        * sysdeps/ia64/fpu/s_fmal.S (fmal): Likewise.
        * sysdeps/ia64/fpu/s_fmaxl.S (fmaxl): Likewise.
        * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Likewise.
        * sysdeps/ia64/fpu/s_ldexpl.c (ldexpl): Likewise.
        * sysdeps/ia64/fpu/s_log1pl.S (log1pl): Likewise.
        * sysdeps/ia64/fpu/s_logbl.S (logbl): Likewise.
        * sysdeps/ia64/fpu/s_modfl.S (modfl): Likewise.
        * sysdeps/ia64/fpu/s_nearbyintl.S (nearbyintl): Define using
        libm_alias_ldouble.
        * sysdeps/ia64/fpu/s_nextafterl.S (nextafterl): Use
        libm_alias_ldouble_other.
        * sysdeps/ia64/fpu/s_rintl.S (rintl): Likewise.
        * sysdeps/ia64/fpu/s_roundl.S (roundl): Likewise.
        * sysdeps/ia64/fpu/s_scalbnl.c (scalbnl): Define using
        libm_alias_ldouble.
        * sysdeps/ia64/fpu/s_tanhl.S (tanhl): Use
        libm_alias_ldouble_other.
        * sysdeps/ia64/fpu/s_tanl.S (tanl): Likewise.
        * sysdeps/ia64/fpu/s_truncl.S (truncl): Likewise.
        * sysdeps/ia64/fpu/w_lgammal_main.c
        [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammal): Likewise.
        * sysdeps/ia64/fpu/w_tgammal_compat.S (tgammal): Likewise.

commit 0a947e061d47c9710838f210506215bd9533324b
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 23 14:47:31 2017 +0100

    malloc: Call tcache destructor in arena_thread_freeres
    
    It does not make sense to register separate cleanup functions for arena
    and tcache since they're always going to be called together.  Call the
    tcache cleanup function from within arena_thread_freeres since it at
    least makes the order of those cleanups clear in the code.
    
    Reviewed-by: Siddhesh Poyarekar <address@hidden>

commit 67f36c7922fe5053549ec9aa7f60ed2c5c2d65b4
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 23 14:08:11 2017 +0100

    nss: Export nscd hash function as __nss_hash [BZ #22459]

commit cccb6d4e87053ed63c74aee063fa84eb63ebf7b8
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 23 11:20:53 2017 +0100

    sigwait: Do not fail with EINTR and return error code [BZ #22478]
    
    Since
    
    commit 8b0e795aaa445e9167aa07b282c5720b35342c07
    Author: Adhemerval Zanella <address@hidden>
    Date:   Wed Nov 1 11:49:05 2017 -0200
    
        Simplify Linux sig{timed}wait{info} implementations
    
    sigwait can fail with EINTR.  Applications do not expect that, and the
    error code is not documented in POSIX or the manual pages.
    
    This commit restores the previous behavior by retrying the system call
    on EINTR.  It also returns the error code, not -1, on the remaing
    errors.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 59d2cbb1fe4b8601d5cbd359c3806973eab6c62d
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 23 10:00:40 2017 +0100

    Linux: Add memfd_create system call wrapper
    
    The system call is somewhat obscure because it is closely related
    to file descriptor sealing.  However, it is also the recommended
    way to create alias mappings, which is why it has more general use.
    
    No emulation is provided.  Except for the name of the
    /proc/self/fd links, it would be possible to implement an
    approximation using O_TMPFILE and tmpfs, but this does not appear
    to be worth the added complexity.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Christian Brauner <address@hidden>

commit 0a9d1d62b36cc46bf893ce404013a7b2d0bcfce8
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 22 23:42:40 2017 +0000

    Fix typo in variable name in gen-locale.sh.
    
        * localedata/gen-locale.sh: Fix typo in variable name.

commit 754034c4292ba6824ef357258308e6bafa6e0dfd
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 22 22:21:10 2017 +0000

    Obsolete p_secstodate.
    
    This patch, relative to a tree with
    <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html> (pending
    review) applied, obsoletes p_secstodate, making the underlying
    function __p_secstodate into a compat symbol not available for new
    binaries or ports.  The calls in ns_print.c (part of incomplete
    handling of TKEY) are changed to use %lu to print times instead of
    trying to pretty-print the times any more.
    
    Tested for x86_64.
    
        * resolv/res_debug.c (p_secstodate): Condition definition on
        [SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)].  Define
        directly as __p_secstodate, and as a compat symbol.  Do not use
        libresolv_hidden_def.
        * resolv/resolv.h (p_secstodate): Remove macro and function
        declaration.
        * resolv/ns_print.c (ns_sprintrrf): Print times with %lu, not
        using p_secstodate.
        * include/resolv.h (__p_secstodate): Do not use
        libresolv_hidden_proto.
        * resolv/Makefile (tests): Move tst-p_secstodate to ....
        (tests-internal): ... here.
        * resolv/tst-p_secstodate.c: Include <shlib-compat.h>.  Condition
        all contents on [TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)]
        and declare and use __p_secstodate and use compat_symbol_reference
        in that case.
        [!TEST_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_27)] (do_test): Add
        implementation returning 77.

commit f120cda6072d830df92656dad0c89967547b97dc
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 22 22:12:07 2017 +0000

    Fix p_secstodate overflow handling (bug 22463).
    
    The resolv/res_debug.c function p_secstodate (which is a public
    function exported from libresolv, taking an unsigned long argument)
    does:
    
            struct tm timebuf;
            time = __gmtime_r(&clock, &timebuf);
            time->tm_year += 1900;
            time->tm_mon += 1;
            sprintf(output, "%04d%02d%02d%02d%02d%02d",
                    time->tm_year, time->tm_mon, time->tm_mday,
                    time->tm_hour, time->tm_min, time->tm_sec);
    
    If __gmtime_r returns NULL (because the year overflows the range of
    int), this will dereference a null pointer.  Otherwise, if the
    computed year does not fit in four characters, this will cause a
    buffer overrun of the fixed-size 15-byte buffer.  With current GCC
    mainline, there is a compilation failure because of the possible
    buffer overrun.
    
    I couldn't find a specification for how this function is meant to
    behave, but Paul pointed to RFC 4034 as relevant to the cases where
    this function is called from within glibc.  The function's interface
    is inherently problematic when dates beyond Y2038 might be involved,
    because of the ambiguity in how to interpret 32-bit timestamps as such
    dates (the RFC suggests interpreting times as being within 68 years of
    the present date, which would mean some kind of interface whose
    behavior depends on the present date).
    
    This patch works on the basis of making a minimal fix in preparation
    for obsoleting the function.  The function is made to handle times in
    the interval [0, 0x7fffffff] only, on all platforms, with <overflow>
    used as the output string in other cases (and errno set to EOVERFLOW
    in such cases).  This seems to be a reasonable state for the function
    to be in when made a compat symbol by a future patch, being compatible
    with any existing uses for existing timestamps without trying to work
    for later timestamps.  Results independent of the range of time_t also
    simplify the testcase.
    
    I couldn't persuade GCC to recognize the ranges of the struct tm
    fields by adding explicit range checks with a call to
    __builtin_unreachable if outside the range (this looks similar to
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80776>), so having added
    a range check on the input, this patch then disables the
    -Wformat-overflow= warning for the sprintf call (I prefer that to the
    use of strftime, as being more transparently correct without knowing
    what each of %m and %M etc. is).
    
    I do not know why this build failure should be new with mainline GCC
    (that is, I don't know what GCC change might have introduced it, when
    the basic functionality for such warnings was already in GCC 7).
    
    I do not know if this is a security issue (that is, if there are
    plausible ways in which a date before -999 or after 9999 from an
    untrusted source might end up in this function).  The system clock is
    arguably an untrusted source (in that e.g. NTP is insecure), but
    probably not to that extent (NTP can't communicate such wild
    timestamps), and uses from within glibc are limited to 32-bit inputs.
    
    Tested with build-many-glibcs.py that this restores the build for arm
    with yesterday's mainline GCC.  Also tested for x86_64 and x86.
    
        [BZ #22463]
        * resolv/res_debug.c: Include <libc-diag.h>.
        (p_secstodate): Assert time_t at least as wide as u_long.  On
        overflow, use integer seconds since the epoch as output, or use
        "<overflow>" as output and set errno to EOVERFLOW if integer
        seconds since the epoch would be 14 or more characters.
        (p_secstodate) [__GNUC_PREREQ (7, 0)]: Disable -Wformat-overflow=
        for sprintf call.
        * resolv/tst-p_secstodate.c: New file.
        * resolv/Makefile (tests): Add tst-p_secstodate.
        ($(objpfx)tst-p_secstodate): Depend on $(objpfx)libresolv.so.

commit a90d1ac2d2f7b20a9df676ac9bd0aa512ab5b708
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 22 21:11:00 2017 +0000

    Remove unused sparc64/soft-fp libm function implementations.
    
    sysdeps/sparc/sparc64/soft-fp has files s_frexpl.c, s_scalblnl.c and
    s_scalbnl.c that are never used because the ldbl-128 versions always
    come first in the sysdeps directory ordering.  This patch removes the
    unused files.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * sysdeps/sparc/sparc64/soft-fp/s_frexpl.c: Remove file.
        * sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c: Likewise.
        * sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c: Likewise.

commit 0285e6bdf223314d7751a83795001c0e87a1f825
Author: Paul Eggert <address@hidden>
Date:   Wed Nov 22 11:21:44 2017 -0800

    * posix/regcomp.c (init_word_char): Add comments.

commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 22 18:44:23 2017 +0000

    Avoid use of strlen in getlogin_r (bug 22447).
    
    Building glibc with current mainline GCC fails, among other reasons,
    because of an error for use of strlen on the nonstring ut_user field.
    This patch changes the problem code in getlogin_r to use __strnlen
    instead.  It also needs to set the trailing NUL byte of the result
    explicitly, because of the case where ut_user does not have such a
    trailing NUL byte (but the result should always have one).
    
    Tested for x86_64.  Also tested that, in conjunction with
    <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, it fixes
    the build for arm with mainline GCC.
    
        [BZ #22447]
        * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not
        strlen to compute length of ut_user and set trailing NUL byte of
        result explicitly.

commit 4b7af5fca7db9fe1f4c078c57f20a08e2a1e2404
Author: Mike FABIAN <address@hidden>
Date:   Fri Nov 17 10:54:52 2017 +0100

    lv_LV locale: fix collation [BZ #15537]
    
        [BZ #15537]
        * localedata/locales/lv_LV (LC_COLLATE): Fix collation by
        using “copy "iso14651_t1"” and then implementing the
        collation rules for lv from CLDR on top of that.
        * Makefile: Add lv_LV.UTF-8 to test-input and to the list
        of locales to be built for testing.
        * lv_LV.UTF-8.in: New file with test data to test the Latvian
        sorting.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 922bb78c0c074aaeaa9f0312195b717674ed7430
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 21 22:21:23 2017 +0000

    Update hppa bits/mman.h from Linux 4.14.
    
    This patch updates the hppa bits/mman.h based on Linux 4.14.  Some
    MADV_* macros are removed in Linux 4.14 as unused/unimplemented, so
    this patch removes them from glibc, while adding two new macros added
    in Linux 4.14.
    
    Tested (compilation only) for hppa with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/hppa/bits/mman.h
        [__USE_MISC] (MADV_SPACEAVAIL): Remove macro.
        [__USE_MISC] (MADV_VPS_PURGE): Likewise.
        [__USE_MISC] (MADV_VPS_INHERIT): Likewise.
        [__USE_MISC] (MADV_HWPOISON): New macro.
        [__USE_MISC] (MADV_SOFT_OFFLINE): Likewise.

commit a3aaa59816881c909249b68881e788152d753345
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Nov 21 09:44:42 2017 -0200

    nptl: Add workaround for ASSERT_PTHREAD_INTERNAL_SIZE with GCC 4.9
    
    GCC 4.9 (the minimum current supported) emits an warning for universal
    zero initializer ({0}) on ASSERT_PTHREAD_INTERNAL_SIZE:
    
    pthread_attr_init.c: In function ‘__pthread_attr_init_2_1’:
    pthread_attr_init.c:37:3: error: missing braces around initializer 
[-Werror=missing-braces]
       ASSERT_PTHREAD_INTERNAL_SIZE (pthread_attr_t, struct pthread_attr);
       ^
    pthread_attr_init.c:37:3: error: (near initialization for 
‘(anonymous).__size’) [-Werror=missing-braces]
    
    It is fact GCC BZ#53119 [1] fixed in later version (GCC5+).  Since
    current branch is closed and there is no indication it will be backports
    (comment #20 in same bug report) this patch fixes by using a double
    bracket to zero initialize the struct.
    
    Checked on x86_64-linux-gnu with GCC 7 and GCC 4.9.
    
        * nptl/pthreadP.h (ASSERT_PTHREAD_INTERNAL_SIZE): Add workarond for
        -Wmissing-braces on GCC 4.9.
    
    [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 8beba15d536aa5c89e9e55e4c497c0bcd10cb67c
Author: Stefan Liebler <address@hidden>
Date:   Tue Nov 21 08:45:28 2017 +0100

    S390: Add cfi information for start routines in order to stop unwinding.
    
    GDB failed to detect the outermost frame while showing the backtrace
    within a thread:
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    Before this patch, the start routines like thread_start had no cfi 
information.
    GDB is then using the prologue unwinder if no cfi information is available.
    This unwinder tries to unwind r15 and stops e.g. if r15 was updated or
    on some jump-instructions.
    
    On older glibc-versions (before commit "Remove cached PID/TID in clone"
    c579f48edba88380635ab98cb612030e3ed8691e), the thread_start function used
    such a jump-instruction and GDB did not fail with an error.
    
    This patch adds cfi information for _start, thread_start and 
__makecontext_ret
    and marks r14 as undefined which marks the frame as outermost frame and GDB
    stops the backtrace. Also tested different gcc versions in order to test
    _Unwind_Backtrace() in libgcc as this is used by backtrace() in glibc.
    
    ChangeLog:
    
        * sysdeps/s390/s390-64/start.S (_start): Add cfi information for r14.
        * sysdeps/s390/s390-32/start.S: (_start): Likewise
        * sysdeps/unix/sysv/linux/s390/s390-64/clone.S
        (thread_start): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/clone.S
        (thread_start): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S
        (__makecontext_ret): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
        (__makecontext_ret): Likewise.

commit 80eb52e3a93a9f611a415a3565d17536cf023f8a
Author: Stefan Liebler <address@hidden>
Date:   Tue Nov 21 08:39:53 2017 +0100

    Remove attribute_hidden for wchar ifunc symbols.
    
    On s390 (31bit) various debug/tst-*chk* testcases are failing as the tests
    are ending with a segmentation fault.
    
    One test is e.g. calling wcsnrtombs in debug/tst-chk1.c:1549.
    The function wcsnrtombs itself calls __wcsnlen. This function is called via
    PLT! The PLT-stub itself loads the address from GOT (r12 is assumed to be
    the GOT-pointer). In this case the loaded address is zero and the following
    branch leads to the segmentation fault.
    
    Due to the attribute_hidden in commit 
44af8a32c341672b5160fdc2839767e9a837ad26
    "Mark internal wchar functions with attribute_hidden [BZ #18822]"
    for e.g. the __wcsnlen function, r12 is not loaded with the GOT-pointer
    in wcsnrtombs.
    
    On s390x (64bit), this __wcsnlen call is also using the PLT-stub. But it is
    not failing as the GOT-pointer is setup with larl-instruction by the 
PLT-stub
    itself.
    Note: On s390x/s390, __wcsnlen is an IFUNC symbol.
    
    On x86_64, __wcsnlen is also an IFUNC symbol and is called via PLT, too.
    
    Further IFUNC symbols on s390 which were marked as hidden by the mentioned
    commit are: __wcscat, __wcsncpy, __wcpncpy, __wcschrnul.
    
    This patch removes the attribute_hidden in wchar.h.
    Then the compiler setups e.g. r12 on s390 in order to call __wcsnlen via 
PLT.
    
    ChangeLog:
    
        * include/wchar.h (__wcsnlen, __wcscat, __wcsncpy, __wcpncpy,
        __wcschrnul): Remove attribute_hidden.

commit 567d8c1f6852c5d5aad4d46da34b6276e400d5dd
Author: Paul Eggert <address@hidden>
Date:   Mon Nov 20 16:25:49 2017 -0800

    regex: don't assume uint64_t or uint32_t
    
    This avoids -Werror=overflow errors for 32-bit systems in
    the 64-bit case.  Problem reported by Joseph Myers in:
    https://sourceware.org/ml/libc-alpha/2017-11/msg00694.html
    Also, when this code is used in Gnulib it ports to platforms
    that lack uint64_t and uint32_t.  The C standard doesn't guarantee
    them, and on some 32-bit compilers there is no uint64_t.
    Problem reported by Gianluigi Tiesi in:
    http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html
    * posix/regcomp.c (init_word_char): Don't assume that the types
    uint64_t and uint32_t exist.  Adapted from Gnulib patch
    2012-05-27T06:40:address@hidden  See:
    
https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=252b52457da7887667c036d18cc5169777615bb0

commit 5a67c4fa010abb27e704aa4ea3896f3aa2b39ed7
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Nov 20 18:25:04 2017 +0530

    aarch64: Optimized memset for falkor
    
    The generic memset reads dczid_el0 on every memset.  This has a
    significant impact on falkor for a range of sizes because reading
    dczid_el0 is slow.
    
    The DZP bit in the dczid_el0 register does not change dynamically, so
    it is safe to read once during program startup.  With this patch
    dczid_el0 is read once during startup and zva_size is cached.  This is
    used to invoke the falkor-specific memset; the generic memset routine
    remains unchanged.
    
    The gains due to this are significant for falkor, with run time
    reductions as high as 48%.  Here's a sample from the falkor tests:
    
    Function: memset
    Variant: walk
                          simple_memset __memset_falkor __memset_generic
    =====================================================================
    length=256, char=0:   139.96 (-698.28%)        9.07 ( 48.26%)  17.53
    length=257, char=0:   140.50 (-699.03%)        9.53 ( 45.80%)  17.58
    length=258, char=0:   140.96 (-703.95%)        9.58 ( 45.36%)  17.53
    length=259, char=0:   141.56 (-705.16%)        9.53 ( 45.79%)  17.58
    length=260, char=0:   142.15 (-710.76%)        9.57 ( 45.39%)  17.53
    length=261, char=0:   142.50 (-710.39%)        9.53 ( 45.78%)  17.58
    length=262, char=0:   142.97 (-715.09%)        9.57 ( 45.42%)  17.54
    length=263, char=0:   143.51 (-716.18%)        9.53 ( 45.80%)  17.58
    length=264, char=0:   143.93 (-720.55%)        9.58 ( 45.39%)  17.54
    length=265, char=0:   144.56 (-722.07%)        9.53 ( 45.80%)  17.59
    length=266, char=0:   144.98 (-726.42%)        9.58 ( 45.42%)  17.54
    length=267, char=0:   145.53 (-727.53%)        9.53 ( 45.80%)  17.59
    length=268, char=0:   146.25 (-731.81%)        9.53 ( 45.79%)  17.58
    length=269, char=0:   146.52 (-735.39%)        9.53 ( 45.66%)  17.54
    length=270, char=0:   146.97 (-735.81%)        9.53 ( 45.80%)  17.58
    length=271, char=0:   147.54 (-741.08%)        9.58 ( 45.38%)  17.54
    length=512, char=0:   268.26 (-1307.85%)  12.06 ( 36.71%)  19.05
    length=513, char=0:   268.73 (-1273.89%)  13.56 ( 30.68%)  19.56
    length=514, char=0:   269.31 (-1276.89%)  13.56 ( 30.68%)  19.56
    length=515, char=0:   269.73 (-1279.05%)  13.56 ( 30.68%)  19.56
    length=516, char=0:   270.34 (-1282.24%)  13.56 ( 30.67%)  19.56
    length=517, char=0:   270.83 (-1284.71%)  13.56 ( 30.66%)  19.56
    length=518, char=0:   271.20 (-1286.54%)  13.56 ( 30.67%)  19.56
    length=519, char=0:   271.67 (-1288.67%)  13.65 ( 30.24%)  19.56
    length=520, char=0:   272.14 (-1291.04%)  13.65 ( 30.22%)  19.56
    length=521, char=0:   272.66 (-1293.69%)  13.65 ( 30.23%)  19.56
    length=522, char=0:   273.14 (-1296.13%)  13.65 ( 30.20%)  19.56
    length=523, char=0:   273.64 (-1298.75%)  13.65 ( 30.23%)  19.56
    length=524, char=0:   274.34 (-1302.16%)  13.66 ( 30.20%)  19.57
    length=525, char=0:   274.64 (-1297.78%)  13.56 ( 30.99%)  19.65
    length=526, char=0:   275.20 (-1300.04%)  13.56 ( 31.01%)  19.66
    length=527, char=0:   275.66 (-1302.86%)  13.56 ( 30.99%)  19.65
    length=1024, char=0:  524.46 (-2169.75%)  20.12 ( 12.92%)  23.11
    length=1025, char=0:  525.14 (-2124.63%)  21.62 (  8.40%)  23.61
    length=1026, char=0:  525.59 (-2125.36%)  21.88 (  7.37%)  23.62
    length=1027, char=0:  525.98 (-2127.14%)  21.62 (  8.46%)  23.62
    length=1028, char=0:  526.68 (-2131.10%)  21.62 (  8.42%)  23.61
    length=1029, char=0:  527.10 (-2131.70%)  21.79 (  7.73%)  23.62
    length=1030, char=0:  527.54 (-2118.51%)  21.62 (  9.10%)  23.78
    length=1031, char=0:  527.98 (-2136.37%)  21.62 (  8.43%)  23.61
    length=1032, char=0:  528.70 (-2139.38%)  21.62 (  8.43%)  23.61
    length=1033, char=0:  529.25 (-2124.37%)  21.62 (  9.11%)  23.79
    length=1034, char=0:  529.48 (-2142.95%)  21.62 (  8.43%)  23.61
    length=1035, char=0:  530.11 (-2145.13%)  21.62 (  8.44%)  23.61
    length=1036, char=0:  530.76 (-2147.10%)  21.79 (  7.73%)  23.62
    length=1037, char=0:  531.03 (-2149.45%)  21.62 (  8.42%)  23.61
    length=1038, char=0:  531.64 (-2151.87%)  21.62 (  8.42%)  23.61
    length=1039, char=0:  531.99 (-2151.63%)  21.80 (  7.75%)  23.63
    
        * sysdeps/aarch64/memset-reg.h: New file.
        * sysdeps/aarch64/memset.S: Use it.
        (__memset): Rename to MEMSET macro.
        [ZVA_MACRO]: Use zva_macro.
        * sysdeps/aarch64/multiarch/Makefile (sysdep_routines):
        Add memset_generic and memset_falkor.
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add memset ifuncs.
        * sysdeps/aarch64/multiarch/init-arch.h (INIT_ARCH): New
        local variable zva_size.
        * sysdeps/aarch64/multiarch/memset.c: New file.
        * sysdeps/aarch64/multiarch/memset_generic.S: New file.
        * sysdeps/aarch64/multiarch/memset_falkor.S: New file.
        * sysdeps/aarch64/multiarch/rtld-memset.S: New file.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c
        (DCZID_DZP_MASK): New macro.
        (DCZID_BS_MASK): Likewise.
        (init_cpu_features): Read and set zva_size.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.h
        (struct cpu_features): New member zva_size.

commit eb332f9feb7637eeefed037a683d2a6130d058b1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Nov 20 17:56:35 2017 +0530

    benchtests: Bump start size since smaller sizes are noisy
    
    Numbers for very small sizes (< 128B) are much noisier for non-cached
    benchmarks like the walk benchmarks, so don't include them.
    
        * benchtests/bench-memcpy-walk.c (START_SIZE): Set to 128.
        * benchtests/bench-memmove-walk.c (START_SIZE): Likewise.
        * benchtests/bench-memset-walk.c (START_SIZE): Likewise.

commit 4d7632ff687dc60fb9ed38bae682d395017b61a8
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Nov 20 17:55:59 2017 +0530

    benchtests: Fix walking sizes and directions for *-walk benchmarks
    
    Make the walking benchmarks walk only backwards since copying both
    ways is biased in favour of implementations that use non-temporal
    stores for larger sizes; falkor is one of them.  This also fixes up
    bugs in computation of the result which ended up multiplying the
    length with the timing result unnecessarily.
    
        * benchtests/bench-memcpy-walk.c (do_one_test): Copy only
        backwards.  Fix timing computation.
        * benchtests/bench-memmove-walk.c (do_one_test): Likewise.
        * benchtests/bench-memset-walk.c (do_one_test): Walk backwards
        on memset by N at a time.  Fix timing computation.

commit a465b89ee82642c193cfd7deb6eb5d999ffaa5b7
Author: Florian Weimer <address@hidden>
Date:   Mon Nov 20 13:23:17 2017 +0100

    manual: Document the MAP_HUGETLB, MADV_HUGEPAGE, MADV_NOHUGEPAGE flags

commit 0f74bbf513354d4d0b635b77b96699b33741068b
Author: Florian Weimer <address@hidden>
Date:   Sun Nov 19 11:27:59 2017 +0100

    manual: Document mprotect and introduce section on memory protection

commit f6e965ee94b37289f64ecd3253021541f7c214c3
Author: Florian Weimer <address@hidden>
Date:   Sun Nov 19 08:58:31 2017 +0100

    manual: Move preadv/writev variants to Scatter-Gather section
    
    Also remove a comment about performance.  fwrite vs writev performance
    is a very complex topic and cannot be reduced to a simple advice based
    on transfer size.

commit 5f9d19490b24a28e1445a8ed30cdcc727be6432c
Author: Christian Brauner <address@hidden>
Date:   Sat Nov 18 17:54:24 2017 +0100

    support_become_root: Fix comment style

commit ea69a5c87498ba94eb804ab628000ecfc50d6710
Author: Christian Brauner <address@hidden>
Date:   Sat Nov 18 16:22:01 2017 +0100

    support_become_root: Don't fail when /proc/<pid/setgroups is missing
    
    The requirement to write "deny" to /proc/<pid>/setgroups for a given user
    namespace before being able to write a gid mapping was introduced in Linux
    3.19.  Before that this requirement including the file did not exist.
    So don't fail when errno == ENOENT.

commit 8db7f48cb74670829df037b2d037df3f36b71ecd
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 18 14:34:46 2017 +0100

    tst-ttyname: Fix namespace setup for Fedora
    
    On Fedora, the previous initialization sequence did not work and
    resulted in failures like:
    
    info:  entering chroot 1
    info:    testcase: basic smoketest
    info:      ttyname: PASS {name="/dev/pts/5", errno=0}
    info:      ttyname_r: PASS {name="/dev/pts/5", ret=0, errno=0}
    error: ../sysdeps/unix/sysv/linux/tst-ttyname.c:122: write (setroups, 
"deny"): Operation not permitted
    info:  entering chroot 2
    error: ../sysdeps/unix/sysv/linux/tst-ttyname.c:122: write (setroups, 
"deny"): Operation not permitted
    error: 2 test failures
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 273a0c4983ecff9fe53258755b155227afe2938f
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 18 14:30:20 2017 +0100

    support_enter_mount_namespace: Unshare with mount --make-rprivate
    
    System defaults vary, and a mere unshare (CLONE_NEWNS) (which is part of
    support_become_root) is no longer sufficient.
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 8adfb0eeffd1888f9b53b8d8677eb1656cd20e47
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 18 14:11:09 2017 +0100

    support_create_temp_directory: Align behavior with create_temp_file
    
    create_temp_file automatically supplies the test directory and the
    XXXXXX suffix.  support_create_temp_directory required the caller to
    specify them, which was confusing.
    
    Reviewed-by: Jonathan Nieder <address@hidden>

commit df0c40ee3a893238ac11f4c0d876a0c3b49d198d
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Nov 17 21:15:15 2017 -0200

    powerpc: Update AT_HWCAP2 bits
    
    Linux commit ID cba6ac4869e45cc93ac5497024d1d49576e82666 reserved a new
    bit for a scenario where transactional memory is available, but the
    suspended state is disabled.
    
        * sysdeps/powerpc/bits/hwcap.h (PPC_FEATURE2_HTM_NO_SUSPEND): New
        macro.
        * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add
        htm-no-suspend.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <address@hidden>

commit f58e5f48096332566aa479ed0961c1f67aa3ed66
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 17 23:39:11 2017 +0000

    Use libm_alias_ldouble in sysdeps/x86_64/fpu.
    
    This patch continues the preparation for additional _FloatN / _FloatNx
    function aliases by using libm_alias_ldouble for sysdeps/x86_64/fpu
    long double functions, so that they can have _Float64x aliases added
    in future.
    
    Tested for x86_64, including build-many-glibcs.py tests that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/x86_64/fpu/e_expl.S: Include <libm-alias-ldouble.h>.
        [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_ceill.S: Include <libm-alias-ldouble.h>.
        (ceill): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_copysignl.S: Include
        <libm-alias-ldouble.h>.
        (copysignl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_fabsl.S: Include <libm-alias-ldouble.h>.
        (fabsl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_floorl.S: Include <libm-alias-ldouble.h>.
        (floorl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
        (fmaxl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
        (fminl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_llrintl.S: Include <libm-alias-ldouble.h>.
        (llrintl): Define using libm_alias_ldouble.
        (lrintl): Likewise.
        * sysdeps/x86_64/fpu/s_nearbyintl.S: Include
        <libm-alias-ldouble.h>.
        (nearbyintl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/fpu/s_truncl.S: Include <libm-alias-ldouble.h>.
        (truncl): Define using libm_alias_ldouble.
        * sysdeps/x86_64/x32/fpu/s_lrintl.S: Include
        <libm-alias-ldouble.h>.
        (lrintl): Define using libm_alias_ldouble.

commit 2ce30701e6df07deda6fb205808769d237aa2460
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 17 22:54:39 2017 +0000

    Use libm_alias_ldouble in sysdeps/i386/fpu.
    
    This patch continues the preparation for additional _FloatN / _FloatNx
    function aliases by using libm_alias_ldouble for sysdeps/i386/fpu long
    double functions, so that they can have _Float64x aliases added in
    future.
    
    Tested for x86_64 (which includes some of these implementations) and
    x86, including build-many-glibcs.py tests that installed stripped
    shared libraries are unchanged by the patch.
    
        * sysdeps/i386/fpu/e_expl.S: Include <libm-alias-ldouble.h>.
        [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_asinhl.S: Include <libm-alias-ldouble.h>.
        (asinhl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_atanl.c: Include <libm-alias-ldouble.h>.
        (atanl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_cbrtl.S: Include <libm-alias-ldouble.h>.
        (cbrtl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_ceill.S: Include <libm-alias-ldouble.h>.
        (ceill): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_copysignl.S: Include <libm-alias-ldouble.h>.
        (copysignl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_fabsl.S: Include <libm-alias-ldouble.h>.
        (fabsl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_floorl.S: Include <libm-alias-ldouble.h>.
        (floorl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
        (fmaxl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
        (fminl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_frexpl.S: Include <libm-alias-ldouble.h>.
        (frexpl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_llrintl.S: Include <libm-alias-ldouble.h>.
        (llrintl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_logbl.c: Include <libm-alias-ldouble.h>.
        (logbl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_lrintl.S: Include <libm-alias-ldouble.h>.
        (lrintl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_nearbyintl.S: Include <libm-alias-ldouble.h>.
        (nearbyintl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_nextafterl.c: Include <libm-alias-ldouble.h>.
        (nextafterl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_remquol.S: Include <libm-alias-ldouble.h>.
        (remquol): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_rintl.c: Include <libm-alias-ldouble.h>.
        (rintl): Define using libm_alias_ldouble.
        * sysdeps/i386/fpu/s_truncl.S: Include <libm-alias-ldouble.h>.
        (truncl): Define using libm_alias_ldouble.
        * sysdeps/i386/i686/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
        (fmaxl): Define using libm_alias_ldouble.
        * sysdeps/i386/i686/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
        (fminl): Define using libm_alias_ldouble.

commit 015c6dc288003cd6b192f5901a8df2ea16205ee4
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 17 22:01:43 2017 +0000

    Support bits/floatn.h inclusion from .S files.
    
    Further _FloatN / _FloatNx type alias support will involve making
    architecture-specific .S files use the common macros for libm function
    aliases.  Making them use those macros will also serve to simplify
    existing code for aliases / symbol versions in various cases, similar
    to such simplifications for ldbl-opt code.
    
    The libm-alias-*.h files sometimes need to include <bits/floatn.h> to
    determine which aliases they should define.  At present, this does not
    work for inclusion from .S files because <bits/floatn.h> can define
    typedefs for old compilers.  This patch changes all the
    <bits/floatn.h> and <bits/floatn-common.h> headers to include
    __ASSEMBLER__ conditionals.  Those conditionals disable everything
    related to C syntax in the __ASSEMBLER__ case, not just the problem
    typedefs, as that seemed cleanest.  The __HAVE_* definitions remain in
    the __ASSEMBLER__ case, as those provide information that is required
    to define the correct set of aliases.
    
    Tested with build-many-glibcs.py for a representative set of
    configurations (x86_64-linux-gnu i686-linux-gnu ia64-linux-gnu
    powerpc64le-linux-gnu mips64-linux-gnu-n64 sparc64-linux-gnu) with GCC
    6.  Also tested with GCC 6 for i686-linux-gnu in conjunction with
    changes to use alias macros in .S files.
    
        * bits/floatn-common.h [!__ASSEMBLER]: Disable everything related
        to C syntax instead of availability and properties of types.
        * bits/floatn.h [!__ASSEMBLER]: Likewise.
        * sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise.
        * sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise.
        * sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise.
        * sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise.
        * sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise.

commit ce003e5d4cd94c5380699b0dadeaaf825813afbe
Author: Florian Weimer <address@hidden>
Date:   Fri Nov 17 22:11:28 2017 +0100

    support_become_root: Enable file creation in user namespaces
    
    Without UID/GID maps, file creation will file with EOVERFLOW.
    
    This patch is based on DJ Delorie's work on container testing.
    
    Reviewed-by: Jonathan Nieder <address@hidden>

commit e7df6c5c79458dc042a8c967bafa6e8eca88ae0d
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 17 14:03:04 2017 +0000

    Add AArch64 HWCAP_DCPOP from Linux 4.14.
    
    This patch adds the HWCAP_DCPOP macro from Linux 4.14 to the AArch64
    bits/hwcap.h.
    
    Tested (compilation only) for aarch64 with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_DCPOP): New
        macro.

commit 58a813bf6e732211af53e690c92c14a50bb06e0e
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 16 19:52:59 2017 -0200

    aarch64: Fix f{max,min}{f} build for GCC 4.9 and 5
    
    GCC 4.9 and 5 do not generate a correct f{max,min}nm instruction for
    __builtin_{fmax,fmin}{f} without -ffinite-math-only.  It is clear a
    compiler issue since the instruction can handle NaN and Inf correctly
    and GCC6+ does not show this issue.
    
    We can backport a fix to GCC 5, raise the minimum required GCC version
    for aarch64 (since GCC 4.9 branch is now closed [1]) and/or add
    configure check to check for this issue.  However I think
    -ffinite-math-only should be safe for these specific implementations
    and it is a simpler solution.
    
    Checked on aarch64-linux-gnu with GCC 5.3.1.
    
        * sysdeps/aarch64/fpu/Makefile (CFLAGS-s_fmax.c, CFLAGS-s_fmaxf.c,
        CFLAGS-s_fmin.c, CFLAGS-s_fminf.c): New rule: add -ffinite-math-only.
    
    [1] https://gcc.gnu.org/ml/gcc/2016-08/msg00010.html
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Szabolcs Nagy <address@hidden>

commit 6a6aa1f38959a5d17ff776b252604bece45864dc
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 16 17:52:43 2017 +0000

    Add Linux 4.14 ARPHRD_RAWIP to net/if_arp.h.
    
    This patch adds ARPHRD_RAWIP from Linux 4.14 to the Linux
    net/if_arp.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_RAWIP): New macro.

commit f97773d1e7cf65bbbfd8fa173096eb6144d9e47e
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 16 17:51:54 2017 +0000

    Update kernel version in syscall-names.list to 4.14.
    
    Linux 4.14 does not add any new syscalls; this patch updates the
    version number in syscall-names.list to reflect that it's still
    current for 4.14.
    
    Tested for x86_64 (compilation with build-many-glibcs.py, using Linux
    4.14).
    
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
        version to 4.14.

commit 7b0fb8706c07a38c8bb9999bd4c4563f07e2495f
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Nov 16 12:08:52 2017 +0530

    Fix botched up regeneration in the last commit

commit a306c790a835894c22d076a04a9924d3daeb9462
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Nov 16 11:49:26 2017 +0530

    Prefer https for Sourceware links
    
    Update all sourceware links to https.  The website redirects
    everything to https anyway so let the web server do a bit less work.
    The only reference that remains unchanged is the one in the old
    ChangeLog, since it didn't seem worth changing it.
    
        * NEWS: Update sourceware link to https.
        * configure.ac: Likewise.
        * crypt/md5test-giant.c: Likewise.
        * dlfcn/bug-atexit1.c: Likewise.
        * dlfcn/bug-atexit2.c: Likewise.
        * localedata/README: Likewise.
        * malloc/tst-mallocfork.c: Likewise.
        * manual/install.texi: Likewise.
        * nptl/tst-pthread-getattr.c: Likewise.
        * stdio-common/tst-fgets.c: Likewise.
        * stdio-common/tst-fwrite.c: Likewise.
        * sunrpc/Makefile: Likewise.
        * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Likewise.
        * wcsmbs/tst-mbrtowc2.c: Likewise.
        * configure: Regenerate.
        * INSTALL: Regenerate.

commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c
Author: Martin Sebor <address@hidden>
Date:   Wed Nov 15 17:39:59 2017 -0700

    The -Wstringop-truncation option new in GCC 8 detects common misuses
    of the strncat and strncpy function that may result in truncating
    the copied string before the terminating NUL.  To avoid false positive
    warnings for correct code that intentionally creates sequences of
    characters that aren't guaranteed to be NUL-terminated, arrays that
    are intended to store such sequences should be decorated with a new
    nonstring attribute.  This change add this attribute to Glibc and
    uses it to suppress such false positives.
    
    ChangeLog:
        * misc/sys/cdefs.h (__attribute_nonstring__): New macro.
        * sysdeps/gnu/bits/utmp.h (struct utmp): Use it.
        * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same.

commit d9611e308592355718b36fe085b7b61aa52911e5
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:39:22 2017 +0100

    linux ttyname{_r}: Add tests
    
    Add a new tst-ttyname test that includes several named sub-testcases.
    
    This patch is ordered after the patches with the fixes that it tests for (to
    avoid breaking `git bisect`), but for reference, here's how each relevant 
change
    so far affected the testcases in this commit, starting with
    15e9a4f378c8607c2ae1aa465436af4321db0e23:
    
      |                                 | before  |         | make checks | 
don't |
      |                                 | 15e9a4f | 15e9a4f | consistent  | 
bail  |
      
|---------------------------------+---------+---------+-------------+-------|
      | basic smoketest                 | PASS    | PASS    | PASS        | 
PASS  |
      | no conflict, no match           | PASS[1] | PASS    | PASS        | 
PASS  |
      | no conflict, console            | PASS    | FAIL!   | FAIL        | 
PASS! |
      | conflict, no match              | FAIL    | PASS!   | PASS        | 
PASS  |
      | conflict, console               | FAIL    | FAIL    | FAIL        | 
PASS! |
      | with readlink target            | PASS    | PASS    | PASS        | 
PASS  |
      | with readlink trap; fallback    | FAIL    | FAIL    | FAIL        | 
PASS! |
      | with readlink trap; no fallback | FAIL    | PASS!   | PASS        | 
PASS  |
      | with search-path trap           | FAIL    | FAIL    | PASS!       | 
PASS  |
      
|---------------------------------+---------+---------+-------------+-------|
      |                                 | 4/9     | 5/9     | 6/9         | 9/9 
  |
    
      [1]: 15e9a4f introduced a semantic that, under certain failure
           conditions, ttyname sets errno=ENODEV, where previously it didn't
           set errno; it's not quite fair to hold "before 15e9a4f" ttyname to
           those new semantics.  This testcase actually fails, but would have
           passed if we tested for the old the semantics.
    
    Each of the failing tests before 15e9a4f are all essentially the same bug: 
that
    it returns a PTY slave with the correct minor device number, but from the 
wrong
    devpts filesystem instance.
    
    15e9a4f sought to fix this, but missed several of the cases that can cause 
this
    to happen, and also broke the case where both the erroneous PTY and the 
correct
    PTY exist.
    
    Acked-by: Christian Brauner <address@hidden>

commit a09dfc19edcbac3f96d5410529b724db0a583879
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:36:44 2017 +0100

    linux ttyname{_r}: Don't bail prematurely [BZ #22145]
    
    Commit 15e9a4f378c8607c2ae1aa465436af4321db0e23 introduced logic for 
ttyname()
    sending back ENODEV to signal that we can't get a name for the TTY because 
we
    inherited it from a different mount namespace.
    
    However, just because we inherited it from a different mount namespace and 
it
    isn't available at its original path, doesn't mean that its name is 
unknowable;
    we can still try to find it by allowing the normal fall back on iterating
    through devices.
    
    An example scenario where this happens is with "/dev/console" in containers.
    It's a common practice among container managers to allocate a PTY 
master/slave
    pair in the host's mount namespace (the slave having a path like 
"/dev/pty/$X"),
    bind mount the slave to "/dev/console" in the container's mount namespace, 
and
    send the slave FD to a process in the container. Inside of the
    container, the slave-end isn't available at its original path 
("/dev/pts/$X"),
    since the container mount namespace has a separate devpts instance from the 
host
    (that path may or may not exist in the container; if it does exist, it's 
not the
     same PTY slave device). Currently ttyname{_r} sees that the file at the
    original "/dev/pts/$X" path doesn't match the FD passed to it, and fails 
early
    and gives up, even though if it kept searching it would find the TTY at
    "/dev/console". Fix that; don't have the ENODEV path force an early return
    inhibiting the fall-back search.
    
    This change is based on the previous patch that adds use of is_mytty in
    getttyname and getttyname_r. Without that change, this effectively reverts
    15e9a4f, which made us disregard the false similarity of file pointed to by
    "/proc/self/fd/$Y", because if it doesn't bail prematurely then that file
    ("/dev/pts/$X") will just come up again anyway in the fall-back search.
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 2fbce9c2031e70b6bd67876accfc34b0ec492878
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:34:30 2017 +0100

    linux ttyname{_r}: Make tty checks consistent
    
    In the ttyname and ttyname_r routines on Linux, at several points it needs 
to
    check if a given TTY is the TTY we are looking for. It used to be that this
    check was (to see if `maybe` is `mytty`):
    
           __xstat64(_STAT_VER, maybe_filename, &maybe) == 0
        #ifdef _STATBUF_ST_RDEV
           && S_ISCHR(maybe.st_mode) && maybe.st_rdev == mytty.st_rdev
        #else
           && maybe.st_ino == mytty.st_ino && maybe.st_dev == mytty.st_dev
        #endif
    
    This check appears in several places.
    
    Then, one of the changes made in commit 
15e9a4f378c8607c2ae1aa465436af4321db0e23
    was to change that check to:
    
           __xstat64(_STAT_VER, maybe_filename, &maybe) == 0
        #ifdef _STATBUF_ST_RDEV
           && S_ISCHR(maybe.st_mode) && maybe.st_rdev == mytty.st_rdev
        #endif
           && maybe.st_ino == mytty.st_ino && maybe.st_dev == mytty.st_dev
    
    That is, it made the st_ino and st_dev parts of the check happen even if we 
have
    the st_rdev member. This is an important change, because the kernel allows
    multiple devpts filesystem instances to be created; a device file in one 
devpts
    instance may share the same st_rdev with a file in another devpts instance, 
but
    they aren't the same file.
    
    This check appears twice in each file (ttyname.c and ttyname_r.c), once (in
    ttyname and __ttyname_r) to check if a candidate file found by inspecting 
/proc
    is the desired TTY, and once (in getttyname and getttyname_r) to check if a
    candidate file found by searching /dev is the desired TTY. However, 15e9a4f
    only updated the checks for files found via /proc; but the concern about
    collisions between devpts instances is just as valid for files found via 
/dev.
    
    So, update all 4 occurrences the check to be consistent with the version of 
the
    check introduced in 15e9a4f. Make it easy to keep all 4 occurrences of the
    check consistent by pulling it in to a static inline function, is_mytty.
    
    Reviewed-by: Christian Brauner <address@hidden>

commit d10d6cab168ffa26ef6a506655ee5dc8537c8ed7
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:33:11 2017 +0100

    linux ttyname: Change return type of is_pty from int to bool
    
    is_pty returning a bool is fine since there's no possible outcome other than
    true or false, and bool is used throughout the codebase.
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 9b5a87502d048905c383b65c51768f4a1db8c685
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:31:32 2017 +0100

    linux ttyname: Update a reference to kernel docs for kernel 4.10
    
    Linux 4.10 moved many of the documentation files around.
    
    4.10 came out between the time the patch adding the comment (commit
    15e9a4f378c8607c2ae1aa465436af4321db0e23) was submitted and the time
    it was applied (in February, January, and March 2017; respectively).
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 495a56fdeb05d20a88304ff5da577d23a8e81ae1
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 20:28:40 2017 +0100

    manual: Update to mention ENODEV for ttyname and ttyname_r
    
    Commit 15e9a4f378c8607c2ae1aa465436af4321db0e23 introduced ENODEV as a 
possible
    error condition for ttyname and ttyname_r. Update the manual to mention 
this GNU
    extension.
    
    Reviewed-by: Christian Brauner <address@hidden>

commit 78cde19f622cab74e3953c3d0139d51e1076108e
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 15 18:41:32 2017 +0000

    Add MSG_ZEROCOPY from Linux 4.14 to bits/socket.h.
    
    This patch adds the new MSG_ZEROCOPY constant from Linux 4.14 to the
    Linux bits/socket.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/socket.h (MSG_ZEROCOPY): New enum
        constant and macro.

commit fa680dc61455acdf8779d82c6f4bba5b48935c08
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 15 18:40:29 2017 +0000

    Add MADV_WIPEONFORK, MADV_KEEPONFORK from Linux 4.14.
    
    This patch adds the new MADV_WIPEONFORK and MADV_KEEPONFORK from Linux
    4.14 to bits/mman-linux.h (and bits/mman.h in the hppa case).  Note
    there are further hppa MADV_* changes in 4.14; I plan a separate glibc
    patch for those.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/mman-linux.h
        [__USE_MISC] (MADV_WIPEONFORK): New macro.
        [__USE_MISC] (MADV_KEEPONFORK): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/mman.h
        [__USE_MISC] (MADV_WIPEONFORK): Likewise.
        [__USE_MISC] (MADV_KEEPONFORK): Likewise.

commit 1ba1d8a44d244110c1f8d768f098ac44351acb76
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Nov 6 09:31:37 2017 -0200

    Optimize sigrelse implementation
    
    This patch simplifies sighold a bit by removing an extra sigprocmask
    and using SIG_BLOCK (which union of the current set and the set argument).
    
    Checked on x86_64-linux-gnu.
    
        * signal/sighold.c (sighold): Optimize implementation.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit ad4f43a2344864ae2304060dcc722a7a63bad1b4
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Nov 3 10:55:09 2017 -0200

    Cleanup sigpause implementation
    
    This patch simplify sigpause by remobing the single thread optimization
    since it will be handled already by the __sigsuspend call.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/posix/sigpause.c (do_sigpause): Remove.
        (__sigpause): Rely on __sigsuspend to implement single thread
        optimization.  Add LIBC_CANCEL_HANDLED for cancellation marking.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Zack Weinberg <address@hidden>

commit d0212d429da889345978546f215ce62a5f0e007a
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 15 17:10:03 2017 +0000

    Use Linux 4.14 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
        kernel version to 4.14.

commit 2180fee114b778515b3f560e5ff1e795282e60b0
Author: Steve Ellcey <address@hidden>
Date:   Wed Nov 15 08:58:48 2017 -0800

    Check length of ifname before copying it into to ifreq structure.
    
        [BZ #22442]
        * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex):
        Check if ifname is too long.

commit cad7ca390879f2a8250e58bf5009a00b887a19b7
Author: Luke Shumaker <address@hidden>
Date:   Wed Nov 15 14:36:25 2017 -0200

    linux: Include <sysdep-cancel.h> for epoll_wait
    
    The epoll_wait wrapper uses the raw syscall if __NR_epoll_wait is defined,
    and falls back to calling epoll_pwait(..., NULL) if it isn't defined.
    However, it didn't include the appropriate headers for __NR_epoll_wait to
    be defined, so it was *always* falling back to calling epoll_pwait!
    
    This mistake was introduced in b62c3815912bc679a966134affdedd3f35ae8621,
    when epoll_wait changed from being in syscalls.list to always having a C
    wrapper.
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 58c9f659ee99ee370ebb443de4155b67645c807a
Author: Mike FABIAN <address@hidden>
Date:   Wed Nov 15 13:19:43 2017 +0100

    ka_GE locale: Add “X” back to yesexpr.
    
        * localedata/locales/ka_GE (LC_MESSAGES): Add “X” back to yesexpr,
        was accidentally lost.

commit 0fa87c01ab1323519a5793cdf6af80815e2c4d50
Author: Mike FABIAN <address@hidden>
Date:   Wed Nov 15 13:16:47 2017 +0100

    az_IR locale: Add standard copyright header
    
        * localedata/locales/az_IR: Add standard copyright header.

commit 34eb41579c6c34fa60ec6f1aac7b70ba6e1bebcc
Author: Florian Weimer <address@hidden>
Date:   Wed Nov 15 11:40:41 2017 +0100

    malloc: Account for all heaps in an arena in malloc_info [BZ #22439]
    
    This commit adds a "subheaps" field to the malloc_info output that
    shows the number of heaps that were allocated to extend a non-main
    arena.
    
    Reviewed-by: Siddhesh Poyarekar <address@hidden>

commit 7a9368a1174cb15b9f1d6342e0e10dd90dae238d
Author: Florian Weimer <address@hidden>
Date:   Wed Nov 15 11:39:01 2017 +0100

    malloc: Add missing arena lock in malloc_info [BZ #22408]
    
    Obtain the size information while the arena lock is acquired, and only
    print it later.

commit be3a79a3cc8d8111811a52b0fe243b6f4dd03844
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 15 02:08:56 2017 +0000

    Use __builtin_tgmath in tgmath.h with GCC 8 (bug 21660).
    
    GCC mainline now supports __builtin_tgmath to allow <tgmath.h> macro
    implementations that expand their arguments only once, so avoiding
    exponential blowup in the size of macro expansions when calls to those
    macros are nested in arguments to those macros.
    
    This patch makes glibc's tgmath.h support using __builtin_tgmath, as a
    much simpler and more efficient alternative to the existing
    implementation.  (As a side effect, the new feature would make it much
    more practical to support decimal floating point in <tgmath.h> with
    new compilers; currently, libdfp does not provide a <tgmath.h>
    implementation, and making decimal arguments cause integer arguments
    to be considered of type _Decimal64 instead of double would have been
    very problematic in the old implementation.)
    
    Tested for x86_64 (with GCC mainline).
    
        [BZ #21660]
        * math/tgmath.h (__HAVE_BUILTIN_TGMATH): New macro.
        [__HAVE_BUILTIN_TGMATH] (__TG_F16_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F32_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F64_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F128_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F32X_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F64X_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TG_F128X_ARG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_FUNCS): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_RCFUNCS): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_1): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_2): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_2STD): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_3): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_1C): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_2C): Likewise.
        (__tgml): Make conditional on [!__HAVE_BUILTIN_TGMATH].
        (__floating_type): Likewise.
        (__real_integer_type): Likewise.
        (__complex_integer_type): Likewise.
        (__expr_is_real): Likewise.
        (__tgmath_real_type_sub): Likewise.
        (__tgmath_real_type): Likewise.
        (__tgmath_complex_type_sub): Likewise.
        (__tgmath_complex_type): Likewise.
        (__TGMATH_F128): Likewise.
        (__TGMATH_CF128): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_ONLY): Define using
        new macros.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_ONLY):
        Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_FIRST_REAL_STD_ONLY):
        Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_ONLY): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY):
        Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_REAL_ONLY): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY):
        Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_IMAG): Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_UNARY_REAL_IMAG_RET_REAL):
        Likewise.
        [__HAVE_BUILTIN_TGMATH] (__TGMATH_BINARY_REAL_IMAG): Likewise.
        (__TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME): New macro.
        (carg): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME.
        (cimag): Likewise.
        (creal): Likewise.

commit 2e64ec9c9eac3aeb70f7cfa2392846c87c28068e
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 14 17:52:26 2017 +0000

    Fix string/tester.c build with GCC 8.
    
    GCC 8 warns about more cases of string functions truncating their
    output or not copying a trailing NUL byte.
    
    This patch fixes testsuite build failures caused by such warnings in
    string/tester.c.  In general, the warnings are disabled around the
    relevant calls using DIAG_* macros, since the relevant cases are being
    deliberately tested.  In one case, the warning is with
    -Wstringop-overflow= instead of -Wstringop-truncation; in that case,
    the conditional is __GNUC_PREREQ (7, 0) (being the version where
    -Wstringop-overflow= was introduced), to allow the conditional to be
    removed sooner, since it's harmless to disable the warning for a
    GCC version where it doesn't actually occur.  In the case of warnings
    for strncpy calls in test_memcmp, the calls in question are changed to
    use memcpy, as they don't copy a trailing NUL and the point of that
    code is to test memcmp rather than strncpy.
    
    Tested (compilation) with GCC 8 for x86_64-linux-gnu with
    build-many-glibcs.py (in conjunction with Martin's patch to allow
    glibc to build).
    
        * string/tester.c (test_stpncpy): Disable -Wstringop-truncation
        for stpncpy calls for GCC 8.
        (test_strncat): Disable -Wstringop-truncation warning for strncat
        calls for GCC 8.  Disable -Wstringop-overflow= warning for one
        strncat call for GCC 7.
        (test_strncpy): Disable -Wstringop-truncation warning for strncpy
        calls for GCC 8.
        (test_memcmp): Use memcpy instead of strncpy for calls not copying
        trailing NUL.

commit ec72135e5f1d061cb5cf7cd1b855fd6290be10d9
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 14 17:50:36 2017 +0000

    Fix string/bug-strncat1.c build with GCC 8.
    
    GCC 8 warns about strncat calls with truncated output.
    string/bug-strncat1.c tests such a call; this patch disables the
    warning for it.
    
    Tested (compilation) with GCC 8 for x86_64-linux-gnu with
    build-many-glibcs.py (in conjunction with Martin's patch to allow
    glibc to build).
    
        * string/bug-strncat1.c: Include <libc-diag.h>.
        (main): Disable -Wstringop-truncation for strncat call for GCC 8.

commit a259f5d388d6195da958b2d147d17c2e2d16b857
Author: Claude Paroz <address@hidden>
Date:   Thu Nov 2 15:10:42 2017 +0100

    Replaced unicode sequences in the ASCII printable range
    
        [BZ #22387]
        * localedata/locales/aa_DJ: Improved readibility by replacing
        <Uxxxx> sequences in the ASCII printable range by their ASCII
        character equivalents.
        * localedata/locales/aa_ER: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/aa_ET: Likewise.
        * localedata/locales/af_ZA: Likewise.
        * localedata/locales/agr_PE: Likewise.
        * localedata/locales/ak_GH: Likewise.
        * localedata/locales/am_ET: Likewise.
        * localedata/locales/anp_IN: Likewise.
        * localedata/locales/ar_AE: Likewise.
        * localedata/locales/ar_BH: Likewise.
        * localedata/locales/ar_DZ: Likewise.
        * localedata/locales/ar_EG: Likewise.
        * localedata/locales/ar_IN: Likewise.
        * localedata/locales/ar_IQ: Likewise.
        * localedata/locales/ar_JO: Likewise.
        * localedata/locales/ar_KW: Likewise.
        * localedata/locales/ar_LB: Likewise.
        * localedata/locales/ar_LY: Likewise.
        * localedata/locales/ar_MA: Likewise.
        * localedata/locales/ar_OM: Likewise.
        * localedata/locales/ar_QA: Likewise.
        * localedata/locales/ar_SA: Likewise.
        * localedata/locales/ar_SD: Likewise.
        * localedata/locales/ar_SS: Likewise.
        * localedata/locales/ar_SY: Likewise.
        * localedata/locales/ar_TN: Likewise.
        * localedata/locales/ar_YE: Likewise.
        * localedata/locales/as_IN: Likewise.
        * localedata/locales/ast_ES: Likewise.
        * localedata/locales/ayc_PE: Likewise.
        * localedata/locales/az_AZ: Likewise.
        * localedata/locales/az_IR: Likewise.
        * localedata/locales/be_BY: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/bem_ZM: Likewise.
        * localedata/locales/ber_DZ: Likewise.
        * localedata/locales/ber_MA: Likewise.
        * localedata/locales/bg_BG: Likewise.
        * localedata/locales/bhb_IN: Likewise.
        * localedata/locales/bho_IN: Likewise.
        * localedata/locales/bi_VU: Likewise.
        * localedata/locales/bn_BD: Likewise.
        * localedata/locales/bn_IN: Likewise.
        * localedata/locales/bo_CN: Likewise.
        * localedata/locales/bo_IN: Likewise.
        * localedata/locales/br_FR: Likewise.
        * localedata/locales/brx_IN: Likewise.
        * localedata/locales/bs_BA: Likewise.
        * localedata/locales/byn_ER: Likewise.
        * localedata/locales/ca_AD: Likewise.
        * localedata/locales/ca_ES: Likewise.
        * localedata/locales/ca_FR: Likewise.
        * localedata/locales/ca_IT: Likewise.
        * localedata/locales/ce_RU: Likewise.
        * localedata/locales/chr_US: Likewise.
        * localedata/locales/cmn_TW: Likewise.
        * localedata/locales/crh_UA: Likewise.
        * localedata/locales/cs_CZ: Likewise.
        * localedata/locales/csb_PL: Likewise.
        * localedata/locales/cv_RU: Likewise.
        * localedata/locales/cy_GB: Likewise.
        * localedata/locales/da_DK: Likewise.
        * localedata/locales/de_AT: Likewise.
        * localedata/locales/de_BE: Likewise.
        * localedata/locales/de_CH: Likewise.
        * localedata/locales/de_DE: Likewise.
        * localedata/locales/de_IT: Likewise.
        * localedata/locales/de_LI: Likewise.
        * localedata/locales/de_LU: Likewise.
        * localedata/locales/doi_IN: Likewise.
        * localedata/locales/dv_MV: Likewise.
        * localedata/locales/dz_BT: Likewise.
        * localedata/locales/el_CY: Likewise.
        * localedata/locales/el_GR: Likewise.
        * localedata/locales/en_AG: Likewise.
        * localedata/locales/en_AU: Likewise.
        * localedata/locales/en_BW: Likewise.
        * localedata/locales/en_CA: Likewise.
        * localedata/locales/en_DK: Likewise.
        * localedata/locales/en_GB: Likewise.
        * localedata/locales/en_HK: Likewise.
        * localedata/locales/en_IE: Likewise.
        * localedata/locales/en_IL: Likewise.
        * localedata/locales/en_IN: Likewise.
        * localedata/locales/en_NG: Likewise.
        * localedata/locales/en_NZ: Likewise.
        * localedata/locales/en_PH: Likewise.
        * localedata/locales/en_SG: Likewise.
        * localedata/locales/en_US: Likewise.
        * localedata/locales/en_ZA: Likewise.
        * localedata/locales/en_ZM: Likewise.
        * localedata/locales/en_ZW: Likewise.
        * localedata/locales/eo: Likewise.
        * localedata/locales/es_AR: Likewise.
        * localedata/locales/es_BO: Likewise.
        * localedata/locales/es_CL: Likewise.
        * localedata/locales/es_CO: Likewise.
        * localedata/locales/es_CR: Likewise.
        * localedata/locales/es_CU: Likewise.
        * localedata/locales/es_DO: Likewise.
        * localedata/locales/es_EC: Likewise.
        * localedata/locales/es_ES: Likewise.
        * localedata/locales/es_GT: Likewise.
        * localedata/locales/es_HN: Likewise.
        * localedata/locales/es_MX: Likewise.
        * localedata/locales/es_NI: Likewise.
        * localedata/locales/es_PA: Likewise.
        * localedata/locales/es_PE: Likewise.
        * localedata/locales/es_PR: Likewise.
        * localedata/locales/es_PY: Likewise.
        * localedata/locales/es_SV: Likewise.
        * localedata/locales/es_US: Likewise.
        * localedata/locales/es_UY: Likewise.
        * localedata/locales/es_VE: Likewise.
        * localedata/locales/et_EE: Likewise.
        * localedata/locales/eu_ES: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/fa_IR: Likewise.
        * localedata/locales/ff_SN: Likewise.
        * localedata/locales/fi_FI: Likewise.
        * localedata/locales/fil_PH: Likewise.
        * localedata/locales/fo_FO: Likewise.
        * localedata/locales/fr_BE: Likewise.
        * localedata/locales/fr_CA: Likewise.
        * localedata/locales/fr_CH: Likewise.
        * localedata/locales/fr_FR: Likewise.
        * localedata/locales/fr_LU: Likewise.
        * localedata/locales/fur_IT: Likewise.
        * localedata/locales/fy_DE: Likewise.
        * localedata/locales/fy_NL: Likewise.
        * localedata/locales/ga_IE: Likewise.
        * localedata/locales/gd_GB: Likewise.
        * localedata/locales/gez_ER: Likewise.
        * localedata/locales/gez_ET: Likewise.
        * localedata/locales/gl_ES: Likewise.
        * localedata/locales/gu_IN: Likewise.
        * localedata/locales/gv_GB: Likewise.
        * localedata/locales/ha_NG: Likewise.
        * localedata/locales/hak_TW: Likewise.
        * localedata/locales/he_IL: Likewise.
        * localedata/locales/hi_IN: Likewise.
        * localedata/locales/hif_FJ: Likewise.
        * localedata/locales/hne_IN: Likewise.
        * localedata/locales/hr_HR: Likewise.
        * localedata/locales/hsb_DE: Likewise.
        * localedata/locales/ht_HT: Likewise.
        * localedata/locales/hu_HU: Likewise.
        * localedata/locales/hy_AM: Likewise.
        * localedata/locales/i18n: Likewise.
        * localedata/locales/ia_FR: Likewise.
        * localedata/locales/id_ID: Likewise.
        * localedata/locales/ig_NG: Likewise.
        * localedata/locales/ik_CA: Likewise.
        * localedata/locales/is_IS: Likewise.
        * localedata/locales/it_CH: Likewise.
        * localedata/locales/it_IT: Likewise.
        * localedata/locales/iu_CA: Likewise.
        * localedata/locales/ja_JP: Likewise.
        * localedata/locales/ka_GE: Likewise.
        * localedata/locales/kk_KZ: Likewise.
        * localedata/locales/kl_GL: Likewise.
        * localedata/locales/kn_IN: Likewise.
        * localedata/locales/ko_KR: Likewise.
        * localedata/locales/kok_IN: Likewise.
        * localedata/locales/ks_IN: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ku_TR: Likewise.
        * localedata/locales/kw_GB: Likewise.
        * localedata/locales/ky_KG: Likewise.
        * localedata/locales/lb_LU: Likewise.
        * localedata/locales/lg_UG: Likewise.
        * localedata/locales/li_BE: Likewise.
        * localedata/locales/li_NL: Likewise.
        * localedata/locales/lij_IT: Likewise.
        * localedata/locales/ln_CD: Likewise.
        * localedata/locales/lo_LA: Likewise.
        * localedata/locales/lt_LT: Likewise.
        * localedata/locales/lv_LV: Likewise.
        * localedata/locales/lzh_TW: Likewise.
        * localedata/locales/mag_IN: Likewise.
        * localedata/locales/mai_IN: Likewise.
        * localedata/locales/mg_MG: Likewise.
        * localedata/locales/mhr_RU: Likewise.
        * localedata/locales/mi_NZ: Likewise.
        * localedata/locales/mk_MK: Likewise.
        * localedata/locales/ml_IN: Likewise.
        * localedata/locales/mn_MN: Likewise.
        * localedata/locales/mni_IN: Likewise.
        * localedata/locales/mr_IN: Likewise.
        * localedata/locales/ms_MY: Likewise.
        * localedata/locales/mt_MT: Likewise.
        * localedata/locales/my_MM: Likewise.
        * localedata/locales/nan_TW: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/nb_NO: Likewise.
        * localedata/locales/nds_DE: Likewise.
        * localedata/locales/nds_NL: Likewise.
        * localedata/locales/ne_NP: Likewise.
        * localedata/locales/nhn_MX: Likewise.
        * localedata/locales/niu_NU: Likewise.
        * localedata/locales/niu_NZ: Likewise.
        * localedata/locales/nl_AW: Likewise.
        * localedata/locales/nl_BE: Likewise.
        * localedata/locales/nl_NL: Likewise.
        * localedata/locales/nn_NO: Likewise.
        * localedata/locales/nr_ZA: Likewise.
        * localedata/locales/nso_ZA: Likewise.
        * localedata/locales/oc_FR: Likewise.
        * localedata/locales/om_ET: Likewise.
        * localedata/locales/om_KE: Likewise.
        * localedata/locales/or_IN: Likewise.
        * localedata/locales/os_RU: Likewise.
        * localedata/locales/pa_IN: Likewise.
        * localedata/locales/pa_PK: Likewise.
        * localedata/locales/pap_AW: Likewise.
        * localedata/locales/pap_CW: Likewise.
        * localedata/locales/pl_PL: Likewise.
        * localedata/locales/ps_AF: Likewise.
        * localedata/locales/pt_BR: Likewise.
        * localedata/locales/pt_PT: Likewise.
        * localedata/locales/quz_PE: Likewise.
        * localedata/locales/raj_IN: Likewise.
        * localedata/locales/ro_RO: Likewise.
        * localedata/locales/ru_RU: Likewise.
        * localedata/locales/ru_UA: Likewise.
        * localedata/locales/rw_RW: Likewise.
        * localedata/locales/sa_IN: Likewise.
        * localedata/locales/sat_IN: Likewise.
        * localedata/locales/sc_IT: Likewise.
        * localedata/locales/sd_IN: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/se_NO: Likewise.
        * localedata/locales/sgs_LT: Likewise.
        * localedata/locales/shs_CA: Likewise.
        * localedata/locales/si_LK: Likewise.
        * localedata/locales/sid_ET: Likewise.
        * localedata/locales/sk_SK: Likewise.
        * localedata/locales/sl_SI: Likewise.
        * localedata/locales/sm_WS: Likewise.
        * localedata/locales/so_DJ: Likewise.
        * localedata/locales/so_ET: Likewise.
        * localedata/locales/so_KE: Likewise.
        * localedata/locales/so_SO: Likewise.
        * localedata/locales/sq_AL: Likewise.
        * localedata/locales/sq_MK: Likewise.
        * localedata/locales/sr_ME: Likewise.
        * localedata/locales/sr_RS: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ss_ZA: Likewise.
        * localedata/locales/st_ZA: Likewise.
        * localedata/locales/sv_FI: Likewise.
        * localedata/locales/sv_SE: Likewise.
        * localedata/locales/sw_KE: Likewise.
        * localedata/locales/sw_TZ: Likewise.
        * localedata/locales/szl_PL: Likewise.
        * localedata/locales/ta_IN: Likewise.
        * localedata/locales/ta_LK: Likewise.
        * localedata/locales/tcy_IN: Likewise.
        * localedata/locales/te_IN: Likewise.
        * localedata/locales/tg_TJ: Likewise.
        * localedata/locales/th_TH: Likewise.
        * localedata/locales/the_NP: Likewise.
        * localedata/locales/ti_ER: Likewise.
        * localedata/locales/ti_ET: Likewise.
        * localedata/locales/tig_ER: Likewise.
        * localedata/locales/tk_TM: Likewise.
        * localedata/locales/tl_PH: Likewise.
        * localedata/locales/tn_ZA: Likewise.
        * localedata/locales/to_TO: Likewise.
        * localedata/locales/tpi_PG: Likewise.
        * localedata/locales/tr_CY: Likewise.
        * localedata/locales/tr_TR: Likewise.
        * localedata/locales/ts_ZA: Likewise.
        * localedata/locales/tt_RU: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ug_CN: Likewise.
        * localedata/locales/uk_UA: Likewise.
        * localedata/locales/unm_US: Likewise.
        * localedata/locales/ur_IN: Likewise.
        * localedata/locales/ur_PK: Likewise.
        * localedata/locales/uz_UZ: Likewise.
        * localedata/locales/address@hidden: Likewise.
        * localedata/locales/ve_ZA: Likewise.
        * localedata/locales/vi_VN: Likewise.
        * localedata/locales/wa_BE: Likewise.
        * localedata/locales/wae_CH: Likewise.
        * localedata/locales/wal_ET: Likewise.
        * localedata/locales/wo_SN: Likewise.
        * localedata/locales/xh_ZA: Likewise.
        * localedata/locales/yi_US: Likewise.
        * localedata/locales/yo_NG: Likewise.
        * localedata/locales/yue_HK: Likewise.
        * localedata/locales/yuw_PG: Likewise.
        * localedata/locales/zh_CN: Likewise.
        * localedata/locales/zh_HK: Likewise.
        * localedata/locales/zh_SG: Likewise.
        * localedata/locales/zh_TW: Likewise.
        * localedata/locales/zu_ZA: Likewise.

commit cae87e64dca14f50da7bbd99085c7f5e413ad0f8
Author: Florian Weimer <address@hidden>
Date:   Mon Nov 13 17:55:12 2017 +0100

    support: Add <support/next_to_fault.h>
    
    Based on the implementation in resolv/tst-inet_pton.c.

commit eceed67166ca9ee0587107baa394c7c3bc369813
Author: Florian Weimer <address@hidden>
Date:   Mon Nov 13 17:58:10 2017 +0100

    Add missing ChangeLog sub-entries

commit 4a306ef1c8ff1cac292c2fd56a3b91d7bfdecefc
Author: H.J. Lu <address@hidden>
Date:   Mon Nov 13 08:02:39 2017 -0800

    ld.so: Add architecture specific fields
    
    To support Intel Control-flow Enforcement Technology (CET) run-time
    control:
    
    1. An architecture specific field in the writable ld.so namespace is
    needed to indicate if CET features are enabled at run-time.
    2. An architecture specific field in struct link_map is needed if
    CET features are enabled in an ELF module.
    
    This patch adds dl-procruntime.c to the writable ld.so namespace and
    link_map.h to struct link_map.
    
    Tested with build-many-glibcs.py.
    
        * elf/dl-support.c: Include <dl-procruntime.c>.
        * include/link.h: Include <link_map.h>.
        * sysdeps/generic/dl-procruntime.c: New file.
        * sysdeps/generic/link_map.h: Likewise.
        * sysdeps/generic/ldsodefs.h: Include <dl-procruntime.c> in
        the writable ld.so namespace.

commit e69897bf202e18034cbef26f363bae64de70a196
Author: Paul Eggert <address@hidden>
Date:   Sun Nov 12 22:00:28 2017 -0800

    timezone: pacify GCC -Wstringop-truncation
    
    Problem reported by Martin Sebor in:
    https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html
    * timezone/zic.c (writezone): Use memcpy, not strncpy.

commit 1ffe1ccb6ec5771765f1f6f0c439ed07bf345d67
Author: Florian Weimer <address@hidden>
Date:   Sun Nov 12 09:53:06 2017 +0100

    support: Add xstrndup, xunlink, xreadlink, support_create_temp_directory

commit 456b40a97f7e867803b2f47f5fcd3f1fa4bc1f6e
Author: John David Anglin <address@hidden>
Date:   Sat Nov 11 12:12:28 2017 -0500

    Fix clog10_downward ulps on hppa.
    
    2017-11-11  John David Anglin  <address@hidden>
    
        * sysdeps/hppa/fpu/libm-test-ulps: Update clog10_downward ulps.

commit c0a25aa92b612786f4e45292c4aee1d7d47123f8
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 11 11:51:08 2017 +0100

    resolv: More precise checks in res_hnok, res_dnok [BZ #22409] [BZ #22412]
    
    res_hnok rejected some host names used on the Internet, such as
    www-.example.com.  res_hnok and res_dnok failed to perform basic syntax
    checking on DNS domain names.
    
    Also fix res_mailok, res_ownok.

commit 9e0ad3049dbae88d615bfb038e53bf365a39a634
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 11 11:41:45 2017 +0100

    resolv: ns_name_pton should report trailing \ as error [BZ #22413]

commit e2a9fca8101443076235a8dbcfceaa2d96bf4801
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 11 11:33:32 2017 +0100

    resolv: Add tst-ns_name_pton

commit 5c1a69238fcb87ff7f916a5ce7960b2864afb3a1
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 11 11:23:40 2017 +0100

    resolv: Add tst-res_hnok

commit a19c0a1db50ed3fd58715a1d78ea465d82fe9fd5
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 11 10:54:16 2017 +0100

    resolv: Use test framework in tst-resolv-network
    
    The main function was left in place by accident when the
    test was imported.

commit 8cb5295d3f642af43694ba39bc56c8575380aeb3
Author: H.J. Lu <address@hidden>
Date:   Thu Nov 9 05:09:49 2017 -0800

    Add jmp_buf-macros.h
    
    Verify that sizes, alignments and field offsets of jmp_buf as well as
    sigjmp_buf are unchanged regardless how struct __jmp_buf_tag is defined.
    Since jmp_buf is target specific, jmp_buf-macros.h is added for each
    Linux target.  A new target must provides its own jmp_buf-macros.h.
    
    TODO: Hurd needs to provide a jmp_buf-macros.h.
    
    Tested with build-many-glibcs.py.
    
        * include/setjmp.h [!_ISOMAC]: Include <stddef.h> and
        <jmp_buf-macros.h>.
        [!_ISOMAC] (STR_HELPER): New.
        [!_ISOMAC] (STR): Likewise.
        [!_ISOMAC] (TEST_SIZE): Likewise.
        [!_ISOMAC] (TEST_ALIGN): Likewise.
        [!_ISOMAC] (TEST_OFFSET): Likewise.
        [!_ISOMAC] Add _Static_assert to check sizes, alignments and
        field offsets of jmp_buf as well as sigjmp_buf.
        * sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h: Likewise.

commit 3683b423a4895ecd360fbbe118a027b7c2cf52ec
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 7 23:47:53 2017 +0000

    Handle more _FloatN, _FloatNx types in include/float.h.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch adds support in include/float.h.  This header
    defines macros for _Float128 properties when using compilers before
    GCC 7 that lack those macros in <float.h>.  For testing _Float32 /
    _Float64 / _Float32x / _Float64x functions with older compilers, such
    macros need to be defined for those types as well; for the older
    compilers, those types will always be typedefs for another type, so
    the definitions can be in terms of the macros for that other type.
    
    Tested for x86_64.
    
        * include/float.h
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MANT_DIG): New macro.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_DECIMAL_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MIN_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MIN_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MAX_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MAX_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MAX): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_EPSILON): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32] (FLT32_TRUE_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MANT_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_DECIMAL_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MIN_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MIN_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MAX_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MAX_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MAX): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_EPSILON): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64] (FLT64_TRUE_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MANT_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_DECIMAL_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MIN_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MIN_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MAX_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MAX_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MAX): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_EPSILON): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT32X] (FLT32X_TRUE_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MANT_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_DECIMAL_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_DIG): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MIN_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MIN_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MAX_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MAX_10_EXP): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MAX): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_EPSILON): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X] (FLT64X_TRUE_MIN): Likewise.

commit 58c4a1612db6a52d814d856f20bf93f1cac45232
Author: Joseph Myers <address@hidden>
Date:   Tue Nov 7 18:08:44 2017 +0000

    Handle more _FloatN, _FloatNx types in type-generic strtod tests.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch adds support to type-generic strtod tests.
    GEN_STRTOD_TEST_FOREACH and STRTOD_TEST_FOREACH are made to handle the
    full set of such types.  tst-strtod-round-skeleton.c is updated for
    those types it can handle without needing changes to the generator
    (i.e. those types that have already-handled formats).
    
    Tested for x86_64.
    
        * stdlib/tst-strtod.h (F16): New macro.
        (F32): Likewise.
        (F64): Likewise.
        (F32X): Likewise.
        (F64X): Likewise.
        (F128X): Likewise.
        (IF_FLOAT16): Likewise.
        (IF_FLOAT32): Likewise.
        (IF_FLOAT64): Likewise.
        (IF_FLOAT32X): Likewise.
        (IF_FLOAT64X): Likewise.
        (IF_FLOAT128X): Likewise.
        (GEN_TEST_STRTOD_FOREACH): Conditionally call macros for _Float16,
        _Float32, _Float64, _Float32x, _Float64x and _Float128x.
        (STRTOD_TEST_FOREACH): Likewise.
        * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f32): New macro.
        (CHOOSE_f64): Likewise.
        (CHOOSE_f32x): Likewise.
        (CHOOSE_f64x): Likewise.

commit feda96a1781e6d79a091df8747e696ba2751df82
Author: Andreas Schwab <address@hidden>
Date:   Tue Nov 7 16:04:56 2017 +0100

    Remove traces of tst-typesizes

commit 1bd0cbb8cf40f0fd250e0c5cf9bf575a37287a49
Author: Mike FABIAN <address@hidden>
Date:   Tue Nov 7 14:24:51 2017 +0100

    mfe_MU, miq_NI locales: Escape slashes in d_fmt [BZ #22403]
    
        [BZ #22403]
        * localedata/locales/mfe_MU (LC_TIME): Fix wrong d_fmt, / needs
        to be escaped.
        * localedata/locales/miq_NI (LC_TIME): Fix wrong d_fmt, / needs
        to be escaped.

commit d8301314bca5cd46ff157958d367df41939eaf6b
Author: Claude Paroz <address@hidden>
Date:   Mon Nov 6 14:14:28 2017 +0100

    an_ES, kab_DZ, om_ET locales: Escape slashes in d_fmt [BZ #22403]
    
        [BZ #22403]
        * localedata/locales/an_ES (LC_TIME): Fix wrong d_fmt, / needs
        to be escaped.
        * localedata/locales/kab_DZ (LC_TIME): Fix wrong d_fmt, / needs
        to be escaped.
        * localedata/locales/om_ET (LC_TIME): Fix wrong d_fmt, / needs
        to be escaped.

commit 06be6368da16104be51ebf23f7c68a51f321673f
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Oct 19 10:11:57 2017 -0200

    nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION}
    
    This patch adds two new internal defines to set the internal
    pthread_mutex_t layout required by the supported ABIS:
    
      1. __PTHREAD_MUTEX_NUSERS_AFTER_KIND which control whether to define
         __nusers fields before or after __kind.  The preferred value for
         is 0 for new ports and it sets __nusers before __kind.
    
      2. __PTHREAD_MUTEX_USE_UNION which control whether internal __spins and
         __list members will be place inside an union for linuxthreads
         compatibility.  The preferred value is 0 for ports and it sets
         to not use an union to define both fields.
    
    It fixes the wrong offsets value for __kind value on x86_64-linux-gnu-x32.
    Checked with a make check run-built-tests=no on all afected ABIs.
    
        [BZ #22298]
        * nptl/allocatestack.c (allocate_stack): Check if
        __PTHREAD_MUTEX_HAVE_PREV is non-zero, instead if
        __PTHREAD_MUTEX_HAVE_PREV is defined.
        * nptl/descr.h (pthread): Likewise.
        * nptl/nptl-init.c (__pthread_initialize_minimal_internal):
        Likewise.
        * nptl/pthread_create.c (START_THREAD_DEFN): Likewise.
        * sysdeps/nptl/fork.c (__libc_fork): Likewise.
        * sysdeps/nptl/pthread.h (PTHREAD_MUTEX_INITIALIZER): Likewise.
        * sysdeps/nptl/bits/thread-shared-types.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New
        defines.
        (__pthread_internal_list): Check __PTHREAD_MUTEX_USE_UNION instead
        of __WORDSIZE for internal layout.
        (__pthread_mutex_s): Check __PTHREAD_MUTEX_NUSERS_AFTER_KIND instead
        of __WORDSIZE for internal __nusers layout and __PTHREAD_MUTEX_USE_UNION
        instead of __WORDSIZE whether to use an union for __spins and __list
        fields.
        (__PTHREAD_MUTEX_HAVE_PREV): Define also for __PTHREAD_MUTEX_USE_UNION
        case.
        * sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION): New
        defines.
        * sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/arm/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/mips/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/s390/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/sh/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/tile/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
        * sysdeps/x86/nptl/bits/pthreadtypes-arch.h
        (__PTHREAD_MUTEX_NUSERS_AFTER_KIND, __PTHREAD_MUTEX_USE_UNION):
        Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 72b3c6eecde494a31dffa5604d551f88be859d73
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Oct 16 12:25:35 2017 -0200

    nptl: Change tst-typesizes to _Static_assert
    
    Instead of rely on runtime check to assure correct pthread types
    size a better strategy would use _Static_assert to trigger an error
    on build time (and thus allowing to check to potentially ABI breakage
    on cross-compiling make check).
    
    This patch moves nptl/tst-typesizes.c to libpthread build time on
    each specific initialization routine and also remove some runtime
    redundant asserts for the same type sizes.
    
    Checked on x86_64-linux-gnu and with a build check for all affected
    ABIs (aarch64-linux-gnu, alpha-linux-gnu, arm-linux-gnueabihf,
    hppa-linux-gnu, i686-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu, mips64-linux-gnu, mips64-n32-linux-gnu,
    mips-linux-gnu, powerpc64le-linux-gnu, powerpc-linux-gnu,
    s390-linux-gnu, s390x-linux-gnu, sh4-linux-gnu, sparc64-linux-gnu,
    sparcv9-linux-gnu, tilegx-linux-gnu, tilegx-linux-gnu-x32,
    tilepro-linux-gnu, x86_64-linux-gnu, and x86_64-linux-x32).
    
        * nptl/pthreadP.h (ASSERT_TYPE_SIZE, ASSERT_PTHREAD_INTERNAL_SIZE):
        New macros.
        * nptl/pthread_attr_init.c (__pthread_mutex_init): Add build time
        checks for expected input type size.
        * nptl/pthread_barrier_init.c (__pthread_barrier_init): Likewise.
        * nptl/pthread_barrierattr_init.c (pthread_barrierattr_init):
        Likewise.
        * nptl/pthread_cond_init.c (__pthread_cond_init): Likewise.
        * nptl/pthread_condattr_init.c (__pthread_condattr_init): Likewise.
        * nptl/pthread_mutex_init.c (__pthread_mutex_init): Likewise.
        * nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init): Likewise.
        * nptl/pthread_rwlock_init.c (__pthread_rwlock_init): Likewise.
        * nptl/pthread_rwlockattr_init.c (pthread_rwlockattr_init): Likewise.
        * nptl/sem_init.c (__new_sem_init, __old_sem_init): Likewise
        * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Remove
        superflous runtime assert check.
        * nptl/pthread_attr_getaffinity.c (__pthread_attr_getaffinity_new):
        Likewise.
        * nptl/pthread_attr_getdetachstate.c (__pthread_attr_getdetachstate):
        Likewise.
        * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize):
        Likewise.
        * nptl/pthread_attr_getinheritsched.c (__pthread_attr_getinheritsched):
        Likewise.
        * nptl/pthread_attr_getschedparam.c (__pthread_attr_getschedparam):
        Likewise.
        * nptl/pthread_attr_getschedpolicy.c (__pthread_attr_getschedpolicy):
        Likewise.
        * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): Likewise.
        * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): Likewise.
        * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr):
        Likewise.
        * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
        Likewise.
        * nptl/pthread_attr_setaffinity.c (__pthread_attr_setaffinity_new):
        Likewise.
        * nptl/pthread_attr_setdetachstate.c (__pthread_attr_setdetachstate):
        Likewise.
        * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize):
        Likewise.
        * nptl/pthread_attr_setinheritsched.c
        (__pthread_attr_setinheritsched): Likewise.
        * nptl/pthread_attr_setschedparam.c (__pthread_attr_setschedparam):
        Likewise.
        * nptl/pthread_attr_setschedpolicy.c (__pthread_attr_setschedpolicy):
        Likewise.
        * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): Likewise.
        * nptl/pthread_attr_setstack.c (__pthread_attr_setstack,
        __old_pthread_attr_setstack): Likewise.
        * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr):
        Likewise.
        * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
        Likewise.
        * nptl/pthread_getattr_default_np.c (pthread_getattr_default_np):
        Likewise.
        * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
        * nptl/pthread_setattr_default_np.c (pthread_setattr_default_np):
        Likewise.
        * nptl/tst-typesizes.c: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit dff91cd45e35e47d567274331f3deb8e87a188c9
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Oct 16 14:27:29 2017 -0200

    nptl: Add tests for internal pthread_mutex_t offsets
    
    This patch adds a new build test to check for internal fields
    offsets for user visible internal field.  Although currently
    the only field which is statically initialized to a non zero value
    is pthread_mutex_t.__data.__kind value, the tests also check the
    offset of __kind, __spins, __elision (if supported), and __list
    internal member.  A internal header (pthread-offset.h) is added
    to each major ABI with the reference value.
    
    Checked on x86_64-linux-gnu and with a build check for all affected
    ABIs (aarch64-linux-gnu, alpha-linux-gnu, arm-linux-gnueabihf,
    hppa-linux-gnu, i686-linux-gnu, ia64-linux-gnu, m68k-linux-gnu,
    microblaze-linux-gnu, mips64-linux-gnu, mips64-n32-linux-gnu,
    mips-linux-gnu, powerpc64le-linux-gnu, powerpc-linux-gnu,
    s390-linux-gnu, s390x-linux-gnu, sh4-linux-gnu, sparc64-linux-gnu,
    sparcv9-linux-gnu, tilegx-linux-gnu, tilegx-linux-gnu-x32,
    tilepro-linux-gnu, x86_64-linux-gnu, and x86_64-linux-x32).
    
        * nptl/pthreadP.h (ASSERT_PTHREAD_STRING,
        ASSERT_PTHREAD_INTERNAL_OFFSET): New macro.
        * nptl/pthread_mutex_init.c (__pthread_mutex_init): Add build time
        checks for internal pthread_mutex_t offsets.
        * sysdeps/aarch64/nptl/pthread-offsets.h
        (__PTHREAD_MUTEX_NUSERS_OFFSET, __PTHREAD_MUTEX_KIND_OFFSET,
        __PTHREAD_MUTEX_SPINS_OFFSET, __PTHREAD_MUTEX_ELISION_OFFSET,
        __PTHREAD_MUTEX_LIST_OFFSET): New macro.
        * sysdeps/alpha/nptl/pthread-offsets.h: Likewise.
        * sysdeps/arm/nptl/pthread-offsets.h: Likewise.
        * sysdeps/hppa/nptl/pthread-offsets.h: Likewise.
        * sysdeps/i386/nptl/pthread-offsets.h: Likewise.
        * sysdeps/ia64/nptl/pthread-offsets.h: Likewise.
        * sysdeps/m68k/nptl/pthread-offsets.h: Likewise.
        * sysdeps/microblaze/nptl/pthread-offsets.h: Likewise.
        * sysdeps/mips/nptl/pthread-offsets.h: Likewise.
        * sysdeps/nios2/nptl/pthread-offsets.h: Likewise.
        * sysdeps/powerpc/nptl/pthread-offsets.h: Likewise.
        * sysdeps/s390/nptl/pthread-offsets.h: Likewise.
        * sysdeps/sh/nptl/pthread-offsets.h: Likewise.
        * sysdeps/sparc/nptl/pthread-offsets.h: Likewise.
        * sysdeps/tile/nptl/pthread-offsets.h: Likewise.
        * sysdeps/x86_64/nptl/pthread-offsets.h: Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit b7fc95f8c8afab296f0e3c29d4effdc68663319c
Author: Florian Weimer <address@hidden>
Date:   Tue Nov 7 12:11:42 2017 +0100

    Move <bits/mman-linux.h> to the Linux sysdeps directory
    
    The header file is no longer used on anything but Linux.

commit 6b86036452b9ac47b4ee7789a50f2f37df7ecc4f
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Nov 7 10:07:48 2017 +0530

    powerpc: Use latest optimization for internal function calls
    
    Update strcasestr-power8 to use power8 version of strnlen for
    calculating length.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit d83da3a4cebcf77e34593b86112dfad332808dae
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 1 11:56:53 2017 -0200

    Optimize sighold implementation
    
    This patch simplifies sighold a bit by removing an extra sigprocmask
    and using SIG_BLOCK (which union of the current set and the set argument).
    
    Checked on x86_64-linux-gnu.
    
        * signal/sighold.c (sighold): Optimize implementation.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Zack Weinberg <address@hidden>

commit 6a4235f129b75ad9963ae93d9f386b8b366cb65a
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 1 11:53:12 2017 -0200

    Cleanup Linux sigqueue implementation
    
    This patch simplify Linux sigqueue implementation by assuming
    __NR_rt_sigqueueinfo existence due minimum kernel requirement
    (it pre-dates Linux git inclusion for Linux 2.6.12).
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Asssume
        __NR_rt_sigqueueinfo.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Zack Weinberg <address@hidden>

commit 8b0e795aaa445e9167aa07b282c5720b35342c07
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Nov 1 11:49:05 2017 -0200

    Simplify Linux sig{timed}wait{info} implementations
    
    This patch simplifies sig{timed}wait{info} by:
    
      - Assuming __NR_rt_sigtimedwait existence on all architectures due minimum
        kernel version requirement (it pre-dates Linux git inclusion for Linux
        2.6.12).
    
      - Call __sigtimedwait on both sigwait and sigwaitinfo.
    
      - Now that sigwait is based on an internal sigtimedwait call and it is
        present of both libc.so and libpthread.so we need to add an external
        private definition of __sigtimedwait for libpthread.so call.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
        __sigtimedwait.
        * sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and
        assume __NR_rt_sigtimedwait.
        * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Call __sigtimedwait
        and add LIBC_CANCEL_HANDLED for cancellation marking.
        * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>
    Reviewed-by: Zack Weinberg <address@hidden>

commit a1a638dda91ed7739a066477908511e53840603b
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Oct 6 12:59:32 2017 -0300

    arm: Implement memchr ifunc selection in C
    
    This patch refactor ARM memchr ifunc selector to a C implementation.
    No functional change is expected, including ifunc resolution rules.
    
    It also reorganize the ifunc options code:
    
      1. The memchr_impl.S is renamed to memchr_neon.S and multiple
         compilation options (which route to armv6t2/memchr one) is
         removed.  The code to build if __ARM_NEON__ is defined is
         also simplified.
    
      2. A memchr_noneon is added (which as build along previous ifunc
         resolution) and includes the armv6t2 direct.
    
      3. Same as 2. for loader object.
    
    Alongside the aforementioned changes, it also some cleanus:
    
      - Internal memchr definition (__GI_memcpy) is now a hidden
        symbol.
      - No need to create hidden definition for the ifunc variants.
    
    Checked on armv7-linux-gnueabihf and with a build for arm-linux-gnueabi,
    arm-linux-gnueabihf with and without multiarch support and with both
    GCC 7.1 and GCC mainline.
    
        * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string]
        (sysdeps_routines): Add memchr_noneon.
        * sysdeps/arm/armv7/multiarch/ifunc-memchr.h: New file.
        * sysdeps/arm/armv7/multiarch/memchr_noneon.S: Likewise.
        * sysdeps/arm/armv7/multiarch/rtld-memchr.S: Likewise.
        * sysdeps/arm/armv7/multiarch/memchr.S: Remove file.
        * sysdeps/arm/armv7/multiarch/memchr.c: New file.
        * sysdeps/arm/armv7/multiarch/memchr_impl.S: Move to ...
        * sysdeps/arm/armv7/multiarch/memchr_neon.S: ... here.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit 802c1f1645d626c1297246d62f5586734686a128
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Oct 4 17:44:08 2017 -0300

    arm: Implement memcpy ifunc selection in C
    
    This patch refactor ARM memcpy ifunc selector to a C implementation.
    No functional change is expected, including ifunc resolution rules.
    
    It also adds some cleanup:
    
      - Internal memcpy hidden definition (__GI_memcpy) is now a hidden
        symbol.
    
      - No need to create hidden definition for the ifunc variants.
    
    Checked on armv7-linux-gnueabihf and with a build for arm-linux-gnueabi,
    arm-linux-gnueabihf with and without multiarch support and with both
    GCC 7.1 and GCC mainline.  I also checked with the some possible
    multiarch different configurations that trigger different memcpy
    buids (__ARM_NEON__ && !__SOFT_FP__, !__ARM_NEON__ && !__SOFT_FP__, and
    !__ARM_NEON__ && __SOFT_FP__).
    
        * sysdeps/arm/arm-ifunc.h: New file.
        * sysdeps/arm/armv7/multiarch/ifunc-memcpy.h: Likewise.
        * sysdeps/arm/armv7/multiarch/memcpy.c: Likewise.
        * sysdeps/arm/armv7/multiarch/memcpy_arm.S: Likewise.
        * sysdeps/arm/armv7/multiarch/rtld-memcpy.S: Likewise.
        * sysdeps/arm/armv7/multiarch/memcpy_neon.S [!__ARM_NEON__]
        (__memcpy_neon): Avoid create hidden alias.
        * sysdeps/arm/armv7/multiarch/memcpy_vfp.S [!__ARM_NEON_]
        (__memcpy_vfp): Likewise.
        * sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string]
        (sysdep_routines): Add memcpy_arm.
        * sysdeps/arm/armv7/multiarch/memcpy.S: Remove file.
    
    Signed-off-by: Adhemerval Zanella <address@hidden>

commit abcb584d0eae7270b35e1b3fed1f9661e26b8be0
Author: H.J. Lu <address@hidden>
Date:   Mon Nov 6 08:29:48 2017 -0800

    Use newly built crt*.o files to build shared objects [BZ #22362]
    
    When multi-lib GCC is used to build glibc, the search order of GCC driver
    for crt*.o is -B*/`gcc -print-multi-directory`, the installed diretory,
    -B*/.  This patch adds multi-lib support to csu/Makefile so that
    -B/glibc-build-directory/csu/ will pick up the newly built crt*.o.
    
    Tested on x86-64 for i686 and x32.
    
        [BZ #22362]
        * Makerules (make-link-multidir): New.
        * config.make.in (multidir): New.
        * configure.ac (libc_cv_multidir): New.  AC_SUBST.
        * configure: Regenerated.
        * csu/Makefile [$(multidir) != .](multilib-extra-objs): New.
        [$(multidir) != .](extra-objs): Add $(multilib-extra-objs).
        [$(multidir) != .]($(addprefix $(objpfx)$(multidir)/, $(install-lib))):
        New target.

commit 4e2dff67beeb063cb36fe100d9d2b3f2f88d80c6
Author: Joseph Myers <address@hidden>
Date:   Mon Nov 6 13:26:15 2017 +0000

    Do not declare _Float128 support for powerpc64le -mlong-double-64 (bug 
22402).
    
    The powerpc bits/floatn.h declares _Float128 support to be present
    when the compiler supports it for powerpc64le.  However, in the case
    where -mlong-double-64 is used, __MATH_TG does not actually support
    _Float128; it only supports _Float128 in the distinct-long-double
    case.
    
    This shows up as a build failure when building glibc mainline with GCC
    mainline, given the recently added sanity check in math.h for
    configurations supported by __MATH_TG, as the compat code for
    -mlong-double-64 fails to build.  However, the bug was logically
    present before that change (including in 2.26), just less visible.
    
    This patch fixes the build failure by declaring _Float128 to be
    unsupported in that case.  (Of course this can't actually stop users
    calling the type-generic macros with _Float128 arguments with
    -mlong-double-64, just as they could be called with other unsupported
    types on other platforms, but perhaps makes it less likely by making
    all the type-specific _Float128 interfaces invisible in that case.)
    
    Tested compilation for powerpc64le with build-many-glibcs.py.
    
        [BZ #22402]
        * sysdeps/powerpc/bits/floatn.h: Include <bits/long-double.h>.
        [__NO_LONG_DOUBLE_MATH] (__HAVE_FLOAT128): Define to 0.

commit a1c7cd3c72e5002739161ba35c90944b3ad05c9f
Author: Mike FABIAN <address@hidden>
Date:   Sat Nov 4 14:57:13 2017 +0100

    tpi_PG locale: Fix wrong d_fmt

commit b9af29c02074a9b7de5a31bc347f8e327caff926
Author: Florian Weimer <address@hidden>
Date:   Sat Nov 4 00:57:19 2017 +0100

    manual: Document the O_TMPFILE flag
    
    Reviewed-by: Jonathan Nieder <address@hidden>

commit 4ca70e1a2bb266756692ebfd0a757a960bc8796c
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 3 23:50:00 2017 +0000

    Handle more _FloatN, _FloatNx types in __MATH_TG.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch prepares __MATH_TG to handle more such types.
    
    Various unhandled cases, which do not correspond to any current glibc
    configuration, have explicit #errors added.  _Float32 and _Float64x
    are then handled appropriately in the _Generic case, which is the only
    one, other than the cases where use of sizeof is sufficient, where
    they should ever be explicit types at the language level instead of
    typedefs.  There is no need to handle _Float64 or _Float32x explicitly
    there because the default case calling a double function is correct
    for those types.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_DISTINCT_FLOAT16
        || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64
        || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X
        || __HAVE_DISTINCT_FLOAT128X]: Use #error.
        [__NO_LONG_DOUBLE_MATH && __HAVE_DISTINCT_FLOAT128]: Likewise.
        [__HAVE_DISTINCT_FLOAT128 && !__HAVE_GENERIC_SELECTION
        && __HAVE_FLOATN_NOT_TYPEDEF]: Likewise.
        [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION]
        (__MATH_TG_F32): New macro.
        [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION]
        (__MATH_TG_F64X): Likewise.
        [__HAVE_DISTINCT_FLOAT128 && __HAVE_GENERIC_SELECTION]
        (__MATH_TG): Use __MATH_TG_F32 and __MATH_TG_F64X.

commit ba0e6668f4630745378ac7b28732fad785806548
Author: Dmitry V. Levin <address@hidden>
Date:   Fri Nov 3 23:19:36 2017 +0000

    Update translations from the Translation Project
    
    * po/de.po: Update translations.
    * po/ru.po: Likewise.

commit bc18a6d36267cfb221a008490db290988fe04671
Author: Florian Weimer <address@hidden>
Date:   Fri Nov 3 22:31:54 2017 +0100

    manual: Document the linkat function
    
    Reviewed-by: Jonathan Nieder <address@hidden>

commit 86ec486597056f93ebc215fc6a7f3bf5431d91f1
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 3 21:11:50 2017 +0000

    Handle more _FloatN, _FloatNx types in tgmath.h.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch improves how <tgmath.h> handles such types.
    
    Use of #error is added for cases of distinct types that are not
    supported by the header, to indicate that additional work on the
    header would be needed if, for example, _Float16 support were added to
    glibc.  Given that #error, types with the same format as other types
    are handled automatically by the sizeof-based logic, so the only case
    needing special handling is that where _Float64x exists, has the same
    format as _Float128, does not have the same format as long double, and
    is not a typedef for _Float128.  In this case (which will apply for
    powerpc64le once _Float64x support is added to glibc), the
    __builtin_types_compatible_p calls testing for _Float128 need
    corresponding calls testing for _Float64x, which this patch adds.
    
    Tested for x86_64.
    
        * math/tgmath.h [__HAVE_DISTINCT_FLOAT16
        || __HAVE_DISTINCT_FLOAT32 || __HAVE_DISTINCT_FLOAT64
        || __HAVE_DISTINCT_FLOAT32X || __HAVE_DISTINCT_FLOAT64X
        || __HAVE_DISTINCT_FLOAT128X]: Use #error.
        [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
        && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_F128): Handle _Float64x
        the same as _Float128.
        [__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
        && __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
        && __HAVE_FLOATN_NOT_TYPEDEF] (__TGMATH_CF128): Likewise.

commit 9725517070c1dda41aa3676cf1cf61daa527e14e
Author: Joseph Myers <address@hidden>
Date:   Fri Nov 3 17:09:21 2017 +0000

    Declare strtof, strfromf functions for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch arranges for <stdlib.h> to declare strtof and
    strfromf functions for all such types, similarly to the declarations
    already present for _Float128.
    
    Tested for x86_64.
    
        * stdlib/stdlib.h
        [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof16):
        Declare.
        [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof32):
        Likewise.
        [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (strtof64):
        Likewise.
        [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strtof32x): Likewise.
        [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strtof64x): Likewise.
        [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strtof128x): Likewise.
        [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf16): Likewise.
        [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf32): Likewise.
        [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf64): Likewise.
        [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf32x): Likewise.
        [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf64x): Likewise.
        [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (strfromf128x): Likewise.
        [__USE_GNU && __HAVE_FLOAT16] (strtof16_l): Likewise.
        [__USE_GNU && __HAVE_FLOAT32] (strtof32_l): Likewise.
        [__USE_GNU && __HAVE_FLOAT64] (strtof64_l): Likewise.
        [__USE_GNU && __HAVE_FLOAT32X] (strtof32x_l): Likewise.
        [__USE_GNU && __HAVE_FLOAT64X] (strtof64x_l): Likewise.
        [__USE_GNU && __HAVE_FLOAT128X] (strtof128x_l): Likewise.

commit 6d58ce5e5072945d44f2dba83ad16cd6febd056c
Author: Richard Henderson <address@hidden>
Date:   Fri Nov 3 16:38:16 2017 +0000

    aarch64: Guess L1 cache linesize for aarch64
    
    Using the cache hierarchy linesize minimum in CTR_EL0.
    See the comment within the code for rationale.
    
        * sysdeps/unix/sysv/linux/aarch64/sysconf.c: New file.

commit 659ca267360e1c1f64eea9205bb81cb5e9049908
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Oct 24 17:49:14 2017 +0100

    aarch64: optimize _dl_tlsdesc_dynamic fast path
    
    Remove some load/store instructions from the dynamic tlsdesc resolver
    fast path.  This gives around 20% faster tls access in dlopened shared
    libraries (assuming glibc ran out of static tls space).
    
        * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Optimize.

commit 94d2f0af157d8c02e688a315039f8044aedbcc89
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Oct 20 17:53:44 2017 +0100

    arm: Remove lazy tlsdesc initialization related code
    
    Lazy tlsdesc initialization is no longer used in the dynamic linker
    so all related code can be removed.
    
        * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Remove
        DT_TLSDESC_GOT initialization.
        * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_lazy_resolver): Remove.
        (_dl_tlsdesc_resolve_hold): Likewise.
        * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_lazy_resolver): Remove.
        (_dl_tlsdesc_resolve_hold): Likewise.
        * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_lazy_resolver_fixup): Remove.
        (_dl_tlsdesc_resolve_hold_fixup): Likewise.

commit 28e1ddf340e205cd8e1eff58e92957318c6e9966
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Oct 20 17:44:18 2017 +0100

    arm: Remove unnecessary volatile qualifier
    
    There is no reason to treat tlsdesc entries as volatile objects.
    
        * sysdeps/arm/dl-machine.h (elf_machine_rel): Remove volatile.

commit 0ca3d1d6d096e222346c74601d50e9013c8bb25d
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Oct 20 17:35:12 2017 +0100

    [BZ #18572] arm: Disable lazy initialization of tlsdesc entries
    
    Follow up to
    https://sourceware.org/ml/libc-alpha/2015-11/msg00272.html
    
    Always do tls descriptor initialization at load time during relocation
    processing (as if DF_BIND_NOW were set for the binary) to avoid barriers
    at every tls access.  This patch mimics bind-now semantics in the lazy
    relocation code of the arm target (elf_machine_lazy_rel).
    
    Ideally the static linker should be updated too to not emit tlsdesc
    relocs in DT_REL*, so elf_machine_lazy_rel is not called on them at all.
    
        [BZ #18572]
        * sysdeps/arm/dl-machine.h (elf_machine_lazy_rel): Do symbol binding
        non-lazily for R_ARM_TLS_DESC.

commit 2c1d4e5fe4e722e0b747d6bddd7ce3a6b1766c52
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Oct 20 17:10:50 2017 +0100

    [BZ #17078] arm: remove prelinker support for R_ARM_TLS_DESC
    
    This patch reverts
    
    commit 9c82da17b5794efebe005de2fd22d61a3ea4b58a
    Author: Maciej W. Rozycki <address@hidden>
    Date:   2014-07-17 19:22:05 +0100
    
        [BZ #17078] ARM: R_ARM_TLS_DESC prelinker support
    
    This only implemented support for the lazy binding case (and thus
    closed the bugzilla ticket prematurely), however tlsdesc on arm is
    not correct with lazy binding because there is a data race between
    the lazy initialization code and tlsdesc resolver functions.
    
    Lazy initialization of tlsdesc entries will be removed from arm to
    fix the data races and thus this half-finished prelinker support
    is no longer useful.
    
        [BZ #17078]
        * sysdeps/arm/dl-machine.h (elf_machine_rela): Remove the
        R_ARM_TLS_DESC case.
        (elf_machine_lazy_rel): Remove the prelink check.

commit 91c5a366d8d398d2fc4542f961c93058a92ade6f
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 27 18:14:21 2017 +0100

    aarch64: Remove barriers from TLS descriptor functions
    
    Remove ldar synchronization and most lazy TLSDESC initialization
    related code.
    
        * sysdeps/aarch64/dl-machine.h (elf_machine_runtime_setup): Remove
        DT_TLSDESC_GOT initialization.
        * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Remove.
        (_dl_tlsdesc_resolve_rela): Likewise.
        (_dl_tlsdesc_resolve_hold): Likewise.
        (_dl_tlsdesc_undefweak): Remove ldar.
        (_dl_tlsdesc_dynamic): Likewise.
        * sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_return_lazy): Remove.
        (_dl_tlsdesc_resolve_rela): Likewise.
        (_dl_tlsdesc_resolve_hold): Likewise.
        * sysdeps/aarch64/tlsdesc.c (_dl_tlsdesc_resolve_rela_fixup): Remove.
        (_dl_tlsdesc_resolve_hold_fixup): Likewise.
        (_dl_tlsdesc_resolve_rela): Likewise.
        (_dl_tlsdesc_resolve_hold): Likewise.

commit b7cf203b5c17dd6d9878537d41e0c7cc3d270a67
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 27 16:55:14 2017 +0100

    aarch64: Disable lazy symbol binding of TLSDESC
    
    Always do TLS descriptor initialization at load time during relocation
    processing to avoid barriers at every TLS access. In non-dlopened shared
    libraries the overhead of tls access vs static global access is > 3x
    bigger when lazy initialization is used (_dl_tlsdesc_return_lazy)
    compared to bind-now (_dl_tlsdesc_return) so the barriers dominate tls
    access performance.
    
    TLSDESC relocs are in DT_JMPREL which are processed at load time using
    elf_machine_lazy_rel which is only supposed to do lightweight
    initialization using the DT_TLSDESC_PLT trampoline (the trampoline code
    jumps to the entry point in DT_TLSDESC_GOT which does the lazy tlsdesc
    initialization at runtime).  This patch changes elf_machine_lazy_rel
    in aarch64 to do the symbol binding and initialization as if DF_BIND_NOW
    was set, so the non-lazy code path of elf/do-rel.h was replicated.
    
    The static linker could be changed to emit TLSDESC relocs in DT_REL*,
    which are processed non-lazily, but the goal of this patch is to always
    guarantee bind-now semantics, even if the binary was produced with an
    old linker, so the barriers can be dropped in tls descriptor functions.
    
    After this change the synchronizing ldar instructions can be dropped
    as well as the lazy initialization machinery including the DT_TLSDESC_GOT
    setup.
    
    I believe this should be done on all targets, including ones where no
    barrier is needed for lazy initialization.  There is very little gain in
    optimizing for large number of symbolic tlsdesc relocations which is an
    extremely uncommon case.  And currently the tlsdesc entries are only
    readonly protected with -z now and some hardennings against writable
    JUMPSLOT relocs don't work for TLSDESC so they are a security hazard.
    (But to fix that the static linker has to be changed.)
    
        * sysdeps/aarch64/dl-machine.h (elf_machine_lazy_rel): Do symbol
        binding and initialization non-lazily for R_AARCH64_TLSDESC.

commit 0cc5b022f817eeaa81735ae58717b5dabae92941
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Oct 23 12:15:40 2017 +0100

    Mark lazy tlsdesc helper functions unused to avoid warnings
    
    These static functions are not needed if a target does not do lazy
    tlsdesc initialization.
    
        * elf/tlsdeschtab.h (_dl_tls_resolve_early_return_p): Mark unused.
        (_dl_tlsdesc_wake_up_held_fixups): Likewise.

commit 43ddff2e364c69847f5f698f6a43f9dde328b76a
Author: Joseph Myers <address@hidden>
Date:   Thu Nov 2 23:36:00 2017 +0000

    Declare wcstof functions for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch arranges for <wchar.h> to declare wcstof functions
    for all such types, similarly to the declarations already present for
    _Float128.
    
    Tested for x86_64.
    
        * wcsmbs/wchar.h [__HAVE_FLOAT16 && __USE_GNU] (wcstof16):
        Declare.
        [__HAVE_FLOAT32 && __USE_GNU] (wcstof32): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (wcstof64): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x): Likewise.
        [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (wcstof16_l): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (wcstof32_l): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (wcstof64_l): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (wcstof32x_l): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (wcstof64x_l): Likewise.
        [__HAVE_FLOAT128X && __USE_GNU] (wcstof128x_l): Likewise.

commit 5baac970a8fee1dd9ddb8d1af2af79a09a85abcc
Author: Mike FABIAN <address@hidden>
Date:   Thu Nov 2 13:21:01 2017 +0100

    tpi_PG locale: fix syntax error [BZ #22382]
    
        [BZ #22382]
        * localedata/locales/tpi_PG (LC_TIME): Fix syntax error.
        * localedata/locales/tpi_PG: Add standard header.

commit ef11081fed788f65aa2361c0df49e7a9fd2903d7
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 2 13:55:51 2017 +0100

    test-errno-linux: quotactl can fail with EPERM in containers
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit d10b132bf5393e648a1c64569746c8e886d50702
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 2 12:14:51 2017 +0100

    stdio-common: Use array_length and array_end macros

commit c94a5688fb1228a862b2d4a3f1239cdc0e3349e5
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 2 12:14:01 2017 +0100

    <array_length.h>: New array_length and array_end macros

commit 067f5d97b37216eb26ffe7bfdefd0da9b0425b68
Author: Rafal Luzynski <address@hidden>
Date:   Thu Nov 2 12:37:59 2017 +0100

    Fix ChangeLog typo
    
    It's been confirmed by the original author: "01-31" should be "10-31".

commit 2fac6a6cd50c22ac28c97d0864306594807ade3e
Author: Florian Weimer <address@hidden>
Date:   Thu Nov 2 11:06:45 2017 +0100

    posix/tst-glob-tilde.c: Add test for bug 22332

commit 260fbd0a394fec9aabe5cfa24272f33723cb355c
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 1 23:42:31 2017 +0000

    Include bits/cmathcalls.h for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch arranges for <bits/cmathcalls.h> to be included by
    <complex.h> for each such type under conditions and with macros
    defined corresponding to those used for _Float128.
    
    Tested for x86_64.
    
        * math/complex.h
        [(__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Include <bits/cmathcalls.h>
        with appropriate macros defined and undefined.
        [(__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
        [(__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
        [(__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
        [(__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.
        [(__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Likewise.

commit 2f1b212e54b280a2dc05b809922ae25d8071da74
Author: Joseph Myers <address@hidden>
Date:   Wed Nov 1 17:03:58 2017 +0000

    Clean up complex.h handling of float128.
    
    This patch cleans up the way complex.h handles inclusion of
    bits/cmathcalls.h for float128.  The inclusion was between those for
    the types float and long double; the patch moves it after that for
    long double, matching how bits/mathcalls.h and bits/math-finite.h
    inclusions are ordered.  There is no need for the undefine and define
    of _Mdouble_complex_ to be conditional, since __CFLOAT128 is always
    defined by bits/floatn.h when _Float128 is supported, so the patch
    removes the unnecessary conditionals.
    
    Tested for x86_64.
    
        * math/complex.h
        [(__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !LIBC))
        && __GLIBC_USE (IEC_60559_TYPES_EXT)]: Move conditional code after
        that for long double.  Do not condition define and undefine of
        _Mdouble_complex_ on [__CFLOAT128].

commit 95b93c6e0d7bf0321f265cf6e85c7fb4417cbda6
Author: H.J. Lu <address@hidden>
Date:   Wed Nov 1 05:37:10 2017 -0700

    x86: Add sysdeps/x86/sysdep.h
    
    Add a new header file, sysdeps/x86/sysdep.h, for common assembly code
    macros between i386 and x86-64.  Tested on i686 and x86-64.  There are
    no differences in outputs of "readelf -a" and "objdump -dw" on all glibc
    shared objects before and after the patch.
    
        * sysdeps/i386/sysdep.h: Include <sysdeps/x86/sysdep.h> instead
        of <sysdeps/generic/sysdep.h>.
        (ALIGNARG): Removed.
        (ASM_SIZE_DIRECTIVE): Likewise.
        (ENTRY): Likewise.
        (END): Likewise.
        (ENTRY_CHK): Likewise.
        (END_CHK): Likewise.
        (syscall_error): Likewise.
        (mcount): Likewise.
        (PSEUDO_END): Likewise.
        (L): Likewise.
        (atom_text_section): Likewise.
        * sysdeps/x86/sysdep.h: New file.
        * sysdeps/x86_64/sysdep.h: Include <sysdeps/x86/sysdep.h> instead
        of <sysdeps/generic/sysdep.h>.
        (ALIGNARG): Removed.
        (ASM_SIZE_DIRECTIVE): Likewise.
        (ENTRY): Likewise.
        (END): Likewise.
        (ENTRY_CHK): Likewise.
        (END_CHK): Likewise.
        (syscall_error): Likewise.
        (mcount): Likewise.
        (PSEUDO_END): Likewise.
        (L): Likewise.
        (atom_text_section): Likewise.

commit 1bb3653925eae1226cd18a3d700371291850b20f
Author: Rafal Luzynski <address@hidden>
Date:   Thu Oct 26 22:12:23 2017 +0200

    localedata: Once again correct and regenerate i18n_ctype.
    
    Following the previous work by Carlos O'Donell the category of LC_CTYPE
    is correctly set to "i18n:2012" rather than "unicode:2014" and the
    i18n_ctype file is once again regenerated from scratch to make sure it
    does not contain any manual additions except the copyright message.
    
    Reviewed-by: Carlos O'Donell <address@hidden>
    
        * localedata/unicode-gen/gen_unicode_ctype.py (output_head):
        category of LC_CTYPE set to "i18n:2012".
        * localedata/locales/i18n_ctype: Regenerate.

commit 87bbc4cf1e95400e17670a38684c041319c3187b
Author: Yury Norov <address@hidden>
Date:   Tue Oct 31 15:31:40 2017 -0200

    Remove useless #ifdefs from Linux sig*.c  syscalls
    
    sigprocmask.c, sigtimedwait.c, sigwait.c and sigwaitinfo.c files from
    sysdeps/unix/sysv/linux include nptl-signals.h via nptl/pthreadP.h,
    and so SIGCANCEL and SIGSETXID become defined unconditionally. But
    later in the code, there are some checks weither symbols defined,
    which is useless. This patch removes useless checks.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/sigprocmask.c: Remove useless #ifdefs.
        * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
        * sysdeps/unix/sysv/linux/sigwait.c: Likewise.
        * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
    
    Signed-off-by: Yury Norov <address@hidden>
    Reviewed-by: Andreas Schwab <address@hidden>
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit e8681faa01e782800aa44acd0f13b191aca13c81
Author: Yury Norov <address@hidden>
Date:   Tue Oct 31 15:28:42 2017 -0200

    Consolidate Linux sigpending() implementation
    
    ia64, s390-64, sparc64 and x86_64 host their own implementation of
    sigpending() in corresponding files, but they are identical to generic
    linux file despite few comments. This patch removes that files, so the
    implementation of sigpending() is taken from sysdeps/unix/sysv/linux
    for all ports.
    
    Build-tested on x86_64.
    
        * sysdeps/unix/sysv/linux/ia64/sigpending.c: Remove file.
        * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigpending.c: Likewise.
    
    Signed-off-by: Yury Norov <address@hidden>
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit 43e662837ca64a5141a5ebbb2d6f9d15513524d7
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 31 17:04:30 2017 +0000

    Define CMPLX macros for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch defines CMPLX* macros for all such types, as
    already done for _Float128.
    
    Tested for x86_64.
    
        * math/complex.h
        [__HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF16):
        New macro.
        [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF32):
        Likewise.
        [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (CMPLXF64):
        Likewise.
        [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (CMPLXF32X): Likewise.
        [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (CMPLXF64X): Likewise.
        [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (CMPLXF128X): Likewise.

commit 540af6e2f172a016719d3970433b9f6aeb0097f6
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 31 16:01:51 2017 +0000

    Adjust __MATH_EVAL_FMT2 definition to handle _Float16 better.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch adds an additional case in the definition of
    __MATH_EVAL_FMT2, as used in defining iseqsig: when
    __FLT_EVAL_METHOD__ is 0 or 32, it adds 0.0f to the arguments, so that
    the correct function would be selected in the case of _Float16
    arguments with excess precision (were glibc to support _Float16, which
    of course __MATH_TG and other facilities do not at present - and
    _Float16 support is not part of what this patch series is aiming for,
    but this particular fix is simple so is included anyway).
    
    Tested for x86_64.
    
        * math/math.h
        [__FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 32]
        (__MATH_EVAL_FMT2): Define to add 0.0f.

commit 58af72b4e29d6e3bab230d10e42b1c74a8e5d7ab
Author: Alan Modra <address@hidden>
Date:   Tue Oct 24 08:47:54 2017 +1030

    [PowerPC64] sysdep.h doesn't need to be included in multiarch files
    
    When the .c/.S file neither uses nor modifies macros defined in
    sysdep.h there is no point to #include it.  The same goes for
    math_ldbl_opt.h except that it includes shlib-compat.h, and if
    compat_symbol is redefined we need to include shlib-compat.h first.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-power8.S: Don't
        include sysdep.h.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_cosf-ppc64.c: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_sinf-ppc64.c: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memchr-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-cell.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-power4.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-power6.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/mempcpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memrchr-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memset-power4.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memset-power6.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memset-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/memset-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpcpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strchr-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strchr-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strchrnul-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strcspn-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strlen-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncase-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strnlen-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strrchr-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strrchr-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strspn-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Likewise.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: Don't
        include sysdep.h and math_ldbl_opt.h.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: Don't
        include sysdep.h and math_ldbl_opt.h.  Include shlib-compat.h.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: Likewise.

commit 112f30b3f143af84fa4b0a9dd460b0d934483533
Author: Alan Modra <address@hidden>
Date:   Tue Oct 24 20:36:05 2017 +1030

    [PowerPC64] strncase_l-power7.c should use strncase_l.c
    
    This is another one where we'll be wanting the base symbols for
    powerpc64le rather than just a power7 variant.
    
        * sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c: Include
        string/strncase_l.c, not string/strncase.c.
        (USE_IN_EXTENDED_LOCALE_MODEL): Don't define.
        (libc_hidden_def): Redefine.

commit e9e7eced0189c4abb71b5f83bfd5cbcc1202ab1c
Author: Alan Modra <address@hidden>
Date:   Tue Oct 24 20:24:59 2017 +1030

    [PowerPC64] Tidy strcasecmp_l-power7.S symbols
    
    The routine being assembled here is strcasecmp_l, so ask for that via
    __STRCMP and STRCMP defines.  That change means tweaking the power7
    override.  Needed for later powerpc64le changes where we want the base
    symbols, not just a power7 variant.
    
        * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S:
        (__STRCMP, STRCMP, __strcasecmp_l): Define.
        (__strcasecmp): Don't define.

commit f7b465cfcbea9ecb72796e69dd11df7fb51230eb
Author: Alan Modra <address@hidden>
Date:   Tue Oct 24 20:31:16 2017 +1030

    [PowerPC64] Wrap str{,n}cmp-power{8,9}.S in IS_IN(libc)
    
    These functions aren't used in ld.so at the moment since we don't have
    strcmp or strncmp ifuncs for them there.  Remove the ld.so bloat.
    
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-power8.S: Wrap in
        IS_IN (libc).
        * sysdeps/powerpc/powerpc64/multiarch/strcmp-power9.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power8.S: Likewise.
        * sysdeps/powerpc/powerpc64/multiarch/strncmp-power9.S: Likewise.

commit d46b09f9880b0365d98e9e0bcf7fb33dec417f54
Author: Alan Modra <address@hidden>
Date:   Tue Oct 24 20:20:54 2017 +1030

    [PowerPC64] Remove duplicate define in stpncpy-power8.S
    
    USE_AS_STPNCPY is defined by sysdeps/powerpc/powerpc64/power8/stpncpy.S,
    included by this file.
    
        * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Don't define
        USE_AS_STPNCPY.

commit e9b8e1941990553b122f0ef0cde2c290d57d7682
Author: Alan Modra <address@hidden>
Date:   Mon Oct 23 17:27:30 2017 +1030

    [PowerPC64] Don't define __GI_ variant of isnan for static lib
    
    It seems to me that libc.a should not contain any of the __GI_
    symbols, and certainly --enable-multi-arch ought to not add to the
    list.  At the end of this patch series we have the following in both
    --enable-multi-arch and --disable-multi-arch libc.a:
    0000000000000000 T __GI___readdir64
    0000000000000000 T __GI___fxstatat64
    0000000000000000 T __GI_getrlimit
    0000000000000000 T __GI___getrlimit
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S (hidden_def):
        Redefine only when SHARED.

commit b61afe8c813e80aa7766c325023743fef4464807
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 30 22:15:40 2017 +0000

    Include bits/math-finite.h for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch extends the includes of <bits/math-finite.h> to
    cover all such types, under conditions analogous to those for
    _Float128.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]:
        Include <bits/math-finite.h> with appropriate macros defined and
        undefined.
        [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise.

commit eda162dd8a7d2ca0b1900aa57a78b9586800b4ec
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 30 20:58:51 2017 +0000

    Remove _Mlong_double_ etc. macros.
    
    math.h has a macro _Mlong_double_ for the type to use when declaring
    long double functions, and similar macros for other types.
    math/Makefile uses -D_Mlong_double_=double in the case of long double
    having the same ABI as double.
    
    This originates with:
    
    Mon Jul  8 13:37:40 1996  Roland McGrath  <address@hidden>
    
            * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff 
not
            already defined to float, long double.  Use those macros for 
_Mdouble_
            defns when including mathcalls.h.
            * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append
            -D_Mlong_double_=double.
    
    However, math.h stopped declaring long double functions in the case of
    long double having the same ABI as double (and thus probably stopped
    actually needing the Makefile definition of _Mlong_double_) with:
    
    1998-11-05  Ulrich Drepper  <address@hidden>
    
            * math/math.h: Unconditionally include bits/mathdef.h.  Declare
            long double functions only if __NO_LONG_DOUBLE_MATH is not
            defined.
            * sysdeps/generic/bits/mathdef.h: Define only if __USE_ISOC9X.
            Define __NO_LONG_DOUBLE_MATH.
            * sysdeps/m68k/fpu/bits/mathdef.h: Define only if __USE_ISOC9X.
            * sysdeps/i386/fpu/bits/mathdef.h: Likewise.
    
    The declarations were since restored for compiling user code, but
    remain absent when _LIBC is defined, which is sufficient to avoid
    problems declaring function aliases of incompatible types.  Thus the
    indirection through the _Mlong_double_ macro is not needed (probably
    since that 1998 patch), and this patch removes _Mlong_double_ and
    associated macros for other types, leaving only the macro _Mdouble_
    which is actually used as the type for which a given inclusion of
    <bits/mathcalls.h> should declared functions.
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by this patch.
    
        * math/math.h [!_Mfloat_] (_Mfloat_): Do not define.
        [!_Mlong_double_] (_Mlong_double_): Likewise.
        [!_Mfloat16_] (_Mfloat16_): Likewise.
        [!_Mfloat32_] (_Mfloat32_): Likewise.
        [!_Mfloat64_] (_Mfloat64_): Likewise.
        [!_Mfloat128_] (_Mfloat128_): Likewise.
        [!_Mfloat32x_] (_Mfloat32x_): Likewise.
        [!_Mfloat64x_] (_Mfloat64x_): Likewise.
        [!_Mfloat128x_] (_Mfloat128x_): Likewise.
        (_Mdouble_): Define without indirection through those macros.
        * math/complex.h [!_Mfloat_] (_Mfloat_): Do not define.
        [!_Mfloat128_] (_Mfloat128_): Likewise.
        [_Mlong_double_] (_Mlong_double_): Likewise.
        (_Mdouble_): Define without indirection through those macros.
        * math/Makefile [$(long-double-fcts) != yes] (math-CPPFLAGS): Do
        not add -D_Mlong_double_=double.
        * include/math.h [_ISOMAC] (_Mlong_double_): Do not undefine.
        * math/test-signgam-finite-c99.c (_Mlong_double_): Likewise.

commit 4ad5106e3b04cc7630f7dbfdb25369807f532843
Author: H.J. Lu <address@hidden>
Date:   Mon Oct 30 13:39:31 2017 -0700

    sysdeps/x86/libc-start.c: Add /* !SHARED */
    
        * sysdeps/x86/libc-start.c: Add /* !SHARED */.

commit fe326df7b0d0ded94519d3a86080a6568678e09c
Author: H.J. Lu <address@hidden>
Date:   Mon Oct 30 13:01:18 2017 -0700

    Reformat sysdeps/x86/libc-start.c
    
        * sysdeps/x86/libc-start.c: Reformat.

commit c5cc45148c89cc5c57d1946348dd242d4db5c5f5
Author: H.J. Lu <address@hidden>
Date:   Mon Oct 30 10:02:16 2017 -0700

    i586: Use conditional branches in strcpy.S [BZ #22353]
    
    i586 strcpy.S used a clever trick with LEA to implement jump table:
    
    /* ECX has the last 2 bits of the address of source - 1.  */
        andl    $3, %ecx
    
            call    2f
    2:      popl    %edx
        /* 0xb is the distance between 2: and 1:.  */
            leal    0xb(%edx,%ecx,8), %ecx
            jmp     *%ecx
    
            .align 8
    1:  /* ECX == 0 */
            orb     (%esi), %al
            jz      L(end)
            stosb
            xorl    %eax, %eax
            incl    %esi
        /* ECX == 1 */
            orb     (%esi), %al
            jz      L(end)
            stosb
            xorl    %eax, %eax
            incl    %esi
        /* ECX == 2 */
            orb     (%esi), %al
            jz      L(end)
            stosb
            xorl    %eax, %eax
            incl    %esi
        /* ECX == 3 */
    L(1):   movl    (%esi), %ecx
            leal    4(%esi),%esi
    
    This fails if there are instruction length changes before L(1):.  This
    patch replaces it with conditional branches:
    
        cmpb    $2, %cl
        je      L(Src2)
        ja      L(Src3)
        cmpb    $1, %cl
        je      L(Src1)
    
    L(Src0):
    
    which have similar performance and work with any instruction lengths.
    
    Tested on i586 and i686 with and without --disable-multi-arch.
    
        [BZ #22353]
        * sysdeps/i386/i586/strcpy.S (STRCPY): Use conditional branches.
        (1): Renamed to ...
        (L(Src0)): This.
        (L(Src1)): New.
        (L(Src2)): Likewise.
        (L(1)): Renamed to ...
        (L(Src3)): This.

commit ce12269fac8cb873df1a8785e4a6cde870855590
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 30 16:42:28 2017 +0000

    Add _FloatN, _FloatNx M_* constants.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch adds M_* constants for such types.  The decimal
    expansions used are all the same as used for _Float128; there's no
    need to reduce the precision used.  In the case of _Float128x, #error
    is used because the constants would need additional precision, but how
    much is needed would depend on the actual _Float128x format used, so
    it's not possible to add header support simply as part of code that
    handles all _FloatN / _FloatNx types similarly.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_FLOAT16 && __USE_GNU] (M_Ef16): New macro.
        [__HAVE_FLOAT16 && __USE_GNU] (M_LOG2Ef16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_LOG10Ef16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_LN2f16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_LN10f16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_PIf16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_PI_2f16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_PI_4f16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_1_PIf16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_2_PIf16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_2_SQRTPIf16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT2f16): Likewise.
        [__HAVE_FLOAT16 && __USE_GNU] (M_SQRT1_2f16): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_Ef32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_LOG2Ef32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_LOG10Ef32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_LN2f32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_LN10f32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_PIf32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_PI_2f32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_PI_4f32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_1_PIf32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_2_PIf32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_2_SQRTPIf32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT2f32): Likewise.
        [__HAVE_FLOAT32 && __USE_GNU] (M_SQRT1_2f32): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_Ef64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_LOG2Ef64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_LOG10Ef64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_LN2f64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_LN10f64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_PIf64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_PI_2f64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_PI_4f64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_1_PIf64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_2_PIf64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_2_SQRTPIf64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT2f64): Likewise.
        [__HAVE_FLOAT64 && __USE_GNU] (M_SQRT1_2f64): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_Ef32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_LOG2Ef32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_LOG10Ef32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_LN2f32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_LN10f32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_PIf32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_PI_2f32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_PI_4f32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_1_PIf32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_2_PIf32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_2_SQRTPIf32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT2f32x): Likewise.
        [__HAVE_FLOAT32X && __USE_GNU] (M_SQRT1_2f32x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_Ef64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_LOG2Ef64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_LOG10Ef64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_LN2f64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_LN10f64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_PIf64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_PI_2f64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_PI_4f64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_1_PIf64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_2_PIf64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_2_SQRTPIf64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT2f64x): Likewise.
        [__HAVE_FLOAT64X && __USE_GNU] (M_SQRT1_2f64x): Likewise.
        [__HAVE_FLOAT128X && __USE_GNU]: Use #error.

commit 4484b9e29656980f18bb0fc8cdb6b1bbe5364f21
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 30 15:48:33 2017 +0100

    Assume that _DIRENT_HAVE_D_TYPE is always defined.
    
    References remain in io/fts.c, io/ftw.c, posix/glob.c,
    sysdeps/posix/getcwd.c.  These files are (potentially) externally
    shared.

commit 68fe16dd327c895c08b9ee443b234c49c13b36e9
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 30 13:59:59 2017 +0100

    ffsl, ffsll: Declare under __USE_MISC, not just __USE_GNU
    
    Recent BSDs declare these functions, too.

commit dadf23f06c134d09b5930e09bddfdab2c0ca6150
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 30 13:31:30 2017 +0100

    tst-gnuglob64: New test for glob64 based on tst-gnuglob
    
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit fbcecc08c948a719c79ebd8a545e89670fe19faf
Author: Mike FABIAN <address@hidden>
Date:   Mon Oct 30 12:48:43 2017 +0100

    csb_PL locale: Fix “abmon” for March and use a better translation for 
March in “mon” [BZ #19485]
    
        [BZ #19485]
        * localedata/locales/csb_PL (LC_TIME): Fix “abmon” for March
        and use a better translation for March in “mon”.
        * localedata/locales/csb_PL: Use more ASCII to improve the
        readability of the source.

commit b110af8278588c51f29ff00ec5577566b77b9039
Author: Mike FABIAN <address@hidden>
Date:   Mon Oct 30 11:46:05 2017 +0100

    km_KH locale: remove tags which were using Lao characters [BZ #13953]
    
        [BZ #13953]
        * localedata/locales/km_KH: Use ASCII as much
        as possible for better readability of the source and
        remove useless comments.
        * localedata/locales/km_KH (LC_TIME): Remove era stuff, it
        was commented out and apparently wrong anyway because it was
        using Lao characters. If Buddhist era should be used
        for km_KH, a native speaker should write the correct formaat
        for Khmer.
        * localedata/locales/km_KH (LC_TIME): Add first_weekday 1
        (According to CLDR, the first weekday for Cambodia is Sunday).
        * localedata/locales/km_KH (LC_NAME): Remove name_mr and name_mrs
        (These were using Lao characters which must be wrong. If we get
        the correct data from a native speaker, we could add it back, until
        then it is better not to have name_mr and name_mrs at all than
        having it wrong).

commit f301e5334065e93aace667fd4a87bce6fc1dbd13
Author: Rafal Luzynski <address@hidden>
Date:   Wed Jul 12 01:32:33 2017 +0200

    Correct the size of _nl_value_type_LC_... arrays.
    
    There were several problems with checking the array size in the past,
    for example BZ#356, caused by incorrectly assuming that every locale
    token represents one element.  In fact, if a token represented
    a subarray, for example an array of month names or characters category
    and it appeared at the end of the array the compiler assumed that
    the array ends just after the first element of the subarray.
    A workaround used in the past was to skip some categories while testing,
    for example LC_CTYPE.  Now when we are about to add alternative month
    names to LC_TIME (BZ#10871) this will fail again.
    
        * locale/loadlocale.c: Correct size of
        _nl_value_type_LC_<category> arrays.
    
    Reviewed-by: Zack Weinberg <address@hidden>

commit 7e9d70736b98950522549e63d5bb7f81ff9eb93b
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 27 22:43:46 2017 +0000

    Include bits/mathcalls.h for more _FloatN, _FloatNx types.
    
    Continuing the preparation for additional _FloatN / _FloatNx type
    support, this patch arranges for <bits/mathcalls.h> and
    <bits/mathcalls-helper-functions.h> to be included for each such type
    under conditions and with macros defined corresponding to those
    already present for _Float128.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC)]:
        Include <bits/mathcalls-helper-functions.h> and <bits/mathcalls.h>
        with appropriate macros defined and undefined.
        [__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC)]: Likewise.
        [__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC)]: Likewise.

commit 63d3b468c1b63d04c067eab8d86f0be6bd15bc87
Author: H.J. Lu <address@hidden>
Date:   Fri Oct 27 14:09:01 2017 -0700

    i386: Regenerate libm-test-ulps for for gcc 7
    
    Regenerate libm-test-ulps for gcc 7 with "-m32 -O2 -march=i586".
    
        * sysdeps/i386/fpu/libm-test-ulps: Regenerated for GCC 7 with
        "-O2 -march=i586".

commit a4cc02c7413af4826fe8d13b6250c3fc47f15699
Author: Mike FABIAN <address@hidden>
Date:   Fri Oct 27 10:55:44 2017 +0200

    tt_RU locale: make yesstr and nostr agree with CLDR by starting with lower 
case letters
    
        * localedata/locales/tt_RU (LC_MESSAGES): Start yesstr and nostr
        with lowercase letters to make it agree with CLDR.

commit 1e5971ec1452784d6cb59539442d92b7020378d5
Author: Mike FABIAN <address@hidden>
Date:   Fri Oct 27 10:53:35 2017 +0200

    Fix all remaining issues of [BZ #15260]
    
        [BZ #15260]
        * localedata/locales/doi_IN (LC_MESSAGES): Match only for the
        first letters of yesstr and nostr in yesexpr and noexpr,
        not for the full words.
        * localedata/locales/hne_IN (LC_MESSAGES): Likewise.
        * localedata/locales/kok_IN (LC_MESSAGES): Likewise.
        * localedata/locales/mr_IN (LC_MESSAGES): Likewise.
        * localedata/locales/sat_IN (LC_MESSAGES): Likewise.
        * localedata/locales/km_KH (LC_MESSAGES): Match also for the
        first letters of yesstr and nostr in yesexpr and noexpr,
        until now only English was matched in yesexpr and noexpr.
        * localedata/locales/tl_PH (LC_MESSAGES): Use “copy "fil_PH"”
        instead of “copy "en_US"”. CLDR has yesstr and nostr data for
        fil but not for tl. As tl and fil are very similar, using fil
        is probably better than using English.

commit bc5fc7de2115847d9ed312a41713c6a4c724f3dd
Author: Mike FABIAN <address@hidden>
Date:   Fri Oct 27 09:38:00 2017 +0200

    br_FR locale: Use all lowercase in yesstr and nostr.
    
        [BZ #21706]
        * localedata/locales/br_FR (LC_MESSAGES): Use all lowercase
        in yesstr and nostr.

commit ecc7da5bb897f17ef470fc928ab2b7132e3fa069
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 26 23:34:55 2017 +0000

    Add SNAN macros for more _FloatN, _FloatNx types.
    
    This patch continues the preparation for additional _FloatN / _FloatNx
    type support by adding appropriately conditional definitions of SNAN*
    macros, corresponding to the SNANF128 definition already present.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE
        (IEC_60559_TYPES_EXT)] (SNANF16): New macro.
        [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32):
        Likewise.
        [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64):
        Likewise.
        [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X):
        Likewise.
        [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X):
        Likewise.
        [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (SNANF128X): Likewise.

commit 5d220788b3a97f1c726eb7f0c98333cbc2b41433
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 26 23:11:18 2017 +0000

    Add HUGE_VAL macros for more _FloatN, _FloatNx types.
    
    This patch continues the preparation for additional _FloatN / _FloatNx
    type support by adding appropriately conditional definitions of
    HUGE_VAL_* macros, corresponding to the HUGE_VAL_F128 definition
    already present.
    
    Tested for x86_64.
    
        * math/math.h [__HAVE_FLOAT16 && __GLIBC_USE
        (IEC_60559_TYPES_EXT)] (HUGE_VAL_F16): New macro.
        [__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F32): Likewise.
        [__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F64): Likewise.
        [__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F32X): Likewise.
        [__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F64X): Likewise.
        [__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F128X): Likewise.

commit 67ad7163bbfa25d901eae2dcc442cab55c37cf7e
Author: Thierry Vignaud <address@hidden>
Date:   Thu Oct 26 12:00:15 2017 +0200

    add myself as contact for "br" locale
    
    Pablo was l10n/i18n coordinator back in the old days but MandrakeSoft is
    dead now
    
        * localedata/locales/br_FR (LC_IDENTIFICATON): Add
        Thierry Vignaud <address@hidden> as the contact
        for the br_FR locale.

commit 408dff7ee52d61229740c18ac1e9ca8c522bcf6c
Author: Thierry Vignaud <address@hidden>
Date:   Wed Oct 25 22:12:31 2017 +0200

    fix nostr for "br" [BZ #21706]
    
    "Ket" is the the most used negative answer, as it's the negative answer
    to a positively phrased question
    It's used as it or with the verb ("Ne ran ket", ...)
    As such, "Ket" is used in most translations.
    "Nann" is less used as it's the negative answer to a negatively phrased
    question
    
    See https://en.wikipedia.org/wiki/Yes_and_no for explanations about
    languages with 3 or 4 form systems.
    
    We still keep "Nn" for short answers as:
    - new learners are used to "Non" in french
    - and they often misuses "Nann"
    - for compatibility with english
    
        [BZ #21706]
        * localedata/locales/br_FR (LC_MESSAGES): Fix nostr.

commit 02eec681676c5aabf2eb13b92b1124245d19112f
Author: Carlos O'Donell <address@hidden>
Date:   Tue Oct 17 01:33:42 2017 -0700

    localedef: Add --no-warnings/--warnings option
    
    From localedef --help:
    
    Output control:
    ...
          --no-warnings=<warnings>   Comma-separated list of warnings to 
disable;
                                 supported warnings are: ascii, intcurrsym
    ...
          --warnings=<warnings>  Comma-separated list of warnings to enable;
                                 supported warnings are: ascii, intcurrsym
    
    Locales using SHIFT_JIS and SHIFT_JISX0213 character maps are not ASCII
    compatible. In order to build locales using these character maps, and
    have localedef exit with a status of 0, we add new option to localedef
    to disable or enable specific warnings. The options are --no-warnings
    and --warnings, to disable and enable specific warnings respectively.
    The options take a comma-separated list of warning names. The warning
    names are taken directly from the generated warning.  When a warning
    that can be disabled is issued it will print something like this: foo is
    not defined [--no-warnings=foo]
    
    For the initial implementation we add two controllable warnings; first
    'ascii' which is used by the localedata installation makefile target to
    install SHIFT_JIS and SHIFT_JISX0213-using locales without error; second
    'intcurrsym' which allows a program to use a non-standard international
    currency symbol without triggering a warning.  The 'intcurrsym' is
    useful in the future if country codes are added that are not in our
    current ISO 4217 list, and the user wants to avoid the warning. Having
    at least two warnings to control gives an example for how the changes
    can be extended to more warnings if required in the future.
    
    These changes allow ja_JP.SHIFT_JIS and ja_JP.SHIFT_JISX0213 to be
    compiled without warnings using --no-warnings=ascii. The
    localedata/Makefile $(INSTALL-SUPPORTED-LOCALES) target is adjusted to
    automatically add `--no-warnings=ascii` for such charmaps, and likewise
    localedata/gen-locale.sh is adjusted with similar logic.
    
    v2: Bring verbose, be_quiet, and all warning control booleans into
    record-status.c, and compile this object file to be used by locale,
    iconv, and localedef. Any users include record-status.h.
    v3: Fix an instance of boolean coercion in set_warning().
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 56fa555a834c1536bf8d58c1ac6097f18f0d92b6
Author: Carlos O'Donell <address@hidden>
Date:   Fri Oct 13 22:44:44 2017 -0700

    localedata: Locale and test name are the same.
    
    The localedata collation test data is encoded in a particular
    character set. We rename the test data to match the full locale
    name with encoding, and adjust the Makefile and sort-test.sh
    script. This allows us to have a future C.UTF-8 test that is
    disambiguated from the built-in C locale.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 337ff3c501f0e1fadd1036b6fa2754cfbb0c29ea
Author: Carlos O'Donell <address@hidden>
Date:   Wed Oct 25 09:06:45 2017 -0700

    localedata: Fix unicode-gen check target.
    
    After the transition to generating a distinct file for Unicode ctype
    information e.g. i18n_ctype, the check target was left with the wrong
    target name. This patch fixes the check target and regenerates the
    files with more information than previously used, filling in the the
    LC_IDENTIFICATION data.
    
    Tested on x86_64 by regenerating from Unicode source files, and
    running checks. Tested by subsequently rebuilding all locales.
    No regressions in testsuite.
    
    Signed-off-by: Carlos O'Donell <address@hidden>
    Reported-by: Rafal Luzynski <address@hidden>

commit 63da5cd4a097d089033d980c42254c3356fa723f
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Wed Oct 25 13:13:53 2017 -0200

    powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmove
    
    POWER9 DD2.1 and earlier has an issue where some cache inhibited
    vector load traps to the kernel, causing a performance degradation.  To
    handle this in memcpy and memmove, lvx/stvx is used for aligned
    addresses instead of lxvd2x/stxvd2x.
    
    Reference: https://patchwork.ozlabs.org/patch/814059/
    
        * sysdeps/powerpc/powerpc64/power7/memcpy.S: Replace
        lxvd2x/stxvd2x with lvx/stvx.
        * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>
    Reviewed-by: Adhemerval Zanella <address@hidden>

commit a122dbfb2e7f90b338b633a73b576efa258e215d
Author: H.J. Lu <address@hidden>
Date:   Wed Oct 25 08:05:51 2017 -0700

    Replace "if if " with "if " in comments
    
        * include/alloc_buffer.h: Replace "if if " with "if " in
        comments.
        * sysdeps/mips/memcpy.S: Likkewise.
        * sysdeps/mips/memset.S: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S:
        Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S:
        Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S:
        Likewise.

commit 9be7530cc0eae4d39b3d59beadc849a3a6942ffe
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 13:47:59 2017 +0200

    CJK locales: Add fullwidth yYnN to yesexpr and noexpr [BZ #15261]
    
        [BZ #15261]
        * localedata/locales/cmn_TW (LC_MESSAGES): Add fullwidth yYnN to
        yesexpr and noexpr.
        * localedata/locales/hak_TW (LC_MESSAGES): Likewise.
        * localedata/locales/ko_KR (LC_MESSAGES): Likewise.
        * localedata/locales/lzh_TW (LC_MESSAGES): Likewise.
        * localedata/locales/nan_TW (LC_MESSAGES): Likewise.
        * localedata/locales/zh_CN (LC_MESSAGES): Likewise.
        * localedata/locales/zh_HK (LC_MESSAGES): Likewise.
        * localedata/locales/zh_TW (LC_MESSAGES): Likewise.

commit 6ccbf6ff910a7da8ce87c27bdaeb7448c1b3ee2b
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 13:28:31 2017 +0200

    Sync LC_MESSAGES of several locales with CLDR
    
        * localedata/locales/am_ET (LC_MESSAGES): Sync with CLDR.
        * localedata/locales/az_AZ (LC_MESSAGES): Likewise.
        * localedata/locales/el_GR (LC_MESSAGES): Likewise.
        * localedata/locales/ha_NG (LC_MESSAGES): Likewise.
        * localedata/locales/ln_CD (LC_MESSAGES): Likewise.
        * localedata/locales/mfe_MU (LC_MESSAGES): Likewise.
        * localedata/locales/ml_IN (LC_MESSAGES): Likewise.
        * localedata/locales/mt_MT (LC_MESSAGES): Likewise.
        * localedata/locales/os_RU (LC_MESSAGES): Likewise.
        * localedata/locales/tg_TJ (LC_MESSAGES): Likewise.
        * localedata/locales/tt_RU (LC_MESSAGES): Likewise.
        * localedata/locales/wo_SN (LC_MESSAGES): Likewise.

commit 58b1a7eaf9099f7db793ecf6718c43ff7f4ec0d4
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 10:47:23 2017 +0200

    Use ASCII as much as possible in LC_MESSAGES of all locales to improve 
readability of the source
    
        * localedata/locales/aa_ET (LC_MESSAGES): Use ASCII as much
        as possible for better readability of the source.
        * localedata/locales/af_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/ak_GH (LC_MESSAGES): Likewise.
        * localedata/locales/am_ET (LC_MESSAGES): Likewise.
        * localedata/locales/anp_IN (LC_MESSAGES): Likewise.
        * localedata/locales/ar_EG (LC_MESSAGES): Likewise.
        * localedata/locales/as_IN (LC_MESSAGES): Likewise.
        * localedata/locales/ast_ES (LC_MESSAGES): Likewise.
        * localedata/locales/ayc_PE (LC_MESSAGES): Likewise.
        * localedata/locales/az_AZ (LC_MESSAGES): Likewise.
        * localedata/locales/az_IR (LC_MESSAGES): Likewise.
        * localedata/locales/be_BY (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/bem_ZM (LC_MESSAGES): Likewise.
        * localedata/locales/ber_MA (LC_MESSAGES): Likewise.
        * localedata/locales/bg_BG (LC_MESSAGES): Likewise.
        * localedata/locales/bhb_IN (LC_MESSAGES): Likewise.
        * localedata/locales/bi_VU (LC_MESSAGES): Likewise.
        * localedata/locales/bo_CN (LC_MESSAGES): Likewise.
        * localedata/locales/br_FR (LC_MESSAGES): Likewise.
        * localedata/locales/bs_BA (LC_MESSAGES): Likewise.
        * localedata/locales/ca_ES (LC_MESSAGES): Likewise.
        * localedata/locales/ce_RU (LC_MESSAGES): Likewise.
        * localedata/locales/crh_UA (LC_MESSAGES): Likewise.
        * localedata/locales/cs_CZ (LC_MESSAGES): Likewise.
        * localedata/locales/csb_PL (LC_MESSAGES): Likewise.
        * localedata/locales/cv_RU (LC_MESSAGES): Likewise.
        * localedata/locales/cy_GB (LC_MESSAGES): Likewise.
        * localedata/locales/da_DK (LC_MESSAGES): Likewise.
        * localedata/locales/de_DE (LC_MESSAGES): Likewise.
        * localedata/locales/dv_MV (LC_MESSAGES): Likewise.
        * localedata/locales/dz_BT (LC_MESSAGES): Likewise.
        * localedata/locales/el_GR (LC_MESSAGES): Likewise.
        * localedata/locales/en_CA (LC_MESSAGES): Likewise.
        * localedata/locales/en_US (LC_MESSAGES): Likewise.
        * localedata/locales/es_ES (LC_MESSAGES): Likewise.
        * localedata/locales/et_EE (LC_MESSAGES): Likewise.
        * localedata/locales/eu_ES (LC_MESSAGES): Likewise.
        * localedata/locales/fa_IR (LC_MESSAGES): Likewise.
        * localedata/locales/ff_SN (LC_MESSAGES): Likewise.
        * localedata/locales/fi_FI (LC_MESSAGES): Likewise.
        * localedata/locales/fil_PH (LC_MESSAGES): Likewise.
        * localedata/locales/fo_FO (LC_MESSAGES): Likewise.
        * localedata/locales/fr_BE (LC_MESSAGES): Likewise.
        * localedata/locales/fr_CH (LC_MESSAGES): Likewise.
        * localedata/locales/fr_FR (LC_MESSAGES): Likewise.
        * localedata/locales/fr_LU (LC_MESSAGES): Likewise.
        * localedata/locales/fur_IT (LC_MESSAGES): Likewise.
        * localedata/locales/fy_DE (LC_MESSAGES): Likewise.
        * localedata/locales/ga_IE (LC_MESSAGES): Likewise.
        * localedata/locales/gd_GB (LC_MESSAGES): Likewise.
        * localedata/locales/gl_ES (LC_MESSAGES): Likewise.
        * localedata/locales/gu_IN (LC_MESSAGES): Likewise.
        * localedata/locales/gv_GB (LC_MESSAGES): Likewise.
        * localedata/locales/ha_NG (LC_MESSAGES): Likewise.
        * localedata/locales/hak_TW (LC_MESSAGES): Likewise.
        * localedata/locales/he_IL (LC_MESSAGES): Likewise.
        * localedata/locales/hif_FJ (LC_MESSAGES): Likewise.
        * localedata/locales/hne_IN (LC_MESSAGES): Likewise.
        * localedata/locales/hr_HR (LC_MESSAGES): Likewise.
        * localedata/locales/hsb_DE (LC_MESSAGES): Likewise.
        * localedata/locales/ht_HT (LC_MESSAGES): Likewise.
        * localedata/locales/hu_HU (LC_MESSAGES): Likewise.
        * localedata/locales/hy_AM (LC_MESSAGES): Likewise.
        * localedata/locales/ia_FR (LC_MESSAGES): Likewise.
        * localedata/locales/id_ID (LC_MESSAGES): Likewise.
        * localedata/locales/ig_NG (LC_MESSAGES): Likewise.
        * localedata/locales/ik_CA (LC_MESSAGES): Likewise.
        * localedata/locales/is_IS (LC_MESSAGES): Likewise.
        * localedata/locales/it_CH (LC_MESSAGES): Likewise.
        * localedata/locales/it_IT (LC_MESSAGES): Likewise.
        * localedata/locales/iu_CA (LC_MESSAGES): Likewise.
        * localedata/locales/ja_JP (LC_MESSAGES): Likewise.
        * localedata/locales/kk_KZ (LC_MESSAGES): Likewise.
        * localedata/locales/kl_GL (LC_MESSAGES): Likewise.
        * localedata/locales/ko_KR (LC_MESSAGES): Likewise.
        * localedata/locales/ks_IN (LC_MESSAGES): Likewise.
        * localedata/locales/ku_TR (LC_MESSAGES): Likewise.
        * localedata/locales/kw_GB (LC_MESSAGES): Likewise.
        * localedata/locales/ky_KG (LC_MESSAGES): Likewise.
        * localedata/locales/lb_LU (LC_MESSAGES): Likewise.
        * localedata/locales/lg_UG (LC_MESSAGES): Likewise.
        * localedata/locales/li_NL (LC_MESSAGES): Likewise.
        * localedata/locales/lij_IT (LC_MESSAGES): Likewise.
        * localedata/locales/ln_CD (LC_MESSAGES): Likewise.
        * localedata/locales/lo_LA (LC_MESSAGES): Likewise.
        * localedata/locales/lt_LT (LC_MESSAGES): Likewise.
        * localedata/locales/lv_LV (LC_MESSAGES): Likewise.
        * localedata/locales/lzh_TW (LC_MESSAGES): Likewise.
        * localedata/locales/mg_MG (LC_MESSAGES): Likewise.
        * localedata/locales/mhr_RU (LC_MESSAGES): Likewise.
        * localedata/locales/mi_NZ (LC_MESSAGES): Likewise.
        * localedata/locales/mk_MK (LC_MESSAGES): Likewise.
        * localedata/locales/ml_IN (LC_MESSAGES): Likewise.
        * localedata/locales/mn_MN (LC_MESSAGES): Likewise.
        * localedata/locales/ms_MY (LC_MESSAGES): Likewise.
        * localedata/locales/mt_MT (LC_MESSAGES): Likewise.
        * localedata/locales/my_MM (LC_MESSAGES): Likewise.
        * localedata/locales/nan_TW (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/nb_NO (LC_MESSAGES): Likewise.
        * localedata/locales/nds_DE (LC_MESSAGES): Likewise.
        * localedata/locales/nds_NL (LC_MESSAGES): Likewise.
        * localedata/locales/ne_NP (LC_MESSAGES): Likewise.
        * localedata/locales/nhn_MX (LC_MESSAGES): Likewise.
        * localedata/locales/niu_NU (LC_MESSAGES): Likewise.
        * localedata/locales/nl_NL (LC_MESSAGES): Likewise.
        * localedata/locales/nn_NO (LC_MESSAGES): Likewise.
        * localedata/locales/nr_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/nso_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/oc_FR (LC_MESSAGES): Likewise.
        * localedata/locales/om_ET (LC_MESSAGES): Likewise.
        * localedata/locales/or_IN (LC_MESSAGES): Likewise.
        * localedata/locales/os_RU (LC_MESSAGES): Likewise.
        * localedata/locales/pa_IN (LC_MESSAGES): Likewise.
        * localedata/locales/pa_PK (LC_MESSAGES): Likewise.
        * localedata/locales/pap_AW (LC_MESSAGES): Likewise.
        * localedata/locales/pap_CW (LC_MESSAGES): Likewise.
        * localedata/locales/pl_PL (LC_MESSAGES): Likewise.
        * localedata/locales/ps_AF (LC_MESSAGES): Likewise.
        * localedata/locales/pt_BR (LC_MESSAGES): Likewise.
        * localedata/locales/quz_PE (LC_MESSAGES): Likewise.
        * localedata/locales/raj_IN (LC_MESSAGES): Likewise.
        * localedata/locales/ro_RO (LC_MESSAGES): Likewise.
        * localedata/locales/ru_RU (LC_MESSAGES): Likewise.
        * localedata/locales/ru_UA (LC_MESSAGES): Likewise.
        * localedata/locales/rw_RW (LC_MESSAGES): Likewise.
        * localedata/locales/sa_IN (LC_MESSAGES): Likewise.
        * localedata/locales/sc_IT (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/se_NO (LC_MESSAGES): Likewise.
        * localedata/locales/sgs_LT (LC_MESSAGES): Likewise.
        * localedata/locales/si_LK (LC_MESSAGES): Likewise.
        * localedata/locales/sk_SK (LC_MESSAGES): Likewise.
        * localedata/locales/sl_SI (LC_MESSAGES): Likewise.
        * localedata/locales/sm_WS (LC_MESSAGES): Likewise.
        * localedata/locales/so_DJ (LC_MESSAGES): Likewise.
        * localedata/locales/sq_AL (LC_MESSAGES): Likewise.
        * localedata/locales/sr_RS (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/ss_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/st_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/sv_SE (LC_MESSAGES): Likewise.
        * localedata/locales/sw_KE (LC_MESSAGES): Likewise.
        * localedata/locales/szl_PL (LC_MESSAGES): Likewise.
        * localedata/locales/tcy_IN (LC_MESSAGES): Likewise.
        * localedata/locales/tg_TJ (LC_MESSAGES): Likewise.
        * localedata/locales/th_TH (LC_MESSAGES): Likewise.
        * localedata/locales/the_NP (LC_MESSAGES): Likewise.
        * localedata/locales/ti_ER (LC_MESSAGES): Likewise.
        * localedata/locales/tk_TM (LC_MESSAGES): Likewise.
        * localedata/locales/tn_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/to_TO (LC_MESSAGES): Likewise.
        * localedata/locales/tr_TR (LC_MESSAGES): Likewise.
        * localedata/locales/ts_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/tt_RU (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/uk_UA (LC_MESSAGES): Likewise.
        * localedata/locales/unm_US (LC_MESSAGES): Likewise.
        * localedata/locales/ur_IN (LC_MESSAGES): Likewise.
        * localedata/locales/ur_PK (LC_MESSAGES): Likewise.
        * localedata/locales/uz_UZ (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.
        * localedata/locales/ve_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/vi_VN (LC_MESSAGES): Likewise.
        * localedata/locales/wa_BE (LC_MESSAGES): Likewise.
        * localedata/locales/wo_SN (LC_MESSAGES): Likewise.
        * localedata/locales/xh_ZA (LC_MESSAGES): Likewise.
        * localedata/locales/yi_US (LC_MESSAGES): Likewise.
        * localedata/locales/yo_NG (LC_MESSAGES): Likewise.
        * localedata/locales/yue_HK (LC_MESSAGES): Likewise.
        * localedata/locales/zh_CN (LC_MESSAGES): Likewise.
        * localedata/locales/zh_HK (LC_MESSAGES): Likewise.
        * localedata/locales/zh_TW (LC_MESSAGES): Likewise.
        * localedata/locales/zu_ZA (LC_MESSAGES): Likewise.

commit 17e78edb814dfd90328efbc984e37cd4f70ef251
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 10:40:20 2017 +0200

    brx_IN locale: Fix yesexpr and noexpr
    
        * localedata/locales/brx_IN (LC_MESSAGES): Fix yesexpr and noexpr
        (Use first letters of yesstr and nostr correctly instead of using
        full words).

commit 74e7284fe1d4be0e7eb3eb3ba9908eb7d0f04e3f
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 10:35:19 2017 +0200

    ta_IN locale: Fix yesexpr and noexpr
    
        * localedata/locales/ta_IN (LC_MESSAGES): Fix yesexpr and noexpr
        (Use first letters of yesstr and nostr correctly).

commit b41a0ff1c829f907cdc5412079b539e172ccb9bc
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 10:06:31 2017 +0200

    hi_IN, kn_IN, address@hidden locales:  In yesexpr and noexpr, also check 
for the first characters of yesstr and nostr
    
        * localedata/locales/hi_IN (LC_MESSAGES): In yesexpr and noexpr,
        also check for the first characters of yesstr and nostr.
        * localedata/locales/kn_IN (LC_MESSAGES): Likewise.
        * localedata/locales/address@hidden (LC_MESSAGES): Likewise.

commit d971f380029b888c9194663aa4373e1f6e1b9cad
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 09:58:59 2017 +0200

    cmn_TW locale: Improve yesexpr and noexpr
    
        * localedata/locales/cmn_TW (LC_MESSAGES): In yesexpr and noexpr,
        also check for Chinese characters.

commit effc9e1d50912d4bc58e189ed30017bb596878b9
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 09:56:21 2017 +0200

    chr_US locale: Fix yesexpr and noexpr
    
        * localedata/locales/chr_US (LC_MESSAGES): In yesexpr and noexpr,
        match also for the contents of yesstr and nostr. As the first letter
        of yesstr and nostr is equal, checking only for the first letter
        is not enough.

commit 10320881d8ecd47b542b8e5ca42fdb1aa5516bbf
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 09:31:26 2017 +0200

    ber_DZ locale: Use copy “"kab_DZ"” in LC_MESSAGES.
    
        * localedata/locales/ber_DZ (LC_MESSAGES): Use copy "kab_DZ",
        it is the same according to  Belkacem Mohammed <address@hidden>.

commit d8682a15d0c4903c4b687befcaf763d87c8f1993
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 09:25:11 2017 +0200

    kab_DZ locale: Add e-mail of main contributor
    
        * localedata/locales/kab_DZ (LC_IDENTIFICATION): Add e-mail
        of main contributor.

commit 1bfb86aeb4fd66d09d3ff0bd3025b19ac383b9f6
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 09:15:33 2017 +0200

    zh_SG locale: Use copy "zh_CN" in LC_MESSAGES instead of English
    
        * localedata/locales/zh_SG (LC_MESSAGES): Use copy "zh_CN"
        instead of using English.

commit da33d60bbec1279b7918bd8e4de82677575a32b4
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 08:34:21 2017 +0200

    ug_CN locale: Fix noexpr and yesexpr
    
        * localedata/locales/ug_CN (LC_MESSAGES): Fix noexpr and yesexpr
        by including the first letters of nostr and yesexpr in the regexp.
        Also make it more readable by using ASCII where possible.

commit 725bbb3e18debf1e46d15bbf11da6393035aad5c
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 25 08:17:24 2017 +0200

    ti_IN locale: Fix noexpr
    
        * localedata/locales/te_IN (LC_MESSAGES): Fix noexpr by including
        the first letter of nostr in the regexp. It agrees with CLDR now.
        Also make it more readable by using ASCII where possible.

commit fe043d8af2aac18246eac87b6ace24bf021806e7
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 24 16:37:36 2017 +0200

    km_KH locale: Fix yesstr and nostr.
    
        * localedata/locales/km_KH (LC_MESSAGES): Fix yestr and nostr.
        The yesstr and nostr apparently came from CLDR. And CLDR has a bug 
there:
        these strings contain a U+17D6 (which somewhat looks like a colon)
        instead of a real colon to separate the full words for “yes”
        and “no” from the single letter responses.

commit 360a8df3af57489b1c9467b46c72fe45f1225979
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 24 16:20:55 2017 +0200

    ka_GE locale: Fix yesexp to make it agree with CLDR.
    
        * localedata/locales/ka_GE (LC_MESSAGES): Fix yesexp to make
        it agree with CLDR (include the first letter of yesstr).
        Also make it more readable by using ASCII where possible.

commit bab7b6b0a6474cf517a372aca2e2911ae907f96a
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 24 14:06:05 2017 +0200

    mr_IN locale: Fix yesstr and nostr and improve yesexpr and noexpr.
    
        * localedata/locales/mr_IN (LC_MESSAGES): Fix yesstr and nostr
        and improve yesexpr and noexpr. The yesstr and nostr apparently
        came from CLDR. And CLDR has a bug there: these strings contain
        a U+0903 (which looks like a colon) instead of a real colon
        to separate the full words for “yes” and “no” from the single
        letter responses.

commit 3e79f758191d11e60cdf1975ece322831c73ede4
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 24 11:56:18 2017 +0200

    bn_BD locale: Use only the first letters of the full yesstr and nostr in 
yesexpr and noexpr
    
    Using all characters of the full words for yes and no in yesexpr and noexpr
    makes no sense here, especially not because the words for yes and no
    share one character.
    
        * localedata/locales/bn_BD (LC_MESSAGES): Use only the first
        letters of the full yesstr and nostr in yesexpr and noexpr.

commit 4960c87929ec76f02ad183f2110dac0db99bbf22
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 24 09:07:18 2017 +0200

    Add yesstr, nostr, lang_term, lang_lib to an_ES locale
    
        * localedata/locales/an_ES (LC_MESSAGES): Add yesstr and nostr.
        * localedata/locales/an_ES (LC_ADDRESS): Add lang_term and lang_lib.
        * localedata/locales/an_ES: Make source more readable by using ASCII
        where possible.

commit b06a054f5822a61b94e88f595a99e358d0ad2f34
Author: Mike FABIAN <address@hidden>
Date:   Mon Oct 23 19:03:23 2017 +0200

    Add new locale yuw_PG [BZ #20952]
    
        [BZ #20952]
        * localedata/locales/yuw_PG: New file.
        * localedata/SUPPORTED: Add yuw_PG/UTF-8.
        * locale/iso-639.def: Add Yau (Uruwa).

commit 905a7725e9157ea522d8ab97b4c8b96aeb23df54
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Oct 24 12:43:05 2017 +0100

    Add single-threaded path to _int_malloc
    
    This patch adds single-threaded fast paths to _int_malloc.
    
        * malloc/malloc.c (_int_malloc): Add SINGLE_THREAD_P path.

commit 3f6bb8a32e5f5efd78ac08c41e623651cc242a89
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Oct 24 12:39:24 2017 +0100

    Add single-threaded path to malloc/realloc/calloc/memalloc
    
    This patch adds a single-threaded fast path to malloc, realloc,
    calloc and memalloc.  When we're single-threaded, we can bypass
    arena_get (which always locks the arena it returns) and just use
    the main arena.  Also avoid retrying a different arena since
    there is just the main arena.
    
        * malloc/malloc.c (__libc_malloc): Add SINGLE_THREAD_P path.
        (__libc_realloc): Likewise.
        (_mid_memalign): Likewise.
        (__libc_calloc): Likewise.

commit 1d479c8c33bab8c47f66c2199a353b5459881be3
Author: Mike FABIAN <address@hidden>
Date:   Mon Oct 23 19:19:21 2017 +0200

    Fixes for tpi_PG locale
    
        * localedata/locales/tpi_PG (LC_MESSAGES): Fix yesexpr and noexpr
        by adding the generic +1 and -0 as in all other locales.
        * localedata/locales/tpi_PG (LC_TIME): Fix some typos in the month and
        day names and make it more readable by using ASCII where possible.

commit 91c3985c237ba6b2ab2ba20c6d29a38542378864
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 24 00:33:08 2017 +0000

    Update x86 fix-fp-int-compare-invalid.h for GCC 8.
    
    The glibc implementation of iseqsig relies on ordered comparison
    operators raising the "invalid" exception for quiet NaN operands, with
    a workaround on platforms where a GCC bug means that exception is not
    raised.  For x86, that bug has now been fixed for GCC 8, so this patch
    disables the workaround in that case.  If and when the corresponding
    bugs for powerpc and s390 are fixed, the headers for those platforms
    should of course be updated similarly.
    
    Tested for x86_64 and x86, including with GCC mainline.  Note that
    other failures appear with GCC mainline because of spurious use of
    ordered comparison instructions for unordered operations
    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82692>.
    
        * sysdeps/x86/fpu/fix-fp-int-compare-invalid.h
        (FIX_COMPARE_INVALID): Define to 0 if [__GNUC_PREREQ (8, 0)].

commit aa95a2414e4f664ca740ad5f4a72d9145abbd426
Author: Adhemerval Zanella <address@hidden>
Date:   Sat Oct 21 11:33:27 2017 -0200

    posix: Do not use WNOHANG in waitpid call for Linux posix_spawn
    
    As shown in some buildbot issues on aarch64 and powerpc, calling
    clone (VFORK) and waitpid (WNOHANG) does not guarantee the child
    is ready to be collected.  This patch changes the call back to 0
    as before fe05e1cb6d64 fix.
    
    This change can lead to the scenario 4.3 described in the commit,
    where the waitpid call can hang undefinitely on the call.  However
    this is also a very unlikely and also undefinied situation where
    both the caller is trying to terminate a pid before posix_spawn
    returns and the race pid reuse is triggered.  I don't see how to
    correct handle this specific situation within posix_spawn.
    
    Checked on x86_64-linux-gnu, aarch64-linux-gnu and
    powerpc64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of
        WNOHANG in waitpid call.

commit a2e0a7f12ba57a49d1380c7ba1ff4b1f51d67347
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Oct 23 20:22:42 2017 +0530

    aarch64: Document _SC_LEVEL1_DCACHE_LINESIZE caveat
    
    The _SC_LEVEL1_DCACHE_LINESIZE is reported using the contents of the
    ctr_el0 register, which tells us the minimum observable cache line
    size by userspace.  This typically is the same as the L1 cache line
    size, but that may not always be true.  It could be a higher level
    cache line size as long as cache cleaning and invalidation work
    correctly with that line size in userspace.  The falkor core for
    example reports the L2 line size as the dcache line size in CTR_EL0
    while also reporting the correct L1 dcache line size via CCSIDR_EL1.
    
        * manual/conf.texi (_SC_LEVEL1_DCACHE_LINESIZE,
        _SC_LEVEL1_ICACHE_LINESIZE): Document aarch64 caveat.
    
    Reviewed-by: Rical Jasan <address@hidden>
    Reviewed-by: Szabolcs Nagy <address@hidden>

commit db9bab09a51188bf57afeb47040ce6837b878367
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Oct 23 20:19:34 2017 +0530

    Document cache information sysconf variables
    
    Write short descriptions for each of the cache information sysconf
    variables.
    
        * manual/conf.texi (_SC_LEVEL1_ICACHE_SIZE,
        _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE,
        _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC,
        _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE,
        _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE,
        _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC,
        _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE,
        _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE): New
        variables.
    
    Reviewed-by: Rical Jasan <address@hidden>

commit be080b6c143901d998c91f28ef7b2fe4a25c0237
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Oct 23 15:31:37 2017 +0100

    aarch64: Add missing math Makefile for recent commit
    
    Without -fno-math-errno, the builtins just do a call instead of
    inlining a single instruction.

commit 5062680c602c27c9128ae2e38d199df22a8c2d38
Author: Michael Collison <address@hidden>
Date:   Mon Oct 23 10:28:01 2017 +0100

    aarch64: Implement math acceleration via builtins
    
    This patch converts asm statements into builtins for AArch64.  As an
    example for the file sysdeps/aarch64/fpu/s_ceil.c, we convert the
    function from
    
    double
    __ceil (double x)
    {
      double result;
      asm ("frintp\t%d0, %d1" :
           "=w" (result) : "w" (x) );
      return result;
    }
    
    into
    
    double
    __ceil (double x)
    {
      return __builtin_ceil (x);
    }
    
    Tested on aarch64-linux-gnu with gcc-4.9.4 and gcc-6.
    
        * sysdeps/aarch64/fpu/e_sqrt.c (ieee754_sqrt): Replace asm statements
        with __builtin_sqrt.
        * sysdeps/aarch64/fpu/e_sqrtf.c (ieee754_sqrtf): Replace asm statements
        with __builtin_sqrtf.
        * sysdeps/aarch64/fpu/s_ceil.c (__ceil): Replace asm statements
        with __builtin_ceil.
        * sysdeps/aarch64/fpu/s_ceilf.c (__ceilf): Replace asm statements
        with __builtin_ceilf.
        * sysdeps/aarch64/fpu/s_floor.c (__floor): Replace asm statements
        with __builtin_floor.
        * sysdeps/aarch64/fpu/s_floorf.c (__floorf): Replace asm statements
        with __builtin_floorf.
        * sysdeps/aarch64/fpu/s_fma.c (__fma): Replace asm statements
        with __builtin_fma.
        * sysdeps/aarch64/fpu/s_fmaf.c (__fmaf): Replace asm statements
        with __builtin_fmaf.
        * sysdeps/aarch64/fpu/s_fmax.c (__fmax): Replace asm statements
        with __builtin_fmax.
        * sysdeps/aarch64/fpu/s_fmaxf.c (__fmaxf): Replace asm statements
        with __builtin_fmaxf.
        * sysdeps/aarch64/fpu/s_fmin.c (__fmin): Replace asm statements
        with __builtin_fmin.
        * sysdeps/aarch64/fpu/s_fminf.c (__fminf): Replace asm statements
        with __builtin_fminf.
        * sysdeps/aarch64/fpu/s_frint.c: Delete file.
        * sysdeps/aarch64/fpu/s_frintf.c: Delete file.
        * sysdeps/aarch64/fpu/s_llrint.c (__llrint): Replace asm statements
        with builtin_rint and conversion to int.
        * sysdeps/aarch64/fpu/s_llrintf.c (__llrintf): Likewise.
        * sysdeps/aarch64/fpu/s_llround.c (__llround): Replace asm statements
        with builtin_llround.
        * sysdeps/aarch64/fpu/s_llroundf.c (__llroundf): Likewise.
        * sysdeps/aarch64/fpu/s_lrint.c (__lrint): Replace asm statements
        with builtin_rint and conversion to long int.
        * sysdeps/aarch64/fpu/s_lrintf.c (__lrintf): Likewise.
        * sysdeps/aarch64/fpu/s_lround.c (__lround): Replace asm statements
        with builtin_lround.
        * sysdeps/aarch64/fpu/s_lroundf.c (__lroundf): Replace asm statements
        with builtin_lroundf.
        * sysdeps/aarch64/fpu/s_nearbyint.c (__nearbyint): Replace asm
        statements with __builtin_nearbyint.
        * sysdeps/aarch64/fpu/s_nearbyintf.c (__nearbyintf): Replace asm
        statements with __builtin_nearbyintf.
        * sysdeps/aarch64/fpu/s_rint.c (__rint): Replace asm statements
        with __builtin_rint.
        * sysdeps/aarch64/fpu/s_rintf.c (__rintf): Replace asm statements
        with __builtin_rintf.
        * sysdeps/aarch64/fpu/s_round.c (__round): Replace asm statements
        with __builtin_round.
        * sysdeps/aarch64/fpu/s_roundf.c (__roundf): Replace asm statements
        with __builtin_roundf.
        * sysdeps/aarch64/fpu/s_trunc.c (__trunc): Replace asm statements
        with __builtin_trunc.
        * sysdeps/aarch64/fpu/s_truncf.c (__truncf): Replace asm statements
        with __builtin_truncf.
        * sysdeps/aarch64/fpu/Makefile: Build e_sqrt[f].c with -fno-math-errno.

commit 174935af03f19e3fb5d5d3bcdafb25d0d8d6e0d4
Author: Alan Modra <address@hidden>
Date:   Mon Oct 23 07:44:50 2017 +1030

    PowerPC64 power8 strncpy cfi fixes
    
    cfi info for stack adjust needs to be on the insn doing the adjust.
    cfi describing register saves can be anywhere after the save insn but
    before the reg is altered.  Fewer locations with cfi result in smaller
    cfi programs and possibly slightly faster exception handling.  Thus
    the LR cfi_offset move.
    
    The idea behind ajusting sp after restoring regs is to break a
    register dependency chain, in this case not be using r1 immediately
    after it is modified.
    
    The missing LR cfi_restore meant that code after the blr,
    unaligned_lt_16 and other labels, would have cfi that said LR was at
    cfa+16, but that code is reached without LR being saved.
    
        * sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi.
        Adjust stack after restoring regs.  Add missing LR cfi_restore.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 750a0e4967375d0b2bedb77af515b8bc6966e6f6
Author: Alan Modra <address@hidden>
Date:   Mon Oct 23 07:43:32 2017 +1030

    PowerPC64 power7 strncpy stack handling and cfi
    
    This patch moves the frame setup and teardown to immediately around
    the single memset call, as has been done for power8.  I've also
    decreased FRAMESIZE to that needed to save the two callee-saved
    registers used.  Plus added cfi.
    
        * sysdeps/powerpc/powerpc64/power7/strncpy.S: Decrease FRAMESIZE.
        Move LR save and frame setup/teardown and LR restore to
        immediately around memset call.  Provide cfi.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 5313581cb52fd5d3d2cf222ddb6f8f86f090974f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:11:15 2017 -0700

    i386: Replace assembly versions of e_powf with generic e_powf.c
    
    This patch replaces i386 assembly versions of e_powf with generic
    e_powf.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      230.855          78.3358       194%
    latency                    231.685          94.1259       146%
    
    On Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      239.858          47.4713       405%
    latency                    247.57           93.8798       163%
    
    On IvyBridge with --disable-multi-arch, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      269.078          63.3758       324%
    latency                    271.473          102.091       165%
    
        * sysdeps/i386/fpu/e_powf.S: Removed.
        * sysdeps/i386/fpu/e_powf_log2_data.c: Likewise.
        * sysdeps/i386/fpu/w_powf.c: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_powf-sse2.
        (CFLAGS-e_powf-sse2.c): New.
        * sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise.

commit 6089a3ee24cede17e9443aef0aa72fa1a0ba1548
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:09:08 2017 -0700

    i386: Replace assembly versions of e_log2f with generic e_log2f.c
    
    This patch replaces i386 assembly versions of e_log2f with generic
    e_log2f.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      92.3845          30.8752       199%
    latency                    112.855          54.8645       105%
    
    On Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      98.7488          22.7507       334%
    latency                    118.01           51.6083       128%
    
    On IvyBridge with --disable-multi-arch, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      106.635          28.8596       269%
    latency                    129.888          56.9187       128%
    
        * sysdeps/i386/fpu/e_log2f.S: Removed.
        * sysdeps/i386/fpu/e_log2f_data.c: Likewise.
        * sysdeps/i386/fpu/w_log2f.c: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_log2f.c.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_log2f-sse2.
        (CFLAGS-e_log2f-sse2.c): New.
        * sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Likewise.

commit 80bb5935632faf8a8e94daf976340e549be9d4c5
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:07:48 2017 -0700

    x86-64: Add powf with FMA
    
    For workload-spec2017.wrf, on Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      35.4713          27.3842       29%
    latency                    82.4537          66.3175       24%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_powf-fma.
        (CFLAGS-e_powf-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/e_powf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/e_powf.c: Likewise.

commit 5c7adbd8eded546eb6e17a82f5ab3b35def47f38
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:06:46 2017 -0700

    x86-64: Add log2f with FMA
    
    For workload-spec2017.wrf, on Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      16.5937          14.0789       17%
    latency                    41.7755          35.3586       18%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_log2f-fma.
        (CFLAGS-e_log2f-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/e_log2f-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Likewise.

commit 0ccc7153ccd8fbecefb0793a65cd5a85cdb099fc
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:03:46 2017 -0700

    x86-64: Add logf with FMA
    
    For workload-spec2017.wrf, on Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      16.1534          13.8874       16%
    latency                    41.9642          34.3072       22%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_logf-fma.
        (CFLAGS-e_logf-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/e_logf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/e_logf.c: Likewise.

commit fe596486d694e657413d0d4c5a04598674ff71b1
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 08:01:38 2017 -0700

    i386: Replace assembly versions of e_logf with generic e_logf.c
    
    This patch replaces i386 assembly versions of e_logf with generic
    e_logf.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      73.3865          40.0454       83%
    latency                    90.0985          54.4479       65%
    
    On Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      75.1384          22.1452       239%
    latency                    91.9441          50.7925       81%
    
    On IvyBridge with --disable-multi-arch, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      84.5575          28.7879       193%
    latency                    103.971          57.5231       80%
    
        * sysdeps/i386/fpu/e_logf.S: Removed.
        * sysdeps/i386/fpu/e_logf_data.c: Likewise.
        * sysdeps/i386/fpu/w_logf.c: Likewise.
        * sysdeps/i386/i686/fpu/e_logf.S: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_logf.c.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_logf-sse2.
        (CFLAGS-e_logf-sse2.c): New.
        * sysdeps/i386/i686/fpu/multiarch/e_logf-sse2.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Likewise.

commit 7eda65f69e0e4533b76ca4614fe516de03fe2b3a
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 07:58:54 2017 -0700

    i386: Replace assembly versions of e_exp2f with generic e_exp2f.c
    
    This patch replaces i386 assembly versions of e_exp2f with generic
    e_exp2f.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      112.996          40.0454       182%
    latency                    126.581          54.4479       132%
    
    On Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      113.14           39.447        186%
    latency                    136.068          55.684        144%
    
    On IvyBridge with --disable-multi-arch, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      132.521          40.3759       228%
    latency                    145.791          58.4587       149%
    
        * sysdeps/i386/fpu/e_exp2f.S: Removed.
        * sysdeps/i386/fpu/w_exp2f.c: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_exp2f.c.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_exp2f-sse2.
        (CFLAGS-e_exp2f-sse2.c): New.
        * sysdeps/i386/i686/fpu/multiarch/e_exp2f-sse2.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Likewise.

commit 5d15c9697577d2c342b5ade820bfd7b84a736b23
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 07:55:49 2017 -0700

    x86-64: Add exp2f with FMA
    
    For workload-spec2017.wrf, on Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      13.0291          11.2225       16%
    latency                    44.5154          37.5766       18%
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_exp2f-fma.
        (CFLAGS-e_exp2f-fma.c): New.
        * sysdeps/x86_64/fpu/multiarch/e_exp2f-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Likewise.

commit b2f6137ea570933fb4be286574cc58b794eb5b5f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 07:54:38 2017 -0700

    i386: Replace assembly versions of e_expf with generic e_expf.c
    
    This patch replaces i386 assembly versions of e_expf with generic
    e_expf.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      55.5724          40.2664       38%
    latency                    80.0687          60.8517       31%
    
    On Skylake, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      62.4056          39.4188       58%
    latency                    85.5496          59.6377       43%
    
    On IvyBridge with --disable-multi-arch, it improves performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      133.707          40.3778       231%
    latency                    149.191          63.2515       135%
    
        * sysdeps/i386/fpu/e_exp2f_data.c: Removed.
        * sysdeps/i386/fpu/e_expf.S: Likewise.
        * sysdeps/i386/fpu/math_errf.c: Likewise.
        * sysdeps/i386/fpu/w_expf.c: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/e_expf-ia32.S: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/w_expf.c: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_expf.c.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
        Remove e_expf-ia32.
        (CFLAGS-e_expf-sse2.c): New.
        * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Rewritten.

commit e1f59bebd885c442c14df3554da9fe08792ce7ce
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 22 07:49:36 2017 -0700

    x86-64: Replace assembly versions of e_expf with generic e_expf.c
    
    This patch replaces x86-64 assembly versions of e_expf with generic
    e_expf.c.  For workload-spec2017.wrf, on Nehalem, it improves
    performance by:
    
                               Before            After     Improvement
    reciprocal-throughput      36.039           20.7749       73%
    latency                    58.8096          40.8715       43%
    
    On Skylake, it improves
    
                               Before            After     Improvement
    reciprocal-throughput      18.4436          11.1693       65%
    latency                    47.5162          37.5411       26%
    
        * sysdeps/x86_64/fpu/e_expf.S: Removed.
        * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: Likewise.
        * sysdeps/x86_64/fpu/w_expf.c: Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Updated for generic
        e_expf.c.
        * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_expf-fma.c):
        New.
        * sysdeps/x86_64/fpu/multiarch/e_expf-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf):
        Renamed to ...
        (__redirect_expf): This.
        (SYMBOL_NAME): Changed to expf.
        (__ieee754_expf): Renamed to ...
        (__expf): This.
        (__GI___expf): This.
        (__ieee754_expf): Add strong_alias.
        (__expf_finite): Likewise.
        (__expf): New.
        Include <sysdeps/ieee754/flt-32/e_expf.c>.

commit a159b53fa059947cc2548e3b0d5bdcf7b9630ba8
Author: Paul Eggert <address@hidden>
Date:   Sun Oct 22 10:00:57 2017 +0200

    glob: Fix buffer overflow during GLOB_TILDE unescaping [BZ #22332]

commit 914c9994d27b80bc3b71c483e801a4f04e269ba6
Author: Florian Weimer <address@hidden>
Date:   Sun Oct 22 09:29:52 2017 +0200

    Update NEWS and ChangeLog for CVE-2017-15671

commit e80fc1fc98bf614eb01cf8325503df3a1451a99c
Author: Florian Weimer <address@hidden>
Date:   Sat Oct 21 18:03:30 2017 +0200

    glob: Add new test tst-glob-tilde
    
    The new test checks for memory leaks (see bug 22325) and attempts
    to trigger the buffer overflow in bug 22320.

commit 797ba44ba27521261f94cc521f1c2ca74f650147
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 20 21:42:51 2017 +0000

    Add bits/floatn.h defines for more _FloatN / _FloatNx types.
    
    The bits/floatn.h header currently only has defines relating to
    _Float128.  This patch adds defines relating to other _FloatN /
    _FloatNx types.
    
    The approach taken is to add defines for all _FloatN / _FloatNx types
    known to GCC, and to put them in a common bits/floatn-common.h header
    included at the end of all the individual bits/floatn.h headers.  If
    in future some defines become different for different glibc
    configurations, they will move out into the separate bits/floatn.h
    headers.
    
    Some defines are expected always to be the same across glibc ports.
    Corresponding defines are nevertheless put in this header.  The intent
    is that where there are conditionals (in headers or in non-installed
    files) that can just repeat the same or nearly the same logic for each
    floating-point type, they should do so, even if in fact the cases for
    some types could be unconditionally present or absent because the same
    conditionals are true or false for all glibc configurations.  This
    should make the glibc code with such conditionals easier to read,
    because the reader can just see that the same conditionals are
    repeated for each type, rather than seeing different conditionals for
    different types and needing to reason, at each location with such
    differences, why those differences are indeed correct there.  (Cases
    involving per-format rather than per-type logic are more likely still
    to need differences in how they handle different types.)
    
    Having such defines and conditionals also helps in incremental
    preparation for adding _Float32 / _Float64 / _Float32x / _Float64x
    function aliases.  I intend subsequent patches to add such
    conditionals corresponding to those already present for _Float128, as
    well as making more architecture-specific function implementations use
    common macros to define aliases in preparation for adding such _FloatN
    / _FloatNx aliases.
    
    Tested for x86_64.
    
        * bits/floatn-common.h: New file.
        * math/Makefile (headers): Add bits/floatn-common.h.
        * bits/floatn.h: Include <bits/floatn-common.h>.
        * sysdeps/ia64/bits/floatn.h: Likewise.
        * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
        * sysdeps/mips/ieee754/bits/floatn.h: Likewise.
        * sysdeps/powerpc/bits/floatn.h: Likewise.
        * sysdeps/x86/bits/floatn.h: Likewise.

commit 8f6f5362727dc93360fe37e6d4e964f386b7b8e7
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Oct 10 11:12:50 2017 -0300

    Avoid build multiarch if compiler warns about mismatched alias
    
    GCC 8 emits an warning for alias for functions with incompatible types
    and it is used extensivelly for ifunc resolvers implementations in C
    (for instance on weak_alias with the internal symbol name to the
    external one or with the libc_hidden_def to set ifunc for internal
    usage).
    
    This breaks the build when the ifunc resolver is not defined using
    gcc attribute extensions (HAVE_GCC_IFUNC being 0).  Although for
    all currently architectures that have multiarch support this compiler
    options is enabled for default, there is still the option where the
    user might try build glibc with a compiler without support for such
    extension.  In this case this patch just disable the multiarch folder
    in sysdeps selections.
    
    GCC 7 and before still builds IFUNCs regardless of compiler support
    (although for the lack of attribute support debug information would
    be optimal).
    
    Checked with a build on multiarch support architectures (aarch64,
    arm, sparc, s390, powerpc, x86_64, i386) with multiarch enable
    and disable and with GCC 7 and GCC 8.
    
        * configure.ac (libc_cv_gcc_incompatbile_alias): New define:
        indicates whether compiler emits an warning for alias for
        functions with incompatible types.

commit fe05e1cb6d64dba6172249c79526f1e9af8f2bfd
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Oct 12 15:20:57 2017 -0300

    posix: Fix improper assert in Linux posix_spawn (BZ#22273)
    
    As noted by Florian Weimer, current Linux posix_spawn implementation
    can trigger an assert if the auxiliary process is terminated before
    actually setting the err member:
    
        340   /* Child must set args.err to something non-negative - we rely on
        341      the parent and child sharing VM.  */
        342   args.err = -1;
        [...]
        362   new_pid = CLONE (__spawni_child, STACK (stack, stack_size), 
stack_size,
        363                    CLONE_VM | CLONE_VFORK | SIGCHLD, &args);
        364
        365   if (new_pid > 0)
        366     {
        367       ec = args.err;
        368       assert (ec >= 0);
    
    Another possible issue is killing the child between setting the err and
    actually calling execve.  In this case the process will not ran, but
    posix_spawn also will not report any error:
    
        269
        270   args->err = 0;
        271   args->exec (args->file, args->argv, args->envp);
    
    As suggested by Andreas Schwab, this patch removes the faulty assert
    and also handles any signal that happens before fork and execve as the
    spawn was successful (and thus relaying the handling to the caller to
    figure this out).  Different than Florian, I can not see why using
    atomics to set err would help here, essentially the code runs
    sequentially (due CLONE_VFORK) and I think it would not be legal the
    compiler evaluate ec without checking for new_pid result (thus there
    is no need to compiler barrier).
    
    Summarizing the possible scenarios on posix_spawn execution, we
    have:
    
      1. For default case with a success execution, args.err will be 0, pid
         will not be collected and it will be reported to caller.
    
      2. For default failure case, args.err will be positive and the it will
         be collected by the waitpid.  An error will be reported to the
         caller.
    
      3. For the unlikely case where the process was terminated and not
         collected by a caller signal handler, it will be reported as succeful
         execution and not be collected by posix_spawn (since args.err will
         be 0). The caller will need to actually handle this case.
    
      4. For the unlikely case where the process was terminated and collected
         by caller we have 3 other possible scenarios:
    
         4.1. The auxiliary process was terminated with args.err equal to 0:
          it will handled as 1. (so it does not matter if we hit the pid
              reuse race since we won't possible collect an unexpected
              process).
    
         4.2. The auxiliary process was terminated after execve (due a failure
              in calling it) and before setting args.err to -1: it will also
              be handle as 1. but with the issue of not be able to report the
              caller a possible execve failures.
    
         4.3. The auxiliary process was terminated after args.err is set to -1:
              this is the case where it will be possible to hit the pid reuse
              case where we will need to collected the auxiliary pid but we
              can not be sure if it will be expected one.  I think for this
              case we need to actually change waitpid to use WNOHANG to avoid
              hanging indefinitely on the call and report an error to caller
              since we can't differentiate between a default failure as 2.
              and a possible pid reuse race issue.
    
    Checked on x86_64-linux-gnu.
    
        * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Handle the case where
        the auxiliary process is terminated by a signal before calling _exit
        or execve.

commit b52b0d793dcb226ecb0ecca1e672ca265973233c
Author: H.J. Lu <address@hidden>
Date:   Fri Oct 20 11:00:08 2017 -0700

    x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve [BZ #21265]
    
    In _dl_runtime_resolve, use fxsave/xsave/xsavec to preserve all vector,
    mask and bound registers.  It simplifies _dl_runtime_resolve and supports
    different calling conventions.  ld.so code size is reduced by more than
    1 KB.  However, use fxsave/xsave/xsavec takes a little bit more cycles
    than saving and restoring vector and bound registers individually.
    
    Latency for _dl_runtime_resolve to lookup the function, foo, from one
    shared library plus libc.so:
    
                                 Before    After     Change
    
    Westmere (SSE)/fxsave         345      866       151%
    IvyBridge (AVX)/xsave         420      643       53%
    Haswell (AVX)/xsave           713      1252      75%
    Skylake (AVX+MPX)/xsavec      559      719       28%
    Skylake (AVX512+MPX)/xsavec   145      272       87%
    Ryzen (AVX)/xsavec            280      553       97%
    
    This is the worst case where portion of time spent for saving and
    restoring registers is bigger than majority of cases.  With smaller
    _dl_runtime_resolve code size, overall performance impact is negligible.
    
    On IvyBridge, differences in build and test time of binutils with lazy
    binding GCC and binutils are noises.  On Westmere, differences in
    bootstrap and "makc check" time of GCC 7 with lazy binding GCC and
    binutils are also noises.
    
        [BZ #21265]
        * sysdeps/x86/cpu-features-offsets.sym (XSAVE_STATE_SIZE_OFFSET):
        New.
        * sysdeps/x86/cpu-features.c: Include <libc-pointer-arith.h>.
        (get_common_indeces): Set xsave_state_size, xsave_state_full_size
        and bit_arch_XSAVEC_Usable if needed.
        (init_cpu_features): Remove bit_arch_Use_dl_runtime_resolve_slow
        and bit_arch_Use_dl_runtime_resolve_opt.
        * sysdeps/x86/cpu-features.h (bit_arch_Use_dl_runtime_resolve_opt):
        Removed.
        (bit_arch_Use_dl_runtime_resolve_slow): Likewise.
        (bit_arch_Prefer_No_AVX512): Updated.
        (bit_arch_MathVec_Prefer_No_AVX512): Likewise.
        (bit_arch_XSAVEC_Usable): New.
        (STATE_SAVE_OFFSET): Likewise.
        (STATE_SAVE_MASK): Likewise.
        [__ASSEMBLER__]: Include <cpu-features-offsets.h>.
        (cpu_features): Add xsave_state_size and xsave_state_full_size.
        (index_arch_Use_dl_runtime_resolve_opt): Removed.
        (index_arch_Use_dl_runtime_resolve_slow): Likewise.
        (index_arch_XSAVEC_Usable): New.
        * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
        Support XSAVEC_Usable.  Remove Use_dl_runtime_resolve_slow.
        * sysdeps/x86_64/Makefile (tst-x86_64-1-ENV): New if tunables
        is enabled.
        * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
        Replace _dl_runtime_resolve_sse, _dl_runtime_resolve_avx,
        _dl_runtime_resolve_avx_slow, _dl_runtime_resolve_avx_opt,
        _dl_runtime_resolve_avx512 and _dl_runtime_resolve_avx512_opt
        with _dl_runtime_resolve_fxsave, _dl_runtime_resolve_xsave and
        _dl_runtime_resolve_xsavec.
        * sysdeps/x86_64/dl-trampoline.S (DL_RUNTIME_UNALIGNED_VEC_SIZE):
        Removed.
        (DL_RUNTIME_RESOLVE_REALIGN_STACK): Check STATE_SAVE_ALIGNMENT
        instead of VEC_SIZE.
        (REGISTER_SAVE_BND0): Removed.
        (REGISTER_SAVE_BND1): Likewise.
        (REGISTER_SAVE_BND3): Likewise.
        (REGISTER_SAVE_RAX): Always defined to 0.
        (VMOV): Removed.
        (_dl_runtime_resolve_avx): Likewise.
        (_dl_runtime_resolve_avx_slow): Likewise.
        (_dl_runtime_resolve_avx_opt): Likewise.
        (_dl_runtime_resolve_avx512): Likewise.
        (_dl_runtime_resolve_avx512_opt): Likewise.
        (_dl_runtime_resolve_sse): Likewise.
        (_dl_runtime_resolve_sse_vex): Likewise.
        (USE_FXSAVE): New.
        (_dl_runtime_resolve_fxsave): Likewise.
        (USE_XSAVE): Likewise.
        (_dl_runtime_resolve_xsave): Likewise.
        (USE_XSAVEC): Likewise.
        (_dl_runtime_resolve_xsavec): Likewise.
        * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve_avx512):
        Removed.
        (_dl_runtime_resolve_avx512_opt): Likewise.
        (_dl_runtime_resolve_avx): Likewise.
        (_dl_runtime_resolve_avx_opt): Likewise.
        (_dl_runtime_resolve_sse): Likewise.
        (_dl_runtime_resolve_sse_vex): Likewise.
        (_dl_runtime_resolve_fxsave): New.
        (_dl_runtime_resolve_xsave): Likewise.
        (_dl_runtime_resolve_xsavec): Likewise.

commit 822f523b293bb94a52044f4acea73839f3b3d2bd
Author: Florian Weimer <address@hidden>
Date:   Fri Oct 20 19:28:44 2017 +0200

    Mention Tim Rühsen as the reporter for CVE-2017-15670

commit c369d66e5426a30e4725b100d5cd28e372754f90
Author: Paul Eggert <address@hidden>
Date:   Fri Oct 20 18:41:14 2017 +0200

    CVE-2017-15670: glob: Fix one-byte overflow [BZ #22320]

commit 6d43de4b85b11d26a19bebe4f55f31be16e3d419
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Oct 20 17:39:47 2017 +0100

    Fix build issue with SINGLE_THREAD_P
    
    Add sysdep-cancel.h include.
    
        * malloc/malloc.c (sysdep-cancel.h): Add include.

commit a15d53e2de4c7d83bda251469d92a3c7b49a90db
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Oct 20 17:27:53 2017 +0100

    Add single-threaded path to _int_free
    
    This patch adds single-threaded fast paths to _int_free.
    Bypass the explicit locking for larger allocations.
    
        * malloc/malloc.c (_int_free): Add SINGLE_THREAD_P fast paths.

commit b9a558e790c7f13f04f3fcf229f12543b8119732
Author: Will Hawkins <address@hidden>
Date:   Thu Oct 19 22:25:26 2017 -0700

    resolv: Remove bogus targets that build ga_test
    
    Remove the bogus targets (and source) that supposedly build ga_test.
    This code was added to resolv very early in the development process
    but does not appear to be an actual test program. The target for
    building this file is tests but because the glibc Make system is
    built the way it is, the target is overriden by higher-level tests
    targets and, therefore, the ga_test program is never built. Removing
    the target and the source code makes the resolv/Makefile less confusing.
    
    Tested by building and running 'make check' on 64 bit host running
    Kernel 4.10.0-19 configured with
     --prefix=/home/hawkinsw/code/glibc-build/install
     --enable-hardcoded-path-in-tests
     --disable-mathvec
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit b6b08b8e21e8393089765b64a96953d215b3454c
Author: Mike FABIAN <address@hidden>
Date:   Fri Oct 20 17:50:40 2017 +0200

    Add new locale kab_DZ  [BZ #18812]
    
        [BZ #18812]
        * localedata/SUPPORTED: Add kab_DZ/UTF-8.
        * localedata/locales/kab_DZ: New file.

commit 9ba7e81028b3313d9aeb97a98d2e37626694d442
Author: H.J. Lu <address@hidden>
Date:   Fri Oct 20 03:36:34 2017 -0700

    m68k: Update elf_machine_load_address for static PIE
    
    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.
    
        * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.

commit 4027a4fda011c4431bdc3a063963de0b6fd6c07e
Author: H.J. Lu <address@hidden>
Date:   Fri Oct 20 03:34:38 2017 -0700

    m68k: Check PIC instead of SHARED in start.S
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.
    
        * sysdeps/m68k/start.S (_start): Check PIC instead of SHARED.

commit 2f9314b4121b0200559693d6cfc8f61c692c2857
Author: Mike FABIAN <address@hidden>
Date:   Fri Oct 20 08:50:32 2017 +0200

    Add new locale shn_MM [BZ #13605]
    
        [BZ #13605]
        * localedata/SUPPORTED: Add shn_MM/UTF-8.
        * localedata/locales/shn_MM: New file.

commit 63b4baa44e8d22501c433c4093aa3310f91b6aa2
Author: Florian Weimer <address@hidden>
Date:   Fri Oct 20 04:10:15 2017 +0200

    sysconf: Fix missing definition of UIO_MAXIOV on Linux [BZ #22321]
    
    After commit 37f802f86400684c8d13403958b2c598721d6360 (Remove
    __need_IOV_MAX and __need_FOPEN_MAX), UIO_MAXIOV is no longer supplied
    (indirectly) through <bits/stdio_lim.h>, so sysdeps/posix/sysconf.c no
    longer sees the definition.

commit 95ccb619f553c130dde7b51098d69132547f8a90
Author: H.J. Lu <address@hidden>
Date:   Thu Oct 19 11:51:57 2017 -0700

    i386: Regenerate libm-test-ulps
    
    Regenerate libm-test-ulps for --disable-multi-arch.
    
        * sysdeps/i386/fpu/libm-test-ulps: Regenerated.

commit 76f2ed922af33ff39617c49ee0e1b1e348bc9a1b
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 19 17:59:41 2017 +0000

    Add MIPS bits/floatn.h.
    
    This patch adds a MIPS-specific bits/floatn.h header.  This header is
    identical to the ldbl-128 version except for the comment at the top;
    the purpose is to ensure that a 32-bit MIPS build installs a header
    that is the same as in a 64-bit MIPS build and so properly shows
    _Float128 support to be available for 64-bit compilations, on the
    general principle of an installation for one multilib providing
    headers also suitable for other multilibs.
    
    Tested with build-many-glibcs.py.
    
        * sysdeps/mips/ieee754/bits/floatn.h: New file.

commit 37bb78cb8c1fb6b5813407c8856b1557359e6343
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 19 17:32:20 2017 +0000

    Install correct bits/long-double.h for MIPS64 (bug 22322).
    
    Similar to bug 21987 for SPARC, MIPS64 wrongly installs the ldbl-128
    version of bits/long-double.h, meaning incorrect results when using
    headers installed from a 64-bit installation for a 32-bit build.  (I
    haven't actually seen this cause build failures before its interaction
    with bits/floatn.h did so - installed headers wrongly expecting
    _Float128 to be available in a 32-bit configuration.)
    
    This patch fixes the bug by moving the MIPS header to
    sysdeps/mips/ieee754, which comes before sysdeps/ieee754/ldbl-128 in
    the sysdeps directory ordering.  (bits/floatn.h will need a similar
    fix - duplicating the ldbl-128 version for MIPS will suffice - for
    headers from a 32-bit installation to be correct for 64-bit builds.)
    
    Tested with build-many-glibcs.py (compilers build for
    mips64-linux-gnu, where there was previously a libstdc++ build failure
    as at
    <https://sourceware.org/ml/libc-testresults/2017-q4/msg00130.html>).
    
        [BZ #22322]
        * sysdeps/mips/bits/long-double.h: Move to ....
        * sysdeps/mips/ieee754/bits/long-double.h: ... here.

commit d74e6f6c0de55fc588b1ac09c88eb0fb8b8600af
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Oct 19 18:19:55 2017 +0100

    Fix deadlock in _int_free consistency check
    
    This patch fixes a deadlock in the fastbin consistency check.
    If we fail the fast check due to concurrent modifications to
    the next chunk or system_mem, we should not lock if we already
    have the arena lock.  Simplify the check to make it obviously
    correct.
    
        * malloc/malloc.c (_int_free): Fix deadlock bug in consistency check.

commit 4d916f0f12b230f49967797f98b2b613c734a047
Author: H.J. Lu <address@hidden>
Date:   Thu Oct 19 08:28:09 2017 -0700

    x86-64: Don't set GLRO(dl_platform) to NULL [BZ #22299]
    
    Since ld.so expands $PLATFORM with GLRO(dl_platform), don't set
    GLRO(dl_platform) to NULL.
    
        [BZ #22299]
        * sysdeps/x86/cpu-features.c (init_cpu_features): Don't set
        GLRO(dl_platform) to NULL.
        * sysdeps/x86_64/Makefile (tests): Add tst-platform-1.
        (modules-names): Add tst-platformmod-1 and
        x86_64/tst-platformmod-2.
        (CFLAGS-tst-platform-1.c): New.
        (CFLAGS-tst-platformmod-1.c): Likewise.
        (CFLAGS-tst-platformmod-2.c): Likewise.
        (LDFLAGS-tst-platformmod-2.so): Likewise.
        ($(objpfx)tst-platform-1): Likewise.
        ($(objpfx)tst-platform-1.out): Likewise.
        (tst-platform-1-ENV): Likewise.
        ($(objpfx)x86_64/tst-platformmod-2.os): Likewise.
        * sysdeps/x86_64/tst-platform-1.c: New file.
        * sysdeps/x86_64/tst-platformmod-1.c: Likewise.
        * sysdeps/x86_64/tst-platformmod-2.c: Likewise.

commit 4b0fa403ab14d046e1b13de397016cef1c06acae
Author: Mike FABIAN <address@hidden>
Date:   Thu Oct 19 15:15:01 2017 +0200

    Add new locale mjw_IN [BZ #13994]
    
        [BZ #13994]
        * locale/iso-639.def: Add Karbi.
        * localedata/SUPPORTED: Add mjw_IN/UTF-8.
        * localedata/locales/mjw_IN: New file.

commit 81325b12b14c44887f1633a2c180a413afc2b504
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 18 17:37:18 2017 +0000

    Add _Float128 function aliases.
    
    This patch adds support for *f128 function aliases on platforms where
    long double has the binary128 format (and thus GCC 7 provides the
    _Float128 type with the same ABI as long double but as a distinct type
    in terms of C type compatibility).  This is the same API as provided
    in glibc 2.26 for powerpc64le / x86_64 / x86 / ia64 where _Float128
    has a different format from long double, with the bulk of the API
    coming from TS 18661-3.  All the functions alias the corresponding
    long double functions, and __* function names are not provided since
    those are only needed once for each floating-point format, not more
    than once for different types with the same format (so for example,
    -ffinite-math-only maps foof128 to __fool_finite, while type-generic
    macros end up calling e.g. __issignalingl for _Float128 arguments on
    such platforms).
    
    The preparation for this feature was done in previous patches, so this
    one just needs to add the relevant makefile and header definitions,
    and update macro definitions of libm_alias_ldouble_other_r, to turn on
    the feature, and update documentation and ABI baselines.
    
    Tested (a) for x86_64, (b) for aarch64, (c) with build-many-glibcs.py
    with both GCC 6 and GCC 7.
    
        * sysdeps/ieee754/ldbl-128/Makeconfig: New file.
        * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
        * sysdeps/ieee754/ldbl-128/float128-abi.h: Likewise.
        * sysdeps/generic/libm-alias-ldouble.h: Include <bits/floatn.h>.
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
        (libm_alias_ldouble_other_r): Also create _Float128 alias.
        * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Include
        <bits/floatn.h>.
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
        (libm_alias_ldouble_other_r): Also create _Float128 alias.
        * manual/math.texi (Mathematics): Document additional architecture
        support for _Float128.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.

commit a68ba2f3cd3cbe32c1f31e13c20ed13487727b32
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Oct 18 17:26:23 2017 +0100

    [AARCH64] Rewrite elf_machine_load_address using _DYNAMIC symbol
    
    This patch rewrites aarch64 elf_machine_load_address to use special _DYNAMIC
    symbol instead of _dl_start.
    
    The static address of _DYNAMIC symbol is stored in the first GOT entry.
    Here is the change which makes this solution work (part of binutils 2.24):
    https://sourceware.org/ml/binutils/2013-06/msg00248.html
    
    i386, x86_64 targets use the same method to do this as well.
    
    The original implementation relies on a trick that R_AARCH64_ABS32 
relocation
    being resolved at link time and the static address fits in the 32bits.
    However, in LP64, normally, the address is defined to be 64 bit.
    
    Here is the C version one which should be portable in all cases.
    
        * sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use
        _DYNAMIC symbol to calculate load address.

commit 346729f66b905344e4ce24045489d189e5b4a9b8
Author: Paul Clarke <address@hidden>
Date:   Wed Oct 18 12:02:02 2017 -0200

    powerpc: fix check-before-set in SET_RESTORE_ROUND
    
    A performance regression was introduced by commit
    84d74e427a771906830800e574a72f8d25a954b8 "powerpc: Cleanup fenv_private.h".
    
    In the powerpc implementation of SET_RESTORE_ROUND, there is the
    following code in the "SET" function (slightly simplified):
    --
      old.fenv = fegetenv_register ();
    
      new.l = (old.l & _FPU_MASK_TRAPS_RN) | r; (1)
    
      if (new.l != old.l)                       (2)
        {
          if ((old.l & _FPU_ALL_TRAPS) != 0)
            (void) __fe_mask_env ();
          fesetenv_register (new.fenv);         (3)
    --
    
    Line (1) sets the value of "new" to the current value of FPSCR,
    but masks off summary bits, exceptions, non-IEEE mode, and
    rounding mode, then ORs in the new rounding mode.
    
    Line (2) compares this new value to the current value in order to
    avoid setting a new value in the FPSCR (line (3)) unless something
    significant has changed (exception enables or rounding mode).
    
    The summary bits are not germane to the comparison, but are cleared
    in "new" and preserved in "old", resulting in false negative
    comparisons, and unnecessarily setting the FPSCR in those cases
    with associated negative performance impacts.
    
    The solution is to treat the summaries identically for "new" and "old":
    - save them in SET
    - leave them alone otherwise
    - restore the saved values in RESTORE
    
    Also minor changes:
    - expand _FPU_MASK_RN to 64bit hex, to match other MASKs
    - treat bit 52 (left-to-right) as reserved (since it is)
    
        * sysdeps/powerpc/fpu/fenv_private.h (_FPU_MASK_TRAPS_RN):
        (_FPU_MASK_FRAC_INEX_RET_CC): Fix masks to more properly handle
        summary bits.
        (_FPU_MASK_RN): Expand _FPU_MASK_RN to 64bit hex.
        (_FPU_MASK_NOT_RN_NI): Treat bit 52 (left-to-right) as reserved.
    
    Reviewed-by: Tulio Magno Quites Machado Filho <address@hidden>

commit 508b1e71a37355839ab91f9c09ce7e577cf69a58
Author: Mike FABIAN <address@hidden>
Date:   Wed Oct 18 14:27:44 2017 +0200

    Use U+202F NARROW NO-BREAK SPACE as thousands separators in pl_PL locale 
[BZ #16777]
    
        [BZ #16777]
        * localedata/locales/pl_PL (LC_MONETARY): Use U+202F as 
mon_thousands_sep
        and improve readability by using more ASCII.
        * localedata/locales/pl_PL (LC_NUMERIC): Use U+202F as thousands_sep
        and improve readability by using more ASCII.

commit 2c2245b92ccf6344b324d17d8f94ccd3b8c559c6
Author: Wilco Dijkstra <address@hidden>
Date:   Wed Oct 18 12:20:55 2017 +0100

    Fix build failure on tilepro due to unsupported atomics
    
            * malloc/malloc.c (malloc_state): Use int for have_fastchunks since
            not all targets support atomics on bool.

commit 13c92696d2f66e94e4f04248550cc2b8f283bfd0
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 17 20:16:01 2017 +0000

    Use __f128 to define FLT128_* constants in include/float.h for old GCC.
    
    When using compilers before GCC 7, include/float.h provides fallback
    definitions of FLT128_* constants.  These definitions use 'Q' constant
    suffixes, which works for configurations with _Float128 ABI-distinct
    from long double, but not where it has the same ABI as long double.
    This patch changes the definitions to use the __f128 macro from
    <bits/floatn.h>, so allowing them to work in the non-distinct
    _Float128 case (where they are used in building glibc tests, not for
    building glibc itself) as well.
    
    Tested (a) with build-many-glibcs.py with GCC 6 (installed stripped
    shared libraries unchanged by the patch); (b) with
    build-many-glibcs.py with GCC 6 together with the main patch to enable
    float128 aliases; (c) for x86_64 with both GCC 6 and GCC 7.
    
        * include/float.h [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 &&
        __GLIBC_USE (IEC_60559_TYPES_EXT)] (FLT128_MAX): Define using
        __f128.
        [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE
        (IEC_60559_TYPES_EXT)] (FLT128_EPSILON): Likewise.
        [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE
        (IEC_60559_TYPES_EXT)] (FLT128_MIN): Likewise.
        [!__GNUC_PREREQ (7, 0) && __HAVE_FLOAT128 && __GLIBC_USE
        (IEC_60559_TYPES_EXT)] (FLT128_TRUE_MIN): Likewise.

commit 71d85045fdaefbd2dc1708ed6123ebdb880cb3ed
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Sep 28 08:41:27 2017 -0700

    posix: Add p{readv,writev}2 flags to generic uio-ext.h
    
        * bits/uio-ext.h (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, RWF_NOWAIT): New
        defines.

commit 3381be5cdef2e43949db12f66a5a3ec23b2c4c90
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Oct 17 18:55:16 2017 +0100

    Improve malloc initialization sequence
    
    The current malloc initialization is quite convoluted. Instead of
    sometimes calling malloc_consolidate from ptmalloc_init, call
    malloc_init_state early so that the main_arena is always initialized.
    The special initialization can now be removed from malloc_consolidate.
    This also fixes BZ #22159.
    
    Check all calls to malloc_consolidate and remove calls that are
    redundant initialization after ptmalloc_init, like in int_mallinfo
    and __libc_mallopt (but keep the latter as consolidation is required for
    set_max_fast).  Update comments to improve clarity.
    
    Remove impossible initialization check from _int_malloc, fix assert
    in do_check_malloc_state to ensure arena->top != 0.  Fix the obvious bugs
    in do_check_free_chunk and do_check_remalloced_chunk to enable single
    threaded malloc debugging (do_check_malloc_state is not thread safe!).
    
        [BZ #22159]
        * malloc/arena.c (ptmalloc_init): Call malloc_init_state.
        * malloc/malloc.c (do_check_free_chunk): Fix build bug.
        (do_check_remalloced_chunk): Fix build bug.
        (do_check_malloc_state): Add assert that checks arena->top.
        (malloc_consolidate): Remove initialization.
        (int_mallinfo): Remove call to malloc_consolidate.
        (__libc_mallopt): Clarify why malloc_consolidate is needed.

commit e956075a5a2044d05ce48b905b10270ed4a63e87
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Oct 17 18:43:31 2017 +0100

    Use relaxed atomics for malloc have_fastchunks
    
    Currently free typically uses 2 atomic operations per call.  The 
have_fastchunks
    flag indicates whether there are recently freed blocks in the fastbins.  
This
    is purely an optimization to avoid calling malloc_consolidate too often and
    avoiding the overhead of walking all fast bins even if all are empty during 
a
    sequence of allocations.  However using catomic_or to update the flag is
    completely unnecessary since it can be changed into a simple boolean and
    accessed using relaxed atomics.  There is no change in multi-threaded 
behaviour
    given the flag is already approximate (it may be set when there are no 
blocks in
    any fast bins, or it may be clear when there are free blocks that could be
    consolidated).
    
    Performance of malloc/free improves by 27% on a simple benchmark on AArch64
    (both single and multithreaded). The number of load/store exclusive 
instructions
    is reduced by 33%. Bench-malloc-thread speeds up by ~3% in all cases.
    
        * malloc/malloc.c (FASTCHUNKS_BIT): Remove.
        (have_fastchunks): Remove.
        (clear_fastchunks): Remove.
        (set_fastchunks): Remove.
        (malloc_state): Add have_fastchunks.
        (malloc_init_state): Use have_fastchunks.
        (do_check_malloc_state): Remove incorrect invariant checks.
        (_int_malloc): Use have_fastchunks.
        (_int_free): Likewise.
        (malloc_consolidate): Likewise.

commit e4dd4ace56880d2f1064cd787e2bdb96ddacc3c4
Author: Wilco Dijkstra <address@hidden>
Date:   Tue Oct 17 18:25:43 2017 +0100

    Inline tcache functions
    
    The functions tcache_get and tcache_put show up in profiles as they
    are a critical part of the tcache code.  Inline them to give tcache
    a 16% performance gain.  Since this improves multi-threaded cases
    as well, it helps offset any potential performance loss due to adding
    single-threaded fast paths.
    
        * malloc/malloc.c (tcache_put): Inline.
        (tcache_get): Inline.

commit 8867c3c14b0005530d041215de8383a0fbf2c327
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Oct 17 13:32:03 2017 -0200

    Fix armv7-a compiler option name
    
    This patch fixes the wrong -march name option used to define
    the ARMv7-A glibc variant pushed on commit 3d26560.

commit 5bf58bc75000e2f49a4836a53dcd2a43884469be
Author: Aurelien Jarno <address@hidden>
Date:   Thu Jun 30 12:57:32 2016 +0200

    New locale address@hidden [BZ #2522]
    
    The Valencian (meridional Catalan) locale is basically a copy of the
    Catalan locale. The point of having a separate locale is only for PO
    translations. This locale is already provided by several distributions
    and is already supported by various projects like LibreOffice, Mozilla,
    Gnome, KDE.
    
        Aurelien Jarno  <address@hidden>
        [BZ #2522]
        * localedata/locales/address@hidden: New file.
        * localedata/SUPPORTED: Add address@hidden/UTF-8.

commit 386e1c26ac473d6863133ab9cbe3bbda16c15816
Author: Romain Naour <address@hidden>
Date:   Mon Oct 16 23:21:56 2017 +0200

    Let signbit use the builtin in C++ mode with gcc < 6.x (bug 22296)
    
    When using gcc < 6.x, signbit does not use the type-generic
    __builtin_signbit builtin, instead it uses __MATH_TG.
    However, when library support for float128 is available, __MATH_TG uses
    __builtin_types_compatible_p, which is not available in C++ mode.
    
    On the other hand, libstdc++ undefines (in cmath) many macros from
    math.h, including signbit, so that it can provide its own functions.
    However, during its configure tests, libstdc++ just tests for the
    availability of the macros (it does not undefine them, nor does it
    provide its own functions).
    
    Finally, libstdc++ configure tests include math.h and get the definition
    of signbit that uses __MATH_TG (and __builtin_types_compatible_p).
    Since libstdc++ does not undefine the macros during its configure
    tests, they fail.
    
    This patch lets signbit use the builtin in C++ mode when gcc < 6.x is
    used. This allows the configure test in libstdc++ to work.
    
    Tested for x86_64.
    
        [BZ #22296]
        * math/math.h: Let signbit use the builtin in C++ mode with gcc
        < 6.x
    
    Cc: Gabriel F. T. Gomes <address@hidden>
    Cc: Joseph Myers <address@hidden>

commit 3d265601358974c9be8264e53dadd8f9aea5690c
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Oct 9 15:53:33 2017 -0300

    Add build-many-glibcs.py arm-linux-gnueabihf-v7{-disable-multiarch}
    
    This patch adds two extra configuration for arm-linux-gnueabihf to
    cover for multiarch support:
    
      1. arm-linux-gnueabihf-v7a: enables multiarch support by using
         -march=armv7a.
    
      2. Same as 1. but with --disable-multiarch.
    
    Check with build-many-glibcs.py for both options.
    
        * scripts/build-many-glibcs.py (Context.add_all_configs):
        Add arm-linux-gnueabihf multiarch extra_glibcs.

commit 4e17c78e4a5da41b3cfefdd49ab760b051b65029
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Oct 12 16:24:44 2017 -0300

    Add common ifunc-init.h header
    
    This patch moves the generic definition from x86_64 init-arch
    to a common header ifunc-init.h.  No functional changes is expected.
    
    Checked on a x86_64-linux-gnu build.
    
        * sysdeps/generic/ifunc-init.h: New file.
        * sysdeps/x86/init-arch.h: Use generic ifunc-init.h.

commit 56a752ab6aa89088a787d852358cdd8f0a0d57f1
Author: Mike FABIAN <address@hidden>
Date:   Tue Oct 17 14:54:53 2017 +0200

    Place monetary symbol in el_GR and el_CY after the amount
    
    CLDR uses this pattern as well.
    
        [BZ #22019]
        * localedata/locales/el_GR: Set n_cs_precedes to 0.
        * localedata/locales/el_CY: copy "el_GR" because it is identical.
        * stdlib/tst-strfmon_l.c: adapt test case.

commit c38a4bfd596db2be2b9c1f96715bdc833eab760a
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 16 22:04:42 2017 +0000

    Move some float128 symbol version definitions.
    
    With support for _Float128 functions on platforms where that type has
    the same ABI as long double, as well as on platforms where it is
    ABI-distinct, those functions will need to be exported from glibc's
    shared libraries at appropriate symbol versions in each case.
    
    This patch avoids duplication of lists of symbols to export by moving
    the symbols other than __* to math/Versions and stdlib/Versions.
    There, they are conditional on <float128-abi.h> defining
    FLOAT128_VERSION and a default version of that header is added that
    does not define that macro.  Enabling the float128 function aliases
    will then include adding a sysdeps/ieee754/ldbl-128/float128-abi.h
    that defines FLOAT128_VERSION to GLIBC_2.27.  Symbols __* remain in
    sysdeps/ieee754/float128/Versions; those symbols should be present
    only once per floating-point format, not once per type.
    
    Note that if any platforms currently lacking support for a type with
    binary128 format get glibc support for such a type in future (whether
    only as _Float128, or also as a new long double format), and new libm
    functions (present for all types) have been added by then, additional
    macros will be needed to allow such functions to get a version of the
    form "GLIBC_2.28 if the platform had _Float128 support by then, or the
    later version at which that platform had _Float128 support added".
    This is not however a preexisting condition, but would have applied
    equally to the existing support for _Float128 as an ABI-distinct
    type.  New all-type libm functions should just be added to the
    appropriate symbol version (currently GLIBC_2.27) for all types, with
    such special-case handling for _Float128 versions (and _Float64x as
    well in future) waiting until someone actually wants to add support
    for _Float128 to an existing platform after a release in which that
    platform and a post-2.26 libm function had support but that platform
    lacked _Float128 support.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.  Also tested in conjunction
    with the remaining changes to enable float128 aliases.
    
        * sysdeps/generic/float128-abi.h: New file.
        * sysdeps/ieee754/float128/Versions (FLOAT128_VERSION): Move
        non-__prefixed symbols to ....
        * math/Versions: ... here.  Include <float128-abi.h>.
        * stdlib/Versions ... and here.  Include <float128-abi.h>

commit 76009b2639e8f2fd06d06366ad383be5d8783236
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 16 21:39:18 2017 +0200

    version.h: Switch to ".9000" as the suffix for the development version

commit 7ece6cd509703ee151092a50956dbd45ca1b13da
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 16 20:52:34 2017 +0200

    malloc: Use compat_symbol_reference in libmcheck [BZ #22050]
    
    Since glibc 2.24, __malloc_initialize_hook is a compat symbol.  As a
    result, the link editor does not export a definition of
    __malloc_initialize_hook from the main program, so that it no longer
    interposes the variable definition in libc.so.  Specifying the symbol
    version restores the exported symbol.

commit d8287b36ab44aa2bc3ba59b97433bcf0ab6ae0e8
Author: Florian Weimer <address@hidden>
Date:   Mon Oct 16 20:50:04 2017 +0200

    malloc: Do not compile mcheck-init.o as libc module
    
    Otherwise, this will lead to a link failure because the reference
    to mcheck is hidden.

commit 3480ddc40b8f9a9fb277fe1883e359db3db0ab17
Author: Carlos O'Donell <address@hidden>
Date:   Mon Oct 16 20:43:28 2017 +0200

    shlib-compat: Update documentation of the compat_symbol_reference macro

commit 596f70134a8f11967c65c1d55a94a3a2718c731d
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 16 13:28:30 2017 +0000

    Support running libm tests for float128 as alias for long double.
    
    This patch adds support for running libm tests for float128 in the
    case where the float128 functions are aliases of long double
    functions.  In this case, the sysdeps Makeconfig file
    (i.e. sysdeps/ieee754/ldbl-128/Makeconfig) will need to define
    "float128-alias-fcts = yes" to enable the tests.
    
    Tested for x86_64.  Also tested with build-many-glibcs.py; installed
    stripped shared libraries are unchanged by the patch.  Also tested
    together with changes to enable the float128 aliases.
    
        * math/Makefile (test-types): Add
        $(type-float128-$(float128-alias-fcts)).
        * math/test-float128.h (TYPE_STR): Define conditional on
        [FLT128_MANT_DIG == LDBL_MANT_DIG].
        (ULP_IDX): Likewise.
        (ULP_I_IDX): Likewise.

commit 02010e79ceb7989686a0c8c40878024e30fdc888
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 16 13:22:11 2017 +0000

    Support strtof128 etc. aliases.
    
    This patch adds support for building strtof128, wcstof128, strtof128_l
    and wcstof128_l as aliases, in the case of __HAVE_FLOAT128 &&
    !__HAVE_DISTINCT_FLOAT128.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.  Also tested together with
    changes to enable float128 aliases.
    
        * stdlib/strtold.c: Include <bits/floatn.h>
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128): Define
        and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128): Define
        and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].
        * sysdeps/ieee754/ldbl-128/strtold_l.c [__HAVE_FLOAT128 &&
        !__HAVE_DISTINCT_FLOAT128] (strtof128_l): Define and later
        undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l):
        Define and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].
        * sysdeps/ieee754/ldbl-64-128/strtold_l.c: Include
        <bits/floatn.h>.
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strtof128_l):
        Define and later undefine as macro.  Define as weak alias if
        [!USE_WIDE_CHAR].
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (wcstof128_l):
        Define and later undefine as macro.  Define as weak alias if
        [USE_WIDE_CHAR].

commit ea91c315bca91fe8d5c36f1aa1dc98d2f0ab4ef4
Author: Carlos O'Donell <address@hidden>
Date:   Sat Oct 14 15:38:05 2017 -0700

    locale: Don't use \n with record_verbose messages.
    
    Recorded verbose messages no longer need to pass \n in their
    message string since the record_verbose function adds \n to
    the messages (like error and warnings do also). The avoids
    seeing a double \n for verbose messages.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 8e57c9432a2b68c8a1e7f4df28f0e8c7acc04753
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 15 08:16:26 2017 -0700

    Silence -O3 -Wall warning in malloc/hooks.c with GCC 7 [BZ #22052]
    
    realloc_check has
    
      unsigned char *magic_p;
    ...
      __libc_lock_lock (main_arena.mutex);
      const mchunkptr oldp = mem2chunk_check (oldmem, &magic_p);
      __libc_lock_unlock (main_arena.mutex);
      if (!oldp)
        malloc_printerr ("realloc(): invalid pointer");
    ...
      if (newmem == NULL)
        *magic_p ^= 0xFF;
    
    with
    
    static void malloc_printerr(const char *str) __attribute__ ((noreturn));
    
    GCC 7 -O3 warns
    
    hooks.c: In function ‘realloc_check’:
    hooks.c:352:14: error: ‘magic_p’ may be used uninitialized in this 
function [-Werror=maybe-uninitialized]
         *magic_p ^= 0xFF;
    
    due to the GCC bug:
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82090
    
    This patch silences GCC 7 by using DIAG_IGNORE_NEEDS_COMMENT.
    
        [BZ #22052]
        * malloc/hooks.c (realloc_check): Use DIAG_IGNORE_NEEDS_COMMENT
        to silence -O3 -Wall warning with GCC 7.

commit a4777c46af89649f2282c1703e8117ccd058d719
Author: H.J. Lu <address@hidden>
Date:   Sat Oct 14 12:58:40 2017 -0700

    Add a test for profiling static executable
    
    The function, main, is added to profiling output of static executable
    which must link against gcrt1.o.
    
        * Makeconfig (+link-static-before-libc): Use the first of
        $(CRT-$(@F)) and $(csu-objpfx)$(static-start-installed-name).
        * gmon/Makefile (tests): Add tst-gmon-static.
        (tests-static): Likewise.
        (CFLAGS-tst-gmon-static.c): New.
        (CRT-tst-gmon-static): Likewise.
        (DEFAULT-LDFLAGS-tst-gmon-static): Likewise.
        (tst-gmon-static-ENV): Likewise.
        (tests-special): Likewise.
        ($(objpfx)tst-gmon-static.out): Likewise.
        (clean-tst-gmon-static-data): Likewise.
        ($(objpfx)tst-gmon-static-gprof.out): Likewise.
        * gmon/tst-gmon-static-gprof.sh: New file.
        * gmon/tst-gmon-static.c: Likewise.

commit bc3821bb3b19646311d36c82a13b4ce5afea3508
Author: Carlos O'Donell <address@hidden>
Date:   Fri Oct 13 14:36:23 2017 -0700

    locale: No warning for non-symbolic character (bug 22295)
    
    In "Is it OK to write ASCII strings directly into locale source files?"
    https://sourceware.org/ml/libc-alpha/2017-07/msg00807.html there is
    universal consensus that we do not have to keep writing <Uxxxx> symbolic
    characters in locale files.
    
    Ulrich Drepper's historical comment was that symbolic characters were
    used for the eventuality of converting the source files to any encoding
    system. Fast forward to today and UTF-8 is the standard. So the
    requirement of <Uxxxx> is hard to justify.
    
    Zack Weinberg's excellent scripts are coming along we can use these to
    find instances of human errors in the scripts:
    https://sourceware.org/ml/libc-alpha/2017-07/msg00860.html
    https://sourceware.org/ml/libc-alpha/2017-08/msg00136.html
    
    It still won't be easy to distinguish from i for í, but that's still the
    case for <Uxxxx> characters which humans can't read either.
    
    Since we all agreed that we should be able to use non-symbolic (<Uxxxx>)
    characters in locale files, the following change removes the verbose
    warning that is raised if you use non-symbolic characters in the locale
    file.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit a3e23a2c1d9e871545c6f438a41fcb8ad429cf70
Author: Carlos O'Donell <address@hidden>
Date:   Fri Oct 13 14:33:09 2017 -0700

    locale: Allow "" int_curr_Symbol (bug 22294)
    
    The builtin POSIX locale has "" as the international currency symbol,
    but a non-builtin locale may not have such a blank int_curr_symbol.
    
    Therefore to support non-builtin locales with similar "" int_curr_symbol
    we adjust the LC_MONETARY parser to allow the normal 4-character
    int_curr_symbol *and* the empty "" no symbol. Anything else remains
    invalid.
    
    Tested by building all the locales.  Tested also with a custom C.UTF-8
    locale with "" for int_curr_symbol.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit f16491eb8ebbef402f3da6f4035ce70fe36dec97
Author: Carlos O'Donell <address@hidden>
Date:   Fri Oct 13 09:54:03 2017 -0700

    locale: Fix localedef exit code (Bug 22292)
    
    The error and warning handling in localedef, locale, and iconv
    is a bit of a mess.
    
    We use ugly constructs like this:
          WITH_CUR_LOCALE (error (1, errno, gettext ("\
    cannot read character map directory `%s'"), directory));
    
    to issue errors, and read error_message_count directly from the
    error API to detect errors. The problem with that is that the
    code also uses error to print warnings, and informative messages.
    All of this leads to problems where just having warnings will
    produce an exit status as-if errors had been seen.
    
    To fix this situation I have adopted the following high-level
    changes:
    * All errors are counted distinctly.
    * All warnings are counted distinctly.
    * All informative messages are not counted.
    * Increasing verbosity cannot generate *more* errors, and
      it previously did for errors conditional on verbose,
      this is now fixed.
    * Increasing verbosity *can* generate *more* warnings.
    * Making the output quiet cannot generate *fewer* errors,
      and it previously did for errors conditional on be_quiet,
      this is now fixed.
    * Each of error, warning, and informative message has it's
      own function to call defined in record-status.h, and they
      are: record_error, record_warning, and record_verbose.
    * The record_error function always records an error, but
      conditional on be_quiet may not print it.
    * The record_warning function always records a warning,
      but conditional on be_quiet may not print it.
    * The record_verbose function only prints the verbose
      message if verbose is true and be_quiet is false.
    
    This has allowed the following fix:
    * Previously any warnings were being treated as errors
      because they incremented error_message_count, but now
      we properly return an exit status of 1 if there are
      warnings but output was generated.
    
    All of this allows localedef to correctly decide if errors,
    or warnings were present, and produce the correct exit code.
    
    The locale and iconv programs now also use record-status.h
    and we have removed the WITH_CUR_LOCALE hack, and instead
    have internal push_locale/pop_locale functions centralized
    in the record routines.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 8dc8be75d2afb7ebaf55f7609b301e5c6b8692e5
Author: Carlos O'Donell <address@hidden>
Date:   Thu Oct 12 23:52:14 2017 -0700

    localedata: Reorganize Unicode LC_CTYPE inclusion.
    
    The commit does the following things:
    
    * Move non-transliteration Unicode generated data to i18n_ctype.
    * Copy the i18n_ctype data into i18n and add transliteration.
    
    In the future, any locale which needs Unicode LC_CTYPE data can
    also just use `copy i18n_ctype` and get the base character classes
    and maps without transliteration.
    
    Tested by compiling all the locales and my prototype C.UTF-8 which
    uses it.
    
    Signed-off-by: Carlos O'Donell <address@hidden>

commit 18c08b96414c7bb01af92bfef8d542ffc7bdaf80
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 13 23:09:48 2017 +0000

    Support strfromf128 alias.
    
    This patch adds support for building strfromf128 as an alias of
    strfroml, in the case of __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.  Also tested together with
    changes to enable float128 aliases.
    
        * stdlib/strfroml.c: Include <bits/floatn.h>.
        [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strfromf128):
        Define before include of <stdlib.h> and undefine afterwards, then
        define as weak alias.

commit f8718a9e1620d6645e3c069e9b13fcd09f6db462
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 13 23:05:15 2017 +0000

    Use libm_alias_ldouble_other in ldbl-64-128/s_nextafterl.c.
    
    This patch makes ldbl-64-128/s_nextafterl.c restore the default
    weak_alias definition and use libm_alias_ldouble_other (having
    undefined and redefined weak_alias for the include of
    ldbl-128/s_nextafterl.c, so the libm_alias_ldouble use in the latter
    file is ineffective).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.  Also tested together with
    changes to enable float128 aliases.
    
        * sysdeps/ieee754/ldbl-64-128/s_nextafterl.c (weak_alias):
        Undefine and restore default definition.  Use
        libm_alias_ldouble_other.

commit e4f530da0db59ff51549c11ed6ef799b4ade1c87
Author: Peter Zelezny <address@hidden>
Date:   Fri Oct 13 22:49:49 2017 +0200

    nptl: Preserve error in setxid thread broadcast in coredumps [BZ #22153]

commit 8644588807215ab09716ac04a150f91ac83acffd
Author: James Clarke <address@hidden>
Date:   Fri Oct 13 15:44:39 2017 -0300

    Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64
    
    Normally, TLS relocations against local symbols are optimised by the linker
    to be absolute.  However, gold does not do this, and so it is possible to
    end up with, for example, R_SPARC_TLS_DTPMOD64 referring to a local symbol.
    Since sym_map is left as null in elf_machine_rela for the special local
    symbol case, the relocation handling thinks it has nothing to do, and so
    the module gets left as 0.  Havoc then ensues when the variable in question
    is accessed.
    
    Before this fix, the main_local_gold program would receive a SIGBUS on
    sparc64, and SIGSEGV on powerpc32.  With this fix applied, that test now
    passes like the rest of them.
    
        * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
        Assign sym_map to be map for local symbols, as TLS relocations
        use sym_map to determine whether the symbol is defined and to
        extract the TLS information.
        * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
        * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.

commit e8dbd6a36d8e4d30e736e28a364f7a4d1404079a
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Oct 13 15:44:39 2017 -0300

    powerpc: Avoid putting floating point values in memory [BZ #22189]
    
        [BZ #22189]
        * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier):
        (math_force_eval): Add powerpc version.

commit 179dcdb7af4983fd42824db748ee6cb05f8d71cf
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Oct 13 15:44:39 2017 -0300

    [BZ #22142] powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7
    
    Fix the ifdef clause that was being used in the opposite way, setting
    a wrong value of the carry bit.
    
    This is also correcting 2 memory accesses that were mistakenly referring
    to r0 while they were supposed to mean the immediate value 0.
    
        [BZ #22142]
        * stdio-common/tst-printf.c (fp_test): Add tests for DBL_MAX and
        -DBL_MAX.
        (do_test): Likewise.
        * stdio-common/tst-printf.sh: Likewise.
        * sysdeps/powerpc/powerpc64/power7/add_n.S: Invert the initial
        ifdef clause in order to set the carry bit right.  Replace r0 by
        0 without changing the behavior.

commit 006e766437033d6565133ce356b55d7b301a7b58
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 13 16:43:18 2017 +0000

    Use libm_alias_ldouble for SPARC fabsl.
    
    This patch makes SPARC fabsl implementation use libm_alias_ldouble, to
    prepare them for also defining _Float128 function aliases.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries (sparc64-linux-gnu and sparcv9-linux-gnu) are unchanged by
    the patch.
    
        * sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include
        <libm-alias-ldouble.h>.
        (fabsl): Define using libm_alias_ldouble.
        * sysdeps/sparc/sparc64/fpu/s_fabsl.c: Include
        <libm-alias-ldouble.h>.
        (fabsl): Define using libm_alias_ldouble.

commit 1def91b304faaaf18ab1162bf02bd43c13b5a74d
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 13 16:38:37 2017 +0000

    Fix ldbl-opt/w_lgamma_compatl.c libm_alias_ldouble_other usage.
    
    Testing with changes to enable _Float128 function aliases shows that
    the libm_alias_ldouble_other usage in ldbl-opt/w_lgamma_compatl.c does
    not in fact work.  Furthermore, it is unnecessary; the relevant
    aliases get created through w_lgammal_compat2.c.  This patch removes
    the problem code.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.  Also tested in conjunction with
    patches to enable _Float128 function aliases.
    
        * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]:
        Remove conditional code.

commit 7d25d410c23933efa6378c98b0b314f458a48b8e
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 13 16:36:45 2017 +0000

    Fix ldbl-opt/s_clog10l.c libm_alias_ldouble_other usage.
    
    Testing with changes to enable _Float128 function aliases shows that
    the libm_alias_ldouble_other usage in ldbl-opt/s_clog10l.c does not in
    fact work, because __clog10l is defined with long_double_symbol rather
    than as a normal C alias.  This patch fixes this by renaming the
    __clog10l__internal alias (not strictly necessary, but avoids a hack
    with "__clog10l_interna" / "__clog10l__interna" as first argument to
    libm_alias_ldouble_other) and using the renamed alias when calling
    libm_alias_ldouble_other.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanges by the patch.  Also tested in conjunction with
    patches to enable _Float128 function aliases.
    
        * sysdeps/ieee754/ldbl-opt/s_clog10l.c (__clog10l__internal):
        Rename to __clog10_internal_l.
        (__clog10_internal_l): Define aliases using
        libm_alias_ldouble_other instead of using libm_alias_ldouble_other
        with __clog10.

commit 077ee129781ad7c003184f6c00cb61744a727157
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Oct 13 14:19:45 2017 +0530

    Benchtests for sinf, cosf and sincosf
    
    Numbers used from cos and sin inputs.

commit 5ba41de9ed2cf6cf39a9cd7a7541bc71fc447d52
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Sep 26 17:40:09 2017 +0100

    fix posix/tst-spawn test
    
    The test spawns two children but only waited for one.
    The fix avoids printing to stderr.
    
        * posix/tst-spawn.c (do_test): Wait for both children.

commit 7bacdcfc42b01a4c565abfc3d789577850481d05
Author: H.J. Lu <address@hidden>
Date:   Thu Oct 12 05:31:50 2017 -0700

    Update ChangeLog entry for commit d165ca6498

commit d165ca64980f90ccace088670652cc203d1b5411
Author: H.J. Lu <address@hidden>
Date:   Thu Oct 12 03:45:55 2017 -0700

    Support profiling PIE [BZ #22284]
    
    Since PIE can be loaded at any address, we need to subtract load address
    from PCs.
    
        [BZ #22284]
        * gmon/Makefile [$(have-fpie)$(build-shared) == yesyes] (tests,
        tests-pie): Add tst-gmon-pie.
        (CFLAGS-tst-gmon-pie.c): New.
        (CRT-tst-gmon-pie): Likewise.
        (tst-gmon-pie-ENV): Likewise.
        [$(have-fpie)$(build-shared) == yesyes] (tests-special): Likewise.
        ($(objpfx)tst-gmon-pie.out): Likewise.
        (clean-tst-gmon-pie-data): Likewise.
        ($(objpfx)tst-gmon-pie-gprof.out): Likewise.
        * gmon/gmon.c [PIC]: Include <link.h>.
        [PIC] (callback): New function.
        (write_hist): Add an argument for load address.  Subtract load
        address from PCs.
        (write_call_graph): Likewise.
        (write_gmon): Call __dl_iterate_phdr to get load address, pass
        it to write_hist and write_call_graph.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit bc9620d040b7494f457ccb750c9797b47ed76ada
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 11 17:46:19 2017 +0000

    Run libm long double tests for long double = double.
    
    All interfaces in the glibc API ought to be covered by the testsuite,
    even where they alias other interfaces.  This patch arranges for libm
    tests to be run for long double when it aliases double; previously
    those tests were run only for the floating-point types with distinct
    formats.  The long double tests are made to use the double ulps values
    in this case, as having a separate duplicate set of ulps for them
    seems unnecessary; to accommodate that, the test-<type>.h headers now
    specify the macro indexing into the ulps array explicitly instead of
    having it computed from PREFIX.
    
    Nothing special is done about vector function tests.  None are
    supported for any long double = double platforms, and supporting
    vector functions for a type alias such as _Float32 would not simply
    fall out of adding the scalar aliases for that type - it would require
    vector function wrappers like those for *_finite (or, better, a new
    GCC feature to allow specifying the asm name for vector functions
    independently of that for scalar ones, as previously discussed), so it
    seems reasonable to require the sysdeps makefile setting of
    libmvec-tests to be updated if any such tests are to be run for type
    aliases.
    
    Tested for x86_64 and arm.
    
        * math/Makefile (test-types-basic): New variable.
        (test-types): Likewise.
        (libm-test-support): Use $(test-types) instead of $(types).
        (libm-tests-base-normal): Likewise.
        (libm-tests-base-finite): Likewise.
        (libm-tests-base-inline): Likewise.
        (generated): Likewise.
        ($(objpfx)libm-test-support-$(t).c): Likewise.
        (libm-tests-for-type iterator): Likewise.
        (libm-test-support iterator): Likewise.
        * math/libm-test-support.c (ulp_i_idx): Use ULP_I_IDX.
        (ulp_idx): Use ULP_IDX.
        * math/test-ldouble.h: Include <float.h>.
        (TYPE_STR): Define conditional on [LDBL_MANT_DIG == DBL_MANT_DIG].
        (ULP_IDX): New macro.
        (ULP_I_IDX): Likewise.
        * math/test-double.h (ULP_IDX): Likewise.
        (ULP_I_IDX): Likewise.
        * math/test-float.h (ULP_IDX): Likewise.
        (ULP_I_IDX): Likewise.
        * math/test-float128.h (ULP_IDX): Likewise.
        (ULP_I_IDX): Likewise.

commit 09c76a74099826f4c6e1c4c431d7659f78112862
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Aug 3 19:27:27 2017 -0300

    Linux: Consolidate {RTLD_}SINGLE_THREAD_P definition
    
    Current GLIBC has two ways to implement the single thread optimization
    on syscalls to avoid calling the cancellation path: either by using
    global variables (__{libc,pthread}_multiple_thread) or by accessing
    the TCB field (defined by TLS_MULTIPLE_THREADS_IN_TCB).  Both the
    variables and the macros to acces its value are defined in the
    architecture sysdep-cancel.h header.
    
    This patch consolidates its definition on only one header,
    sysdeps/unix/sysv/linux/sysdep-cancel.h, and adds a new define
    (SINGLE_THREAD_BY_GLOBAL) which the architecture defines if it prefer
    to use the global variables instead of the TCB field.  This is an
    optimization, so if the architecture does not define it, the TCB
    method will be used as default.
    
    Checked on x86_64-linux-gnu and on a build with major touched
    ABIs (aarch64-linux-gnu, alpha-linux-gnu, arm-linux-gnueabihf,
    hppa-linux-gnu, i686-linux-gnu, m68k-linux-gnu, microblaze-linux-gnu,
    mips-linux-gnu, mips64-linux-gnu, powerpc-linux-gnu,
    powerpc64le-linux-gnu, s390-linux-gnu, s390x-linux-gnu, sh4-linux-gnu,
    sparcv9-linux-gnu, sparc64-linux-gnu, tilegx-linux-gnu).
    
        * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Remove file.
        * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
        (SINGLE_THREAD_BY_GLOBAL): Define.
        * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
        Likewise.
        * sysdeps/unix/sysv/linux/alpha/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
        Likewise.
        * sysdeps/unix/sysv/linux/hppa/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
        Likewise.
        * sysdeps/unix/sysv/linux/microblaze/sysdep.h
        (SINGLE_THREAD_BY_GLOBAL): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
        Likewise.

commit 2faa42daa886cc176dfc10fef2308c9191a6ec7f
Author: Andreas Schwab <address@hidden>
Date:   Tue Oct 10 14:09:02 2017 +0200

    nscd: remove reference to libnsl
    
    This removes the dependency on libnsl from nscd.  It only used __nis_hash,
    build its own copy under the name __nscd_hash.

commit d8425e116cdd954fea0c04c0f406179b5daebbb3
Author: Florian Weimer <address@hidden>
Date:   Wed Oct 11 07:07:51 2017 +0200

    nss_files: Avoid large buffers with many host addresses [BZ #22078]
    
    The previous implementation had at least a quadratic space
    requirement in the number of host addresses and aliases.

commit 78e806fd8cd8c918d3bbe1bcdf9091ab365e4a69
Author: Florian Weimer <address@hidden>
Date:   Wed Oct 11 07:01:34 2017 +0200

    nss_files: Use struct scratch_buffer for gethostbyname [BZ #18023]

commit 0ff64d3a18fc5111c54ffd3238231754dfd506dc
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 11 02:51:39 2017 +0000

    Use generic alias macros in ldbl-opt.
    
    This patch fixes ldbl-opt code to use generic libm alias macros in
    preparation for getting _FloatN / _FloatNx aliases where appropriate.
    
    Four functions are affected, that undefine and redefine alias macros
    before including the implementations they wrap in such a way that
    _FloatN / _FloatNx aliases would not appear.  s_clog10l.c undefines
    and redefined declare_mgen_alias, so just needs a
    libm_alias_ldouble_other call added.  w_exp10l_compat.c undefines and
    redefines weak_alias, but in fact does not need to do so, since
    math/w_exp10l_compat.c uses libm_alias_ldouble and does not use
    weak_alias other than through that, so the undefines and redefines of
    weak_alias are removed.  w_lgamma_compatl.c and w_remainderl_compat.c
    are made to use libm_alias_ldouble_other in conjunction with restoring
    the original definition of weak_alias so this is effective.
    
    Tested with build-many-glibcs.py.  Installed stripped shared libraries
    are unchanged by this patch.
    
        * sysdeps/ieee754/ldbl-opt/s_clog10l.c: Use
        libm_alias_ldouble_other.
        * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (weak_alias): Do not
        undefine and redefine.
        [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
        (exp10l): Do not define here.
        * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]
        (weak_alias): Undefine and redefine.
        [BUILD_LGAMMA]: Use libm_alias_ldouble_other.
        * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
        [LIBM_SVID_COMPAT] (weak_alias): Undefine and redefine here.
        [LIBM_SVID_COMPAT]: Use libm_alias_ldouble_other.

commit 541f19baf89e16304cdc5c3c8826896d3d2a7034
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 11 00:03:46 2017 +0000

    Use libm_alias_* in soft-fp.
    
    This patch makes the soft-fp implementations of fma functions use the
    libm_alias_* macros.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by the patch.
    
        * soft-fp/fmadf4.c: Include <libm-alias-double.h>.
        [!__fma] (fma): Define using libm_alias_double.
        * soft-fp/fmasf4.c: Include <libm-alias-float.h>.
        [!__fmaf] (fmaf): Define using libm_alias_float.
        * soft-fp/fmatf4.c: Include <libm-alias-ldouble.h>.
        (fmal): Define using libm_alias_ldouble.

commit 24b6515d879c992be194ccd5323b8b780fa6d4d3
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 10 21:29:11 2017 +0000

    Add libm_alias_*_other_r macros.
    
    Some libm functions are unable to use the generic alias macros such as
    libm_alias_double because they have special symbol versioning
    requirements for the main float, double or long double public names.
    
    To facilitate adding _FloatN / _FloatNx function aliases in future,
    it's still desirable to have generic macros those functions can use as
    far as possible.  This patch adds macros such as
    libm_alias_double_other, which only define names for _FloatN /
    _FloatNx aliases, not for float / double / long double.  As present,
    all these new macros do nothing, but they are called in the
    appropriate places in macros such as libm_alias_double.  This patch
    also arranges for lgamma implementations, and the recently added
    optimized float function implementations, to use the new macros to
    make them ready for addition of _FloatN / _FloatNx aliases.
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by this patch.
    
        * sysdeps/generic/libm-alias-double.h (libm_alias_double_other_r):
        New macro.
        (libm_alias_double_other): Likewise.
        (libm_alias_double_r): Use libm_alias_double_other_r.
        * sysdeps/generic/libm-alias-float.h (libm_alias_float_other_r):
        New macro.
        (libm_alias_float_other): Likewise.
        (libm_alias_float_r): Use libm_alias_float_other_r.
        * sysdeps/generic/libm-alias-float128.h
        (libm_alias_float128_other_r): New macro.
        (libm_alias_float128_other): Likewise.
        (libm_alias_float128_r): Use libm_alias_float128_other_r.
        * sysdeps/generic/libm-alias-ldouble.h
        (libm_alias_ldouble_other_r): New macro.
        (libm_alias_ldouble_other): Likewise.
        (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r.
        * sysdeps/ieee754/ldbl-opt/libm-alias-double.h
        (libm_alias_double_other_r): New macro.
        (libm_alias_double_other): Likewise.
        (libm_alias_double_r): Use libm_alias_double_other_r.
        * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
        (libm_alias_ldouble_other_r): New macro.
        (libm_alias_ldouble_other): Likewise.
        (libm_alias_ldouble_r): Use libm_alias_ldouble_other_r.
        * math/w_lgamma_main.c: Include <libm-alias-double.h>.
        [!USE_AS_COMPAT]: Use libm_alias_double_other.
        * math/w_lgammaf_main.c: Include <libm-alias-float.h>.
        [!USE_AS_COMPAT]: Use libm_alias_float_other.
        * math/w_lgammal_main.c: Include <libm-alias-ldouble.h>.
        [!USE_AS_COMPAT]: Use libm_alias_ldouble_other.
        * math/w_exp2f.c: Use libm_alias_float_other.
        * math/w_expf.c: Likewise.
        * math/w_log2f.c: Likewise.
        * math/w_logf.c: Likewise.
        * math/w_powf.c: Likewise.
        * sysdeps/ieee754/flt-32/e_exp2f.c: Include <libm-alias-float.h>.
        [!__exp2f]: Use libm_alias_float_other.
        * sysdeps/ieee754/flt-32/e_expf.c: Include <libm-alias-float.h>.
        [!__expf]: Use libm_alias_float_other.
        * sysdeps/ieee754/flt-32/e_log2f.c: Include <libm-alias-float.h>.
        [!__log2f]: Use libm_alias_float_other.
        * sysdeps/ieee754/flt-32/e_logf.c: Include <libm-alias-float.h>.
        [!__logf]: Use libm_alias_float_other.
        * sysdeps/ieee754/flt-32/e_powf.c: Include <libm-alias-float.h>.
        [!__powf]: Use libm_alias_float_other.

commit 8ed70de2faceb4bd7b35bbdc2b7e8c83d9a297ba
Author: Florian Weimer <address@hidden>
Date:   Tue Oct 10 11:50:41 2017 +0200

    nss_files: Refactor gethostbyname3 multi case into separate function
    
    This is in preparation of further cleanup work.

commit a8dce6197a646fcf870dd2e87069eba3c99099e1
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 9 22:04:18 2017 +0000

    Use generic macros for lgamma_r function aliases.
    
    Continuing the use of generic macros for defining libm function
    aliases, in preparation for adding more _FloatN / _FloatNx function
    names, this patch makes the lgamma_r functions use such macros.
    
    declare_mgen_alias_r becomes a standard macro in math-type-macros.h
    instead of being locally defined in w_lgamma_r_templace.c.  This in
    turn must be defined by each math-type-macros-<type>.h.  Rather than
    providing an unused default in math-type-macros.h, that header is made
    to give an error if math-type-macros-<type>.h failed to define
    declare_mgen_alias or declare_mgen_alias_r.  The compat lgamma_r
    wrappers are updated similarly.  The ldbl-opt versions are removed as
    no longer needed.
    
    Tested for x86_64, and with build-many-glibcs.py.  Installed stripped
    shared libraries are unchanged except for powerpc64le (where the usual
    issue applies that an ldbl-opt long double function previously used
    long_double_symbol unconditionally and now the symbol versions on
    powerpc64le mean weak_alias is used instead, resulting in the same
    symbol versions in the final shared library but still enough
    difference in the input objects for that library not to be
    byte-identical).
    
        * sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give
        error.  Remove default definition of declare_mgen_alias.
        [!declare_mgen_alias_r]: Likewise.
        * sysdeps/generic/math-type-macros-double.h
        [!declare_mgen_alias_r] (declare_mgen_alias_r): New macro.
        * sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r]
        (declare_mgen_alias_r): Likewise.
        * sysdeps/generic/math-type-macros-float128.h
        [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
        * sysdeps/generic/math-type-macros-ldouble.h
        [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
        * math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove
        macro.
        (declare_mgen_alias_r_s): Likewise.
        (declare_mgen_alias_r): Likewise.
        * math/w_lgamma_r_compat.c: Include <libm-alias-double.h>.
        (lgamma_r): Define using libm_alias_double_r.
        * math/w_lgammaf_r_compat.c: Include <libm-alias-float.h>.
        (lgammaf_r): Define using libm_alias_float_r.
        * math/w_lgammal_r_compat.c: Include <libm-alias-ldouble.h>.
        (lgammal_r): Define using libm_alias_ldouble_r.
        * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.

commit bedac136717a1c26fa579aca82124ce3c22254bf
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Oct 9 14:53:16 2017 -0300

    posix: remove glob internal bogus extern decl
    
    Sync with gnulib f586d709f07.  Checked on x86_64-linux-gnu.
    
        * lib/glob.c (__glob_pattern_type): Remove now-spurious
        extern declaration.

commit c7509db215198d3cc460f9291d976d9d9b3102cb
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 9 16:52:56 2017 +0000

    Remove ldbl-opt w_scalbln.c.
    
    The ldbl-opt version of w_scalbln.c is not in fact needed; it handles
    compat symbol versions for libc, but this file isn't built for libc,
    only for libm.  This patch removes this file.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged by this patch.
    
        * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Remove file.

commit d6c064e914cba3277d852c9fa27db53f0059ff8c
Author: Jonathan Wakely <address@hidden>
Date:   Mon Oct 9 14:58:34 2017 +0100

    Ensure C99 and C11 interfaces are available for C++ [BZ #21326]
    
    This patch ensures that the C99 and C11 features required by C++ are
    defined according to the value of the __cplusplus macro, and not just
    because G++ always defines _GNU_SOURCE.  This will allow G++ to stop
    defining _GNU_SOURCE some day, without causing the C99 and C11
    interfaces to disappear for C++ programs.
    
        [BZ #21326]
        * include/features.h [__cplusplus >= 201103] (__USE_ISOC99): Define.
        [__cplusplus >= 201703] (__USE_ISOCXX17, __USE_ISOC11): Define.
        * math/Makefile (test-math-cxx11): New test.
        * math/test-math-cxx11.cc: New file.

commit 645ac9aaf89e3311949828546df6334322f48933
Author: Christian Brauner <address@hidden>
Date:   Sun Oct 8 14:10:46 2017 +0200

    openpty: use TIOCGPTPEER to open slave side fd
    
    Newer kernels expose the ioctl TIOCGPTPEER [1] call to userspace which 
allows to
    safely allocate a file descriptor for a pty slave based solely on the master
    file descriptor. This allows us to avoid path-based operations and makes 
this
    function a lot safer in the face of devpts mounts in different mount 
namespaces.
    
    [1]: https://patchwork.kernel.org/patch/9760743/
    
    Signed-off-by: Christian Brauner <address@hidden>

commit 98e0742024d4c13c08a6076b3d119c250e7d0118
Author: Christian Brauner <address@hidden>
Date:   Sun Oct 8 14:09:47 2017 +0200

    openpty: close slave pty fd on error
    
    When openpty() failed only the master fd was closed so far. Let's close the
    slave fd as well. Also, let's unify the error handling.
    
    Signed-off-by: Christian Brauner <address@hidden>

commit e7a574594931a8221b39432dc0637ec7423b14f6
Author: Florian Weimer <address@hidden>
Date:   Sat Oct 7 13:14:14 2017 +0200

    Add missing reference to bug 21654

commit f85a176f3f411b7478c2b8cb2708973e8668e7fb
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 6 20:23:58 2017 +0000

    Use libm_alias_double in ldbl-128, ldbl-96 fma.
    
    This patch makes the ldbl-128 and ldbl-96 implementations of fma use
    libm_alias_double.
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/ldbl-128/s_fma.c: Include <libm-alias-double.h>.
        [!__fma] (fma): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-96/s_fma.c: Include <libm-alias-double.h>.
        [!__fma] (fma): Define using libm_alias_double.

commit fd3b4e7c8a0b492fe39243893803f4d9f84e30af
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 6 17:45:05 2017 +0000

    Use libm_alias_ldouble for ldbl-128 functions.
    
    This patch makes ldbl-128 functions use libm_alias_ldouble to define
    function aliases.  float128_private.h is updated accordingly.  Most of
    the ldbl-64-128 wrappers are removed as no longer needed with this
    change (leaving those that involve versioning for functions in libc or
    that shouldn't be exported from libm for _Float128 / _Float64x types
    with the same format as long double).
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by this patch.
    
        * sysdeps/ieee754/float128/float128_private.h: Include
        <libm-alias-ldouble.h> and <libm-alias-float128.h>.
        (libm_alias_ldouble_r): Undefine and redefine.
        * sysdeps/ieee754/ldbl-128/s_asinhl.c: Include
        <libm-alias-ldouble.h>.
        (asinhl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_atanl.c: Include
        <libm-alias-ldouble.h>.
        (atanl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_cbrtl.c: Include
        <libm-alias-ldouble.h>.
        (cbrtl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_ceill.c: Include
        <libm-alias-ldouble.h>.
        (ceill): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_copysignl.c: Include
        <libm-alias-ldouble.h>.
        (copysignl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_cosl.c: Include
        <libm-alias-ldouble.h>.
        (cosl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_erfl.c: Include
        <libm-alias-ldouble.h>.
        (erfl): Define using libm_alias_ldouble.
        (erfcl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_expm1l.c: Include
        <libm-alias-ldouble.h>.
        (expm1l): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_fabsl.c: Include
        <libm-alias-ldouble.h>.
        (fabsl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_floorl.c: Include
        <libm-alias-ldouble.h>.
        (floorl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_fmal.c: Include
        <libm-alias-ldouble.h>.
        (fmal): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_frexpl.c: Include
        <libm-alias-ldouble.h>.
        (frexpl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_fromfpl.c (fromfpl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_fromfpl_main.c: Include
        <libm-alias-ldouble.h>.
        * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (fromfpxl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_getpayloadl.c: Include
        <libm-alias-ldouble.h>.
        (getpayloadl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_llrintl.c: Include
        <libm-alias-ldouble.h>.
        (llrintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_llroundl.c: Include
        <libm-alias-ldouble.h>.
        (llroundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_logbl.c: Include
        <libm-alias-ldouble.h>.
        (logbl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_lrintl.c: Include
        <libm-alias-ldouble.h>.
        (lrintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_lroundl.c: Include
        <libm-alias-ldouble.h>.
        (lroundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_modfl.c: Include
        <libm-alias-ldouble.h>.
        (modfl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Include
        <libm-alias-ldouble.h>.
        (nearbyintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_nextafterl.c: Include
        <libm-alias-ldouble.h>.
        (nextafterl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_nextupl.c: Include
        <libm-alias-ldouble.h>.
        (nextupl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_remquol.c: Include
        <libm-alias-ldouble.h>.
        (remquol): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_rintl.c: Include
        <libm-alias-ldouble.h>.
        (rintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_roundevenl.c: Include
        <libm-alias-ldouble.h>.
        (roundevenl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_roundl.c: Include
        <libm-alias-ldouble.h>.
        (roundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (setpayloadl): Define
        using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_setpayloadl_main.c: Include
        <libm-alias-ldouble.h>.
        * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (setpayloadsigl):
        Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_sincosl.c: Include
        <libm-alias-ldouble.h>.
        (sincosl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_sinl.c: Include
        <libm-alias-ldouble.h>.
        (sinl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_tanhl.c: Include
        <libm-alias-ldouble.h>.
        (tanhl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_tanl.c: Include
        <libm-alias-ldouble.h>.
        (tanl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_totalorderl.c: Include
        <libm-alias-ldouble.h>.
        (totalorderl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Include
        <libm-alias-ldouble.h>.
        (totalordermagl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_truncl.c: Include
        <libm-alias-ldouble.h>.
        (truncl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (ufromfpl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (ufromfpxl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-64-128/s_copysignl.c: Include
        <libm-alias-ldouble.h>.
        (weak_alias): Do not undefine and redefine.
        [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine.
        (copysignl): Define with long_double_symbol only if [IS_IN
        (libc)].
        * sysdeps/ieee754/ldbl-64-128/s_frexpl.c: Include
        <libm-alias-ldouble.h>.
        (weak_alias): Do not undefine and redefine.
        [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine.
        (frexpl): Define with long_double_symbol only if [IS_IN (libc)].
        * sysdeps/ieee754/ldbl-64-128/s_modfl.c: Include
        <libm-alias-ldouble.h>.
        (weak_alias): Do not undefine and redefine.
        [IS_IN (libc)] (libm_alias_ldouble): Undefine and redefine.
        (modfl): Define with long_double_symbol only if [IS_IN (libc)].
        * sysdeps/ieee754/ldbl-64-128/s_asinhl.c: Remove file.
        * sysdeps/ieee754/ldbl-64-128/s_atanl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_ceill.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_cosl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_erfl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_expm1l.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_fabsl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_floorl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_fmal.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_llrintl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_llroundl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_logbl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_lrintl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_lroundl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_remquol.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_rintl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_roundl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_sincosl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_sinl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_tanhl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_tanl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_truncl.c: Likewise.

commit 1e26d35193efbb29239c710a4c46a64708643320
Author: Carlos O'Donell <address@hidden>
Date:   Thu Sep 28 11:05:18 2017 -0600

    malloc: Fix tcache leak after thread destruction [BZ #22111]
    
    The malloc tcache added in 2.26 will leak all of the elements remaining
    in the cache and the cache structure itself when a thread exits. The
    defect is that we do not set tcache_shutting_down early enough, and the
    thread simply recreates the tcache and places the elements back onto a
    new tcache which is subsequently lost as the thread exits (unfreed
    memory). The fix is relatively simple, move the setting of
    tcache_shutting_down earlier in tcache_thread_freeres. We add a test
    case which uses mallinfo and some heuristics to look for unaccounted for
    memory usage between the start and end of a thread start/join loop. It
    is very reliable at detecting that there is a leak given the number of
    iterations.  Without the fix the test will consume 122MiB of leaked
    memory.

commit d13867625894fda6c6a5034dadfa8ff86983ea12
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Oct 6 21:39:32 2017 +0530

    Missed changelog entry

commit 6dff1983695fe0a5dc80e41edfa4b0dac9fecac2
Author: Joseph Myers <address@hidden>
Date:   Fri Oct 6 15:02:12 2017 +0000

    Remove redundant ldbl-64-128 files.
    
    Various source files in ldbl-64-128 are redundant, because they wrap
    files that no longer provide public symbols that need special
    versioning (those symbols having moved to separate errno-setting
    wrappers), or, in the case of w_scalblnl.c, because the type-generic
    template now does everything required (it deals with symbol versioning
    for use in libm, and this file is never built for libc anyway - the
    compat scalbln* symbols in libc, as opposed to scalbn*, are only for
    i386 and m68k and are aliases to the corresponding scalbn* symbols).
    This patch removes those redundant files.
    
    Tested with build-many-glibcs.py (for all ldbl-64-128 configurations)
    that installed stripped shared libraries are unchanged by this patch.
    
        * sysdeps/ieee754/ldbl-64-128/e_ilogbl.c: Remove file.
        * sysdeps/ieee754/ldbl-64-128/s_log1pl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/w_scalblnl.c: Likewise.

commit 5a907168918805bbe3088dc4ab051e3e78ad7459
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Fri Oct 6 10:04:52 2017 +0530

    powerpc:  Fix IFUNC for memrchr
    
    Recent commit 59ba2d2b5421 missed to add __memrchr_power8 in
    ifunc list.  Also handled discarding unwanted bytes for
    unaligned inputs in power8 optimization.
    
    2017-10-05  Rajalakshmi Srinivasaraghavan  <address@hidden>
    
        * sysdeps/powerpc/powerpc64/multiarch/memrchr-ppc64.c: Revert
        back to powerpc32 file.
        * sysdeps/powerpc/powerpc64/multiarch/memrchr.c
        (memrchr): Add __memrchr_power8 to ifunc list.
        * sysdeps/powerpc/powerpc64/power8/memrchr.S: Mask
        extra bytes for unaligned inputs.

commit 0db0b931cf2bf506767be3f93519032f56723883
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 5 22:17:30 2017 +0000

    Update ARM libm-test-ulps.
    
        * sysdeps/arm/libm-test-ulps: Update.

commit 86f9568af6facdd5b32e64d98624daefbe8b4931
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 5 21:13:40 2017 +0000

    Use libm_alias_ldouble for ldbl-96 functions.
    
    This patch makes ldbl-96 functions use libm_alias_ldouble to define
    function aliases.
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/ldbl-96/s_asinhl.c: Include
        <libm-alias-ldouble.h>.
        (asinhl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_cbrtl.c: Include
        <libm-alias-ldouble.h>.
        (cbrtl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_copysignl.c: Include
        <libm-alias-ldouble.h>.
        (copysignl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_cosl.c: Include
        <libm-alias-ldouble.h>.
        (cosl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_erfl.c: Include
        <libm-alias-ldouble.h>.
        (erfl): Define using libm_alias_ldouble.
        (erfcl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_fmal.c: Include
        <libm-alias-ldouble.h>.
        (fmal): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_frexpl.c: Include
        <libm-alias-ldouble.h>.
        (frexpl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_fromfpl.c (fromfpl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_fromfpl_main.c: Include
        <libm-alias-ldouble.h>.
        * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (fromfpxl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_getpayloadl.c: Include
        <libm-alias-ldouble.h>.
        (getpayloadl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_llrintl.c: Include
        <libm-alias-ldouble.h>.
        (llrintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_llroundl.c: Include
        <libm-alias-ldouble.h>.
        (llroundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_lrintl.c: Include
        <libm-alias-ldouble.h>.
        (lrintl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_lroundl.c: Include
        <libm-alias-ldouble.h>.
        (lroundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_modfl.c: Include
        <libm-alias-ldouble.h>.
        (modfl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_nextupl.c: Include
        <libm-alias-ldouble.h>.
        (nextupl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_remquol.c: Include
        <libm-alias-ldouble.h>.
        (remquol): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_roundevenl.c: Include
        <libm-alias-ldouble.h>.
        (roundevenl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_roundl.c: Include
        <libm-alias-ldouble.h>.
        (roundl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (setpayloadl): Define
        using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_setpayloadl_main.c: Include
        <libm-alias-ldouble.h>.
        * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Include
        <libm-alias-ldouble.h>.
        (setpayloadsigl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_sincosl.c: Include
        <libm-alias-ldouble.h>.
        (sincosl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_sinl.c: Include
        <libm-alias-ldouble.h>.
        (sinl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_tanhl.c: Include
        <libm-alias-ldouble.h>.
        (tanhl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_tanl.c: Include
        <libm-alias-ldouble.h>.
        (tanl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_totalorderl.c: Include
        <libm-alias-ldouble.h>.
        (totalorderl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_totalordermagl.c: Include
        <libm-alias-ldouble.h>.
        (totalordermagl): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (ufromfpl): Define using
        libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (ufromfpxl): Define using
        libm_alias_ldouble.

commit dd5bc7f1b385b29d0f90aefe4d9756b35011709b
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Oct 5 21:55:31 2017 +0530

    aarch64: Optimized implementation of memmove for Qualcomm Falkor
    
    This is an optimized memmove implementation for the Qualcomm Falkor
    processor core.  Due to the way the falkor memcpy needs to be written,
    code cannot be easily shared between memmove and memcpy like in case
    of other aarch64 memcpy implementations due to which this routine is
    separate.  The underlying principle is the same as that of memcpy
    where it tries to use registers with the same lower 4 bits for
    fetching the same stream, thus optimizing hardware prefetcher
    performance.
    
    The memcpy copy loop copies 64 bytes at a time using the same register
    pair since that's the way to train the hardware prefetcher on the
    falkor core.  memmove cannot quite do that since it needs to avoid
    overlaps, so it does the next best thing, i.e. has a 32 byte loop with
    a 32 byte end (prefetch a loop ahead to account for overlapping
    locations) with register pairs that alias so that they hit the same
    prefetcher.  Due to this difference in loop size, they have to
    currently be separate implementations but efforts are on to try and
    get memmove to fall back into memcpy whenever it can without simply
    duplicating all of the code.
    
    Performance:
    
    The routine fares around 20-25% better than the generic memmove for
    most medium to large sizes (i.e. > 128 bytes) for the new walking
    memmove benchmark (memmove-walk) with an unexplained regression
    between 1K and 2K.  The minor regression is something worth looking
    into for us, but the remaining gains are significant enough that we
    would like this included upstream as we looking into the cause for the
    regression.  Here is a snippet of the numbers as generated from the
    microbenchmark by the compare_strings script.  Comparisons are against
    __memmove_generic:
    
    Function: memmove
    Variant: walk
                                        __memmove_thunderx      
__memmove_falkor        __memmove_generic
    
========================================================================================================================
    <snip>
                            length=16384:  12508800.00 (  6.09%)         
11486800.00 ( 13.76%)   13319600.00
                            length=16400:  13614200.00 ( -0.67%)         
11585000.00 ( 14.33%)   13523600.00
                            length=16385:  13448400.00 (  0.10%)         
11732700.00 ( 12.84%)   13461200.00
                            length=16399:  13594100.00 ( -0.22%)         
11859600.00 ( 12.57%)   13564400.00
                            length=16386:  13211600.00 (  1.13%)         
11503800.00 ( 13.91%)   13362400.00
                            length=16398:  13218600.00 (  2.12%)         
11573200.00 ( 14.30%)   13504700.00
                            length=16387:  13510900.00 ( -0.37%)         
11744200.00 ( 12.76%)   13461300.00
                            length=16397:  13603700.00 ( -0.15%)         
11878200.00 ( 12.55%)   13583200.00
                            length=16388:  13461700.00 ( -0.13%)         
11558000.00 ( 14.03%)   13444100.00
                            length=16396:  13517500.00 ( -0.03%)         
11561300.00 ( 14.45%)   13513900.00
                            length=16389:  13534100.00 (  0.17%)         
11756800.00 ( 13.28%)   13556900.00
                            length=16395:  13585600.00 (  0.11%)         
11791800.00 ( 13.30%)   13601200.00
                            length=16390:  13480100.00 ( -0.13%)         
11685500.00 ( 13.20%)   13462100.00
                            length=16394:  13529900.00 ( -0.23%)         
11549800.00 ( 14.43%)   13498200.00
                            length=16391:  13595400.00 ( -0.26%)         
11768200.00 ( 13.22%)   13560600.00
                            length=16393:  13567000.00 (  0.20%)         
11779700.00 ( 13.35%)   13594700.00
                            length=32768:  71308800.00 ( -6.53%)         
50220800.00 ( 24.98%)   66939200.00
                            length=32784:  72100800.00 (-11.55%)         
50114100.00 ( 22.47%)   64636300.00
                            length=32769:  71767000.00 ( -7.10%)         
51238400.00 ( 23.54%)   67010000.00
                            length=32783:  70113700.00 (-40.95%)         
51129000.00 ( -2.78%)   49744400.00
                            length=32770:  71367600.00 ( -6.52%)         
50244700.00 ( 25.01%)   67000900.00
                            length=32782:  64366700.00 (  4.71%)         
50101400.00 ( 25.83%)   67545600.00
                            length=32771:  71440100.00 ( -6.51%)         
51263900.00 ( 23.57%)   67074900.00
                            length=32781:  66993000.00 (  0.34%)         
51108300.00 ( 23.97%)   67220300.00
                            length=32772:  71443900.00 (-60.50%)         
50062100.00 (-12.47%)   44512600.00
                            length=32780:  71759100.00 ( -6.58%)         
50263200.00 ( 25.35%)   67328600.00
                            length=32773:  71714900.00 (-33.21%)         
51076600.00 (  5.12%)   53835400.00
                            length=32779:  71756900.00 ( -6.56%)         
51290800.00 ( 23.83%)   67337800.00
                            length=32774:  59689300.00 (-34.55%)         
50068400.00 (-12.86%)   44363300.00
                            length=32778:  71847500.00 (-18.20%)         
50084100.00 ( 17.61%)   60786500.00
                            length=32775:  71599300.00 ( -6.54%)         
51278200.00 ( 23.70%)   67204800.00
                            length=32777:  71862900.00 (-60.85%)         
51094000.00 (-14.36%)   44677900.00
                            length=65536: 282848000.00 ( -6.60%)        
199187000.00 ( 24.93%)  265325000.00
                            length=65552: 243285000.00 (-41.61%)        
198512000.00 (-15.54%)  171805000.00
                            length=65537: 255415000.00 (-23.47%)        
202499000.00 (  2.11%)  206858000.00
                            length=65551: 280122000.00 (-62.95%)        
203349000.00 (-18.29%)  171911000.00
                            length=65538: 283676000.00 (-14.46%)        
198368000.00 ( 19.96%)  247848000.00
                            length=65550: 275566000.00 (-51.76%)        
198494000.00 ( -9.31%)  181581000.00
                            length=65539: 283699000.00 ( -6.58%)        
203453000.00 ( 23.57%)  266195000.00
                            length=65549: 286572000.00 ( -6.65%)        
202607000.00 ( 24.60%)  268712000.00
                            length=65540: 283710000.00 ( -6.59%)        
199161000.00 ( 25.17%)  266160000.00
                            length=65548: 237573000.00 ( 11.48%)        
198462000.00 ( 26.06%)  268395000.00
                            length=65541: 284150000.00 ( -6.58%)        
203273000.00 ( 23.75%)  266600000.00
                            length=65547: 286250000.00 ( -6.70%)        
202594000.00 ( 24.48%)  268263000.00
                            length=65542: 284167000.00 ( -6.60%)        
199122000.00 ( 25.31%)  266584000.00
                            length=65546: 285656000.00 ( -6.59%)        
198443000.00 ( 25.95%)  268002000.00
                            length=65543: 284600000.00 ( -6.58%)        
203247000.00 ( 23.89%)  267030000.00
                            length=65545: 285665000.00 ( -6.40%)        
202575000.00 ( 24.55%)  268472000.00
    <snip>
    
        * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
        memmove_falkor.
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Likewise.
        * sysdeps/aarch64/multiarch/memmove.c: Likewise.
        * sysdeps/aarch64/multiarch/memmove_falkor.S: New file.

commit 5bfb04042dfadc335cde63afe892be140cbe6f31
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Oct 5 21:53:13 2017 +0530

    benchtests: Memory walking benchmark for memmove
    
    This benchmark is an attempt to eliminate cache effects from string
    benchmarks.  The benchmark walks both ways through a large memory area
    and copies different sizes of memory and alignments one at a time
    instead of looping around in the same memory area.  This is a good
    metric to have alongside the simple memmove benchmark (which is only
    really useful for smaller sizes) especially for larger sizes where the
    likelihood of the call being done only once is pretty high.
    
    This benchmark is different from memcpy in that it also tests
    overlapping copies.
    
        * benchtests/bench-memmove-walk.c: New file.
        * benchtests/Makefile (string-benchset): Add it.

commit 36bb8edf5178247933dfeee71812cda93587d32e
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Oct 5 21:51:41 2017 +0530

    benchtests: Memory walking benchmark for memset
    
    This benchmark is an attempt to eliminate cache effects from string
    benchmarks.  The benchmark walks backward through a large memory area
    and sets different sizes of memory and alignments one at a time
    instead of looping around in the same memory area.  This is a good
    metric to have alongside the simple memset benchmark (which is only
    really useful for smaller sizes) especially for larger sizes where the
    likelihood of the call being done only once is pretty high.
    
        * benchtests/bench-memset-walk.c: New file.
        * benchtests/Makefile (string-benchset): Add it.

commit 9ec87fd2b11ffce5c27c8eacb9deaa20e2373ff5
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Oct 5 21:49:37 2017 +0530

    benchtests: Memory walking benchmark for memcpy
    
    This benchmark is an attempt to eliminate cache effects from string
    benchmarks.  The benchmark walks both ways through a large memory area
    and copies different sizes of memory and alignments one at a time
    instead of looping around in the same memory area.  This is a good
    metric to have alongside the other memcpy benchmarks, especially for
    larger sizes where the likelihood of the call being done only once is
    pretty high.
    
        * benchtests/bench-memcpy-walk.c: New file.
        * benchtests/Makefile (string-benchset): Add it.

commit 1e9522c61c7a544d59db32cb7fbbd42e6793d848
Author: Florian Weimer <address@hidden>
Date:   Thu Oct 5 18:14:27 2017 +0200

    nscd: Eliminate compilation time dependency in the build output
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 644d38570a860f3ed7d478c4ed8965a91e4621a1
Author: Joseph Myers <address@hidden>
Date:   Thu Oct 5 15:58:13 2017 +0000

    Remove add-ons mechanism.
    
    glibc has an add-ons mechanism to allow additional software to be
    integrated into the glibc build.  Such add-ons may be within the glibc
    source tree, or outside it at a path passed to the --enable-add-ons
    configure option.
    
    localedata and crypt were once add-ons, distributed in separate
    release tarballs, but long since stopped using that mechanism.
    Linuxthreads was always an add-on.  Ports spent some time as an add-on
    with separate release tarballs, then was first moved into the glibc
    source tree, then had its sysdeps files moved into the main sysdeps
    hierarchy so the add-ons mechanism was no longer used.  NPTL spent
    some time as an add-on in the main glibc tree before stopping using
    the add-on mechanism.  libidn used to have separate release tarballs
    but no longer does so, but still uses the add-ons mechanism within the
    glibc source tree.  Various other software has supported building with
    the add-ons mechanism at times in the past, but I don't think any is
    still widely used.
    
    Add-ons involve significant, little-used complexity in the glibc build
    system, and make it hard to understand what the space of possible
    glibc configurations is.  This patch removes the add-ons mechanism.
    libidn is now built via the Subdirs mechanism to cause any
    configuration using sysdeps/unix/inet to build libidn; HAVE_LIBIDN
    (which effectively means shared libraries are available) is now
    defined via sysdeps/unix/inet/configure.  Various references to
    add-ons around the source tree are removed (in the case of maint.texi,
    the example list of sysdeps directories is still very out of date).
    
    Externally maintained ports should now put their files in the normal
    sysdeps directory structure rather than being arranged as add-ons;
    they probably need to change e.g. elf.h anyway, rather than actually
    being able to work just as a drop-in subtree.  Hurd libpthread should
    be arranged similarly to NPTL, so some files might go in a
    hurd-pthreads (or similar) top-level directory in glibc, while sysdeps
    files should go in the normal sysdeps directory structure (possibly in
    hurd or hurd-pthreads subdirectories, just as there are nptl
    subdirectories in the sysdeps tree).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * configure.ac (--enable-add-ons): Remove option.
        (machine): Do not mention add-ons in comment.
        (LIBC_PRECONFIGURE): Likewise.
        (add_ons): Remove variable and sanity checks and logic to locate
        add-ons.
        (add_ons_automatic): Remove variable.
        (configured_add_ons): Likewise.
        (add_ons_sfx): Likewise.
        (add_ons_pfx): Likewise.
        (add_on_subdirs): Likewise.
        (sysnames_add_ons): Likewise.  Remove loop over add-ons and
        consideration of add-ons in Implies handling.
        (sysdeps_add_ons): Likewise.
        * configure: Regenerated.
        * libidn/configure.ac: Remove.
        * libidn/configure: Likewise.
        * sysdeps/unix/inet/configure.ac: New file.
        * sysdeps/unix/inet/configure: New generated file.
        * sysdeps/unix/inet/Subdirs: Add libidn.
        * Makeconfig (sysdeps-srcdirs): Remove variable.
        (+sysdep_dirs): Do not include $(sysdeps-srcdirs).
        ($(common-objpfx)config.status): Do not depend on add-on files.
        ($(common-objpfx)shlib-versions.v.i): Do not mention add-ons in
        comment.
        (all-subdirs): Do not include $(add-on-subdirs).
        * Makefile (dist-prepare): Do not use $(sysdeps-add-ons).
        * config.make.in (add-ons): Remove variable.
        (add-on-subdirs): Likewise.
        (sysdeps-add-ons): Likewise.
        * manual/Makefile (add-chapters): Remove.
        ($(objpfx)texis): Do not depend on $(add-chapters).
        (nonexamples): Do not handle $(add-chapters).
        (examples): Do not handle $(add-ons).
        (chapters.% top-menu.%): Do not pass '$(add-chapters)' to
        libc-texinfo.sh.
        * manual/install.texi (Installation): Do not mention add-ons.
        (--enable-add-ons): Do not document configure option.
        * INSTALL: Regenerated.
        * manual/libc-texinfo.sh: Do not handle $2 add-ons argument.
        * manual/maint.texi (Hierarchy Conventions): Do not mention
        add-ons.
        * scripts/build-many-glibcs.py (Glibc.build_glibc): Do not use
        --enable-add-ons.
        * scripts/gen-sorted.awk: Do not handle Subdirs files from
        add-ons.
        * scripts/test-installation.pl: Do not handle glibc-compat add-on.
        * sysdeps/nptl/Makeconfig: Do not mention add-ons in comment.

commit 19f82f358670f4b80533156b9edbf81223358bf9
Author: Andreas Schwab <address@hidden>
Date:   Mon Aug 21 16:07:29 2017 +0200

    Always do locking when iterating over list of streams (bug 15142)
    
    _IO_list_all should only be traversed while locking list_all_lock.

commit 91e7cf982d0104f0e71770f5ae8e3faf352dea9f
Author: Florian Weimer <address@hidden>
Date:   Thu Oct 5 14:48:16 2017 +0200

    abort: Do not flush stdio streams [BZ #15436]

commit 0c25125780083cbba22ed627756548efe282d1a0
Author: Florian Weimer <address@hidden>
Date:   Thu Oct 5 14:34:26 2017 +0200

    tst-gmon: Build with -fno-omit-frame-pointer
    
    If glibc is built with -fomit-frame-pointer to undo the effect of
    configuring GCC with --enable-frame-pointer, using -pg by itself results
    in a build failure:
    
    gcc: error: -pg and -fomit-frame-pointer are incompatible

commit 7ea59e3e5da8a3e74e1fde51d6e404d1a7209d8e
Author: Stefan Liebler <address@hidden>
Date:   Thu Oct 5 12:50:49 2017 +0200

    S390: Regenerate ULPs
    
    Updated ulps file.
    
    ChangeLog:
    
        * sysdeps/s390/fpu/libm-test-ulps: Regenerated.

commit 84d0e6f05212cabe786cdf00bf3ba5d166d077c0
Author: Florian Weimer <address@hidden>
Date:   Thu Oct 5 12:20:19 2017 +0200

    support_format_hostent: Add more error information for NETDB_INTERNAL

commit ee417882e07277b2a36e7e61e6ef7edd96415b3f
Author: H.J. Lu <address@hidden>
Date:   Wed Oct 4 17:18:23 2017 -0700

    Don't use hidden visibility in libc.a with PIE on i386
    
    On i386, when multi-arch is enabled, all external functions must be
    called via PIC PLT in PIE, which requires setting up EBX register,
    since they may be IFUNC functions.
    
        * config.h.in (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New.
        * include/libc-symbols.h (__hidden_proto_hiddenattr): Add check
        for PIC and NO_HIDDEN_EXTERN_FUNC_IN_PIE.
        * sysdeps/i386/configure.ac (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New
        AC_DEFINE if multi-arch is enabled.
        * sysdeps/i386/configure: Regenerated.

commit a67029ff12319300458a502be1d12aa2065c48da
Author: H.J. Lu <address@hidden>
Date:   Wed Oct 4 17:15:50 2017 -0700

    Use $(DEFAULT-LDFLAGS-$(@F)) in +link-static-before-libc
    
    Use $(LDFLAGS-$(@F)) with tst-tls1-static-non-pie may not be sufficient
    when static PIE is built by default.  Use $(DEFAULT-LDFLAGS-$(@F)) in
    +link-static-before-libc to make sure that tst-tls1-static-non-pie is
    always built as non-PIE static executable and make sure that crt1.o is
    used with tst-tls1-static-non-pie.
    
        * Makeconfig (+link-static-before-libc): Use
        $(DEFAULT-LDFLAGS-$(@F)).
        * elf/Makefile (CRT-tst-tls1-static-non-pie): New.
        (LDFLAGS-tst-tls1-static-non-pie): Renamed to ...
        (DEFAULT-LDFLAGS-tst-tls1-static-non-pie): This.

commit 5dba84b3246961ea3032ce48ac72c1ac9364cf2b
Author: H.J. Lu <address@hidden>
Date:   Wed Oct 4 15:40:37 2017 -0700

    Add a test for main () in a shared object
    
    Verify that crt1.o can be used with main () in a shared object.
    
        * elf/Makefile (tests): Add tst-main1.
        (modules-names): Add tst-main1mod.
        ($(objpfx)tst-main1): New.
        (CRT-tst-main1): Likewise.
        (LDFLAGS-tst-main1): Likewise.
        (LDLIBS-tst-main1): Likewise.
        (tst-main1mod.so-no-z-defs): Likewise.
        * elf/tst-main1.c: New file.
        * elf/tst-main1mod.c: Likewise.

commit 758f1bfa2a1bccb52f1b3e97444a367d35aceaee
Author: H.J. Lu <address@hidden>
Date:   Wed Oct 4 14:31:16 2017 -0700

    test-math-iscanonical.cc: Return errors != 0
    
    Since not all non-zero error counts are errors, return errors != 0
    instead.
    
        * math/test-math-iscanonical.cc (do_test): Return errors != 0.

commit 7e16a5d1d19effc7b2775942f592520cfff03d92
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 4 20:32:48 2017 +0000

    Use libm_alias_double for dbl-64 fma.
    
    This patch makes dbl-64 fma use libm_alias_double.  The ldbl-opt
    version is removed.  The sparc32 version no longer needs to handle
    compat symbols, while alpha needs a new wrapper to avoid getting the
    ldbl-128 version (where ldbl-opt is earlier in the list of sysdeps
    directories, so previously fma came from there).
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/dbl-64/s_fma.c: Include <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_fma.c: Remove file.
        * sysdeps/sparc/sparc32/fpu/s_fma.c: Do not include
        <math_ldbl_opt.h>.
        (fmal): Do not define as compat symbol here.
        * sysdeps/alpha/fpu/s_fma.c: New file.

commit db4f87bad48ed93ae14f61121367a7cb94fa46ed
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Oct 4 11:09:33 2017 +0100

    aarch64: don't use MIN in dl-machine.h
    
    MIN is used, but param.h may not be included, so expand its
    single use inline.
    
        * sysdeps/aarch64/dl-machine.h (elf_machine_rela): Expand MIN.

commit 32d372d548122b224ec63a520a780d9227094a48
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 4 16:46:05 2017 +0000

    Restore sparc32 copysignl, fabsl, fmal compat symbols (bug 22229).
    
    32-bit SPARC libm should have compat symbols for copysignl
    (GLIBC_2.0), fabsl (GLIBC_2.0), fmal (GLIBC_2.1), pointing to the
    double functions; they were present in glibc 2.8, for example, but are
    now missing, probably when optimized SPARC function implementations
    were added without appropriate compat symbol handling.  The same
    applies to copysignl in libc.  This patch restores those compat
    symbols.
    
    Tested with build-many-glibcs.py for sparcv9-linux-gnu.
    
        [BZ #22229]
        * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include
        <math_ldbl_opt.h>
        (copysignl): Define as compat symbol at version GLIBC_2_0 for libm
        and libc.
        * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include <math_ldbl_opt.h>.
        (fabsl): Define as compat symbol at version GLIBC_2_0 for libm.
        * sysdeps/sparc/sparc32/fpu/s_fma.c: Include <math_ldbl_opt.h>.
        (fmal): Define as compat symbol at version GLIBC_2_1 for libm.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S:
        Include <math_ldbl_opt.h>
        (copysignl): Define as compat symbol at version GLIBC_2_0 for libm
        and libc.
        (compat_symbol): Undefine and redefine.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include
        <math_ldbl_opt.h>
        (fabsl): Define as compat symbol at version GLIBC_2_0 for libm.
        (compat_symbol): Undefine and redefine.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c
        [HAVE_AS_VIS3_SUPPORT]: Include <math_ldbl_opt.h>.
        [HAVE_AS_VIS3_SUPPORT] (fmal): Define as compat symbol at version
        GLIBC_2_1 for libm.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Add
        GLIBC_2.0 copysignl symbol.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
        GLIBC_2.0 copysignl and fabsl and GLIBC_2.1 fmal symbols.

commit 72d13ed1bdb3154adce67a74b7d6ec240a6b12a4
Author: Joseph Myers <address@hidden>
Date:   Wed Oct 4 15:57:53 2017 +0000

    Remove alpha nearbyint wrapper.
    
    Given my recent changes, sysdeps/alpha/fpu/s_nearbyint.c is no longer
    needed: it just includes the dbl-64/wordsize-64 version, which is the
    one that would be used anyway, and defines a compat symbol,
    duplicating the same compat symbol defined by the dbl-64/wordsize-64
    version through use of libm_alias_double.  Thus, this patch removes
    the redundant wrapper.
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for alpha.
    
        * sysdeps/alpha/fpu/s_nearbyint.c: Remove file.

commit 11c4f5010c58029e73e656d5df4f8f42c9b8e877
Author: Florian Weimer <address@hidden>
Date:   Wed Oct 4 15:49:06 2017 +0200

    crypt: Adjust check-local-headers.sh for nspr4 include directory [BZ #17956]

commit 57b4af1955e28c1623c98397b8597847d16bdd8c
Author: Guido Trentalancia <address@hidden>
Date:   Wed Oct 4 15:02:35 2017 +0200

    crypt: Use NSPR header files in addition to NSS header files [BZ #17956]
    
    When configuring and building GNU libc using the Mozilla NSS library
    for cryptography (--enable-nss-crypt option), also include the
    NSPR header files along with the Mozilla NSS library header files.
    
    Finally, when running the check-local-headers test, ignore the
    Mozilla NSPR library header files (used by the Mozilla NSS library).

commit 64d1e08ea822bf47cb2796ad0f727136227f983c
Author: Andreas Schwab <address@hidden>
Date:   Mon Oct 2 14:30:46 2017 +0200

    Move nss_compat from nis to nss subdir and install it unconditionally
    
    This has been tested that local lookup still works with and
    without an installed libnss_nis, and that NIS lookup works when
    libnss_nis is available.

commit 86c27ade1e44e29922d33676f950f7334edb37a7
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Oct 3 18:12:42 2017 +0100

    [BZ #22244] Fix yn(n,0) without SVID wrapper
    
    Without SVID compat wrapper yn(n,0) and ynf(n,0) does not raise
    the divide-by-zero excpetion and it may return inf with the wrong
    sign for n < 0.
    
        [BZ #22244]
        * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Fix x == 0 case.
        * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.

commit 8f8f8ef7aba40ef883291e4c4d95a419c3327d70
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Oct 3 17:13:18 2017 +0100

    [BZ #22243] fix log2(0) and log(10) in downward rounding
    
    On 64bit targets if the SVID compat wrapper is suppressed (e.g. static 
linking)
    then log2(0) and log10(0) returned inf instead of -inf.
    
        [BZ #22243]
        * sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c (__ieee754_log10): Use 
fabs.
        * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c (__ieee754_log2): 
Likewise.

commit 955774751b71c4bc94029dd541ad9d34634ec995
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 17:54:13 2017 -0700

    i386: Use "movl address@hidden(%ebx), %eax" in start.S
    
    Don't use "leal address@hidden(%ebx), %eax" since main may be in a
    shared object.  Linker will convert "movl address@hidden(%ebx), %eax"
    to "leal address@hidden(%ebx), %eax" if main is defined locally.
    
        * sysdeps/i386/start.S: Replace "leal address@hidden(%ebx), %eax" with
        "movl address@hidden(%ebx), %eax".

commit 02d2d8927d2fd3815a9f3c5c767aa71a8a33408e
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 17:48:55 2017 -0700

    Revert x86: Allow undefined _DYNAMIC in static executable
    
    This code is used in non-PIE static executable and static PIE.  It checks
    if _DYNAMIC is undefined before using it to compute load address.  But
    not all targets can convert access _DYNAMIC via GOT, which needs dynamic
    relocation, to PC-relative at link-time.
    
        * sysdeps/i386/dl-machine.h (elf_machine_load_address): Don't
        allow undefined _DYNAMIC in PIE libc.a.
        * sysdeps/x86_64/dl-machine.h (elf_machine_load_address):
        Likewse.

commit 0c609d19e33f0ee70dbe2fba04d2ea75d3dcbd14
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 17:47:40 2017 -0700

    mips: Don't check _DYNAMIC in elf_machine_load_address
    
    Since mips can't convert access _DYNAMIC via GOT, which needs dynamic
    relocation, to PC-relative at link-time, don't check _DYNAMIC in
    elf_machine_load_address.
    
            * sysdeps/mips/dl-machine.h (elf_machine_load_address): Don't
            check _DYNAMIC.

commit c34a19ed4b0bcf91ff9671b733f8cfffa111e7f6
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 17:45:53 2017 -0700

    arm: Don't check _DYNAMIC in elf_machine_load_address
    
    Since arm can't convert access _DYNAMIC via GOT, which needs dynamic
    relocation, to PC-relative at link-time, don't check _DYNAMIC in
    elf_machine_load_address.
    
        * sysdeps/arm/dl-machine.h (elf_machine_load_address): Don't
        check _DYNAMIC.

commit cdd4155d6c527c00a89606385859984e35bd2910
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 17:41:32 2017 -0700

    test-math-iscanonical.cc: Replace bool with int
    
    Fix GCC 7 compilation error:
    
    test-math-iscanonical.cc: In function ‘void check_type()’:
    test-math-iscanonical.cc:33:11: error: use of an operand of type ‘bool’ 
in ‘operator++’ is deprecated [-Werror=deprecated]
         errors++;
               ^~
    
        * math/test-math-iscanonical.cc (error): Replace bool with int.

commit d8f619b393a230497d201398e184e3b384a263d3
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 3 23:46:23 2017 +0000

    Use libm_alias_double for dbl-64 modf.
    
    This patch makes dbl-64 modf use libm_alias_double.  Both the dbl-64
    and dbl-64/wordsize-64 versions are changed, and the ldbl-opt version
    is changed to define the libc compat symbol only.  Because of
    multiarch wrappers, the changed implementations are made not to define
    aliases at all if __modf is defined as a macro, as with other
    functions, so avoiding duplicate compat symbols while allowing those
    wrappers to be simplified.
    
    Tested for x86_64, and verified with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/dbl-64/s_modf.c: Include <libm-alias-double.h>.
        (modf): Define using libm_alias_double, only if [!__modf].
        * sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c: Include
        <libm-alias-double.h>.
        (modf): Define using libm_alias_double, only if [!__modf].
        * sysdeps/ieee754/ldbl-opt/s_modf.c (modfl): Only define libc
        compat symbol here.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-ppc32.c
        (weak_alias): Do not undefine and redefine.
        (strong_alias): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c
        (weak_alias): Likewise.
        (strong_alias): Likewise.

commit 4699cb8b5f25827eec50f071183a4abba04f16e5
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 3 23:44:41 2017 +0000

    Use libm_alias_double for dbl-64 logb.
    
    This patch makes dbl-64 logb use libm_alias_double.  Both the dbl-64
    and dbl-64/wordsize-64 versions are changed, and the ldbl-opt version
    is removed.  Because of multiarch wrappers, the changed
    implementations are made not to define aliases at all if __logb is
    defined as a macro, as with other functions, so avoiding duplicate
    compat symbols while allowing those wrappers to be simplified.
    
    Tested for x86_64, and verified with build-many-glibcs.py that
    installed stripped shared libraries are unchanged (except on alpha
    where changes from using the wordsize-64 version are expected).
    
        * sysdeps/ieee754/dbl-64/s_logb.c: Include <libm-alias-double.h>.
        (logb): Define using libm_alias_double, only if [!__logb].
        * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Include
        <libm-alias-double.h>.
        (logb): Define using libm_alias_double, only if [!__logb].
        * sysdeps/ieee754/ldbl-opt/s_logb.c: Remove file.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb-ppc32.c
        (weak_alias): Do not undefine and redefine.
        (strong_alias): Likewise.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c
        (weak_alias): Likewise.
        (strong_alias): Likewise.

commit bcc4e4bb316cf5a29cd1488a582700a3f33cee2b
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 14:54:55 2017 -0700

    tile: Check SHARED instead PIC for SYSCALL_ERROR_NAME
    
    For static PIE code, PIC is defined and SHARED is undefined.  We
    should check SHARED instead PIC for SYSCALL_ERROR_NAME.
    
        * sysdeps/unix/sysv/linux/tile/sysdep.h (SYSCALL_ERROR_NAME):
        Check SHARED instead PIC.

commit 7f1cbdf8ed6e5266d3d5807329d2d110cf695b79
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 3 21:01:33 2017 +0000

    Use libm_alias_float for dbl-64 fmaf.
    
    This patch makes the implementation of fmaf in the dbl-64 directory
    use libm_alias float.
    
    Tested for x86_64, and verified with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by this patch.
    
        * sysdeps/ieee754/dbl-64/s_fmaf.c: Include <libm-alias-float.h>.
        [!__fmaf] (fmaf): Define using libm_alias_float.

commit 39793865ec91775b4bf6e487c3e83b0d79517771
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 3 20:56:46 2017 +0000

    Use libm_alias_double for dbl-64 frexp.
    
    This patch makes dbl-64 frexp use libm_alias_double.  Both the dbl-64
    and dbl-64/wordsize-64 versions are changed; the ldbl-opt version is
    made to define only the libc frexpl compat symbol, now the generic
    code handles the libm compat symbol automatically.
    
    Tested for x86_64, and verified with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by this patch.
    
        * sysdeps/ieee754/dbl-64/s_frexp.c: Include <libm-alias-double.h>.
        (frexp): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: Include
        <libm-alias-double.h>.
        (frexp): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_frexp.c (frexpl): Only define libc
        compat symbol here.

commit aa0235dfdebffe9b338deba51f3ba563ee9b433d
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Oct 2 14:46:35 2017 -0300

    Add C++ versions of iscanonical for ldbl-96 and ldbl-128ibm (bug 22235)
    
    All representations of floating-point numbers in types with IEC 60559
    binary exchange format are canonical.  On the other hand, types with IEC
    60559 extended formats, such as those implemented under ldbl-96 and
    ldbl-128ibm, contain representations that are not canonical.
    
    TS 18661-1 introduced the type-generic macro iscanonical, which returns
    whether a floating-point value is canonical or not.  In Glibc, this
    type-generic macro is implemented using the macro __MATH_TG, which, when
    support for float128 is enabled, relies on __builtin_types_compatible_p
    to select between floating-point types.  However, this use of
    iscanonical breaks C++ applications, because the builtin is only
    available in C mode.
    
    This patch provides a C++ implementation of iscanonical that relies on
    function overloading, rather than builtins, to select between
    floating-point types.
    
    Unlike the C++ implementations for iszero and issignaling, this
    implementation ignores __NO_LONG_DOUBLE_MATH.  The double type always
    matches IEC 60559 double format, which is always canonical.  Thus, when
    double and long double are the same (__NO_LONG_DOUBLE_MATH), iscanonical
    always returns 1 and is not implemented with __MATH_TG.
    
    Tested for powerpc64, powerpc64le and x86_64.
    
        [BZ #22235]
        * math/math.h: Trivial fix for unbalanced parentheses in comment.
        * math/Makefile [CXX] (tests): Add test-math-iscanonical.cc.
        (CFLAGS-test-math-iscanonical.cc): New variable.
        * math/test-math-iscanonical.cc: New file.
        * sysdeps/ieee754/ldbl-96/bits/iscanonical.h (iscanonical):
        Provide a C++ implementation based on function overloading,
        rather than using __MATH_TG, which uses C-only builtins.
        * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h (iscanonical):
        Likewise.
        * sysdeps/powerpc/powerpc64le/Makefile
        (CFLAGS-test-math-iscanonical.cc): New variable.

commit a1132b5e56fe8aaa148ebd249034181863857d60
Author: Joseph Myers <address@hidden>
Date:   Tue Oct 3 17:47:35 2017 +0000

    Use libm_alias_double for more dbl-64 functions.
    
    This patch makes more dbl-64 functions use libm_alias_double to define
    function aliases.  Specifically, it makes the change for functions
    with dbl-64/wordsize-64 versions, changing both the dbl-64 and
    dbl-64/wordsize-64 versions and removing the ldbl-opt wrappers.
    Functions are excluded from this patch if there are complications
    because of versions of those functions also present in libc, or
    architecture-specific wrappers round these files.
    
    Tested for x86_64, and with build-many-glibcs.py.  Installed stripped
    shared libraries are unchanged except for alpha (where increased use
    of dbl-64/wordsize-64 files, where previously ldbl-opt files that
    wrapped dbl-64 files were used, was expected to result in different,
    better code).
    
        * sysdeps/ieee754/dbl-64/s_ceil.c: Include <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_floor.c: Include <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_llround.c: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_lround.c: Include
        <libm-alias-double.h>.
        (lround): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_nearbyint.c: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_remquo.c: Include
        <libm-alias-double.h>.
        (remquo): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_rint.c: Include <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_round.c: Include <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_trunc.c: Include <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Include
        <libm-alias-double.h>.
        (ceil): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Include
        <libm-alias-double.h>.
        (floor): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: Include
        <libm-alias-double.h>.
        (llround): Define using libm_alias_double.
        [_LP64] (lround): Likewise.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Include
        <libm-alias-double.h>.
        [!_LP64] (lround): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Include
        <libm-alias-double.h>.
        (nearbyint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: Include
        <libm-alias-double.h>.
        (remquo): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Include
        <libm-alias-double.h>.
        (rint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Include
        <libm-alias-double.h>.
        (round): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: Include
        <libm-alias-double.h>.
        (trunc): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_ceil.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/s_floor.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_llround.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_lround.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_nearbyint.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_remquo.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_rint.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_round.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_trunc.c: Likewise.

commit f275f64e7e97fcfe31280aabd0d64591c90bbe18
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Oct 2 15:53:51 2017 +0100

    fix drem symbol for static linking and new targets
    
    The compat remainder code is no longer built for !LIBM_SVID_COMPAT targets,
    but the legacy drem, dremf and dreml symbols should be still defined since
    removing them may break existing code, so keep them as aliases in the
    non-compat remainder code.
    
        * math/w_remainder.c: New file.
        * math/w_remainderf.c: New file.
        * math/w_remainderl.c: New file.

commit b8818ab592ce1012d481604284f66552bd451910
Author: H.J. Lu <address@hidden>
Date:   Tue Oct 3 01:55:00 2017 -0700

    ld.so: Replace (&bootstrap_map) with BOOTSTRAP_MAP
    
    (&_dl_main_map) is used instead of (&bootstrap_map) to bootstrap static
    PIE.  Define BOOTSTRAP_MAP with (&_dl_main_map) to avoid hardcode to
    (&bootstrap_map).
    
        * elf/rtld.c (BOOTSTRAP_MAP): New.
        (RESOLVE_MAP): Replace (&bootstrap_map) with BOOTSTRAP_MAP.
        * sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.
        * sysdeps/ia64/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.
        * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
        Likewise.

commit 3d1870fa3301c5cd00d5fdab0014c4e22b71fef2
Author: Samuel Thibault <address@hidden>
Date:   Tue Oct 3 01:26:58 2017 +0200

    Introduce NO_RTLD_HIDDEN, make hurd use it instead of NO_HIDDEN
    
    On the Hurd, the rtld needs to see its own dumb versions of a few functions
    (defined in sysdeps/mach/hurd/dl-sysdep.c) overridden by libc's versions 
once
    loaded. rtld should thus not have hidden attribute for these.  To achieve 
this,
    the Hurd port used to just define NO_HIDDEN, which disables it completely. 
For
    now, this changes that to disabling it for all rtld functions, for 
simplicity.
    
    See Roland's comment on 
https://sourceware.org/bugzilla/show_bug.cgi?id=15605#c5
    
    The ld.so numbers remain at
    
      8 .rel.plt      000000c8  00000c24  00000c24  00000c24  2**2
                      CONTENTS, ALLOC, LOAD, READONLY, DATA
      9 .plt          000001a0  00000cf0  00000cf0  00000cf0  2**4
                      CONTENTS, ALLOC, LOAD, READONLY, CODE
     10 .plt.got      00000010  00000e90  00000e90  00000e90  2**3
                      CONTENTS, ALLOC, LOAD, READONLY, CODE
     18 .got.plt      00000070  0002d000  0002d000  0002c000  2**2
                      CONTENTS, ALLOC, LOAD, DATA
    
    which is about 3 times as much as on Linux.
    
    The libc.so numbers get divided by 3 (the remainings are mostly RPC stub 
calls)
    
        * include/libc-symbols.h [NO_RTLD_HIDDEN] (rtld_hidden_proto,
        rtld_hidden_tls_proto, rtld_hidden_def, rtld_hidden_weak,
        rtld_hidden_rtld_hidden_ver, data_def, rtld_hidden_data_weak,
        rtld_hidden_data_ver): Define to empty.
        * include/assert.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__assert_fail,
        __assert_perror_fail): Likewise.
        * include/dirent.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
        (__rewinddir): Likewise.
        * include/libc-internal.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
        (__profile_frequency): Likewise.
        * include/setjmp.h (__sigsetjmp): Likewise.
        * include/signal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__sigaction,
        __libc_sigaction): Likewise.
        * include/stdlib.h [NO_RTLD_HIDDEN] (unsetenv, __strtoul_internal): Do
        not set hidden attribute.
        * include/string.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__stpcpy, __strdup,
        __strerror_t, __strsep_g, memchr, memcmp, memcpy, memmove, memset,
        rawmemchr, stpcpy, strchr, strcmp, strlen, strnlen, strsep): Likewise.
        * include/sys/stat.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__fxstat,
        __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64,
        __fxstatat64): Likewise.
        * include/sys/utsname.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
        (__uname): Likewise.
        * include/sysdeps/generic/_itoa.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
        (_itoa_upper_digits, _itoa_lower_digits): Likewise.
        * sysdeps/mach/hurd/configure.ac (NO_HIDDEN): Do not set.
        (NO_RTLD_HIDDEN): Set.
        * sysdeps/mach/hurd/configure: Refresh.
        * config.h.in: Refresh.

commit 38722448c64682628244d285c1e30c8887a8c801
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 2 23:16:56 2017 +0000

    Use libm_alias_double for dbl-64 atan, tan.
    
    This patch makes the dbl-64 atan and tan implementations use
    libm_alias_double, removing the corresponding ldbl-opt wrappers.
    
    Tested for x86_64, and with build-many-glibcs.py.  Installed stripped
    shared libraries are unchanged on non-ldbl-opt platforms.  For
    ldbl-opt configurations, the patch has the effect of causing
    compat_symbol to define atanl and tanl in terms of __atan and __tan
    instead of in terms of atan and tan, which is enough to change the
    installed stripped libm.so.
    
        * sysdeps/ieee754/dbl-64/s_atan.c: Include <libm-alias-double.h>.
        (atan): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_tan.c: Include <libm-alias-double.h>.
        (tan): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_atan.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/s_tan.c: Likewise.

commit 527cd19c3d39288ae170fe09de87c05a27f4e12b
Author: Joseph Myers <address@hidden>
Date:   Mon Oct 2 20:20:52 2017 +0000

    Make dbl-64 atan and tan into weak aliases.
    
    This patch converts the dbl-64 implementations of atan and tan into
    weak aliases of __atan and __tan, in preparation for making them use
    libm_alias_double.  Consequent changes are made to the x86_64
    multiarch versions wrapping round them (with the dbl-64 functions,
    like other such functions, being made not to define their aliases at
    all if __atan or __tan are defined as macros by an including file).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and
        define as weak alias of __atan.  Do not define any aliases if
        [__atan].
        [NO_LONG_DOUBLE] (__atanl): Define as strong alias of __atan.
        [NO_LONG_DOUBLE] (atanl): Define as weak alias of __atanl.
        * sysdeps/ieee754/dbl-64/s_tan.c (tan): Rename to __tan and define
        as weak alias of __tan.  Do not define any aliases if [__tan].
        [NO_LONG_DOUBLE] (__tanl): Define as strong alias of __tan.
        [NO_LONG_DOUBLE] (tanl): Define as weak alias of __tanl.
        * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c (atan): Rename to
        __atan.
        * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c (atan): Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c (atan): Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_atan.c (atan): Rename to __atan
        and define as weak alias of __atan.
        * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c (tan): Rename to
        __atan.
        * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c (tan): Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c (tan): Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_tan.c (tan): Rename to __tan and
        define as weak alias of __tan.

commit bdc5c59214a9e4bd9a299deead29c04ddf141256
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Oct 2 13:01:02 2017 +0100

    fix gamma symbol for static linking and new targets
    
    The lgamma compat code is no longer built for !LIBM_SVID_COMPAT targets,
    but the legacy gamma, gammaf and gammal symbols should be still defined,
    so make them aliases to the non-compat lgamma code.
    
        * math/w_lgamma.c: New file.
        * math/w_lgammaf.c: New file.
        * math/w_lgammal.c: New file.

commit bd4430c2a6d9d4deb49cab20ebe6aaf8a779ba0d
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 13 18:14:26 2017 +0100

    Do not wrap logf, log2f and powf
    
    The new generic logf, log2f and powf code don't need wrappers any more,
    they set errno inline so only use the wrappers on targets that need it.
    
        * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper.
        * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise
        * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise
        * sysdeps/ieee754/flt-32/w_log2f.c: New file.
        * sysdeps/ieee754/flt-32/w_logf.c: New file.
        * sysdeps/ieee754/flt-32/w_powf.c: New file.
        * sysdeps/i386/fpu/w_log2f.c: New file.
        * sysdeps/i386/fpu/w_logf.c: New file.
        * sysdeps/i386/fpu/w_powf.c: New file.
        * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file.
        * sysdeps/m68k/m680x0/fpu/w_logf.c: New file.
        * sysdeps/m68k/m680x0/fpu/w_powf.c: New file.

commit f7a0b063e7fc81d0eff1e8b2b169876bdfb4cc44
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Sep 12 12:44:18 2017 +0100

    Do not wrap expf and exp2f
    
    The new generic expf and exp2f code don't need wrappers any more, they
    set errno inline, so only use the wrappers on targets that need it.
    (If the wrapper is needed, then the top level wrapper code is included,
    otherwise empty w_exp*f.c is used to suppress the wrapper.)
    
    A powerpc64 expf implementation includes the expf c code directly which
    needed some changes.
    
        * sysdeps/ieee754/flt-32/e_exp2f.c (__exp2f): Define without wrapper.
        * sysdeps/ieee754/flt-32/e_expf.c (__expf): Likewise
        * sysdeps/ieee754/flt-32/w_exp2f.c: New file.
        * sysdeps/ieee754/flt-32/w_expf.c: New file.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c: Update for
        the new expf code.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c: New file.
        * sysdeps/powerpc/powerpc64/power8/fpu/w_expf.c: New file.
        * sysdeps/m68k/m680x0/fpu/w_exp2f.c: New file.
        * sysdeps/m68k/m680x0/fpu/w_expf.c: New file.
        * sysdeps/i386/fpu/w_exp2f.c: New file.
        * sysdeps/i386/fpu/w_expf.c: New file.
        * sysdeps/i386/i686/fpu/multiarch/w_expf.c: New file.
        * sysdeps/x86_64/fpu/w_expf.c: New file.

commit 72d3d281080be9f674982067d72874fd6cdb4b64
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 13 17:19:51 2017 +0100

    New symbol version for logf, log2f and powf without SVID compat
    
    This patch changes the logf, log2f and powf error handling semantics
    to only set errno accoring to POSIX rules. New symbol version is
    introduced at GLIBC_2.27.
    
    The old wrappers are kept for compat symbols.
    
    ia64 needed assembly change to have the new and compat versioned
    symbol map to the same function.
    
    All linux libm abilists are updated.
    
        * math/Versions (logf): New libm symbol at GLIBC_2.27.
        (log2f): Likewise.
        (powf): Likewise.
        * math/w_log2f.c: New file.
        * math/w_logf.c: New file.
        * math/w_powf.c: New file.
        * math/w_log2f_compat.c (__log2f_compat): For compat symbol only.
        * math/w_logf_compat.c (__logf_compat): Likewise.
        * math/w_powf_compat.c (__powf_compat): Likewise.
        * sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols.
        * sysdeps/ia64/fpu/e_logf.S: Likewise.
        * sysdeps/ia64/fpu/e_powf.S: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit 59ba2d2b542142e575d185f07e1eb96800d9862c
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Mon Oct 2 17:31:13 2017 +0530

    powerpc: Optimize memrchr for power8
    
    Vectorized loops are used for sizes greater than 32B to improve
    performance over power7 optimization.  This shows as an average
    of 25% improvement depending on the position of search
    character.  The performance is same for shorter strings.

commit 397286ea93ad30c24a5dad7928d0056c7b7d603d
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 18:05:52 2017 -0700

    Hide internal fadvise64/fallocate64 functions [BZ #18822]
    
    Hide internal fadvise64/fallocate64 functions to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/posix_fadvise64.c
        (__posix_fadvise64_l64): Add Add libc_hidden_proto and
        libc_hidden_def.
        * sysdeps/unix/sysv/linux/posix_fallocate64.c
        (__posix_fallocate64_l64): Likewise.

commit d0a4512bd437c8caebc0e6ce295e4e0a5079e6b3
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 18:03:46 2017 -0700

    Hide internal __sched_setaffinity_new function [BZ #18822]
    
    Hide internal __sched_setaffinity_new function to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/sched_setaffinity.c
        (__sched_setaffinity_new): Add libc_hidden_proto and
        libc_hidden_def.

commit c0769f7031b8293e7dc2762bff98d75691fe6a0d
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 18:01:54 2017 -0700

    Hide internal __glob64 function [BZ #18822]
    
    Hide internal __glob64 function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/glob.h (__glob64): Add libc_hidden_proto.
        * sysdeps/unix/sysv/linux/glob64.c (__glob64): Add
        libc_hidden_def.

commit 0e7d5b6e241b3e367b806f65f6df1e7469af68fa
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:59:51 2017 -0700

    Hide internal __new_getrlimit function [BZ #18822]
    
    Hide internal __new_getrlimit function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/getrlimit64.c (__new_getrlimit): Add
        attribute_hidden.

commit bde06c87b7de97b5cd4721414b11af6e0d09187e
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:58:08 2017 -0700

    Hide internal __new_exitfn function [BZ #18822]
    
    Hide internal __new_exitfn function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * stdlib/exit.h (__new_exitfn): Add attribute_hidden.

commit fa4265909edaa5118f7860f452e2fb9da48d0f6e
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:56:46 2017 -0700

    Hide internal __moncontrol function [BZ #18822]
    
    Hide internal __moncontrol function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * mon/gmon.c (__moncontrol): Add libc_hidden_proto and
        libc_hidden_def.

commit 2f8a05d826f554210eb2bec8dd6344c9615e00d7
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:55:11 2017 -0700

    Hide internal __libc_print_version function [BZ #18822]
    
    Hide internal __libc_print_version function to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * csu/version.c (__libc_print_version): Add attribute_hidden.

commit 7bfd08ac5be538a2beaa48f029944e01fb3b5d7a
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:53:31 2017 -0700

    Hide internal __init_misc function [BZ #18822]
    
    Hide internal __init_misc function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/libc-internal.h (__init_misc): Add attribute_hidden.

commit 0e1fd06cde496eb4f3cefdbee44e794ab5d52cb7
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:52:15 2017 -0700

    Hide internal __setfpucw function [BZ #18822]
    
    Hide internal __setfpucw function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/fpu_control.h (__setfpucw): Add attribute_hidden.

commit 36e7ae1e9d3b6a434e119aab4d10176aaaddf0c3
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:49:47 2017 -0700

    Hide internal __nis_hash function [BZ #18822]
    
    Hide internal __nis_hash function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * nscd/nscd_helper.c (__nis_hash): New prototype.

commit 87078544f24cfbd355bf2f7e63a0d01ff7c96cca
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:48:11 2017 -0700

    Hide internal __tcgetattr function [BZ #18822]
    
    Hide internal __tcgetattr function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/termios.h (__tcgetattr): Add libc_hidden_proto.
        * sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add
        libc_hidden_def.
        * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise.
        * termios/tcgetattr.c (__tcgetattr): Likewise.

commit dd3121df08d5ee44ba770d12365022aa802fb364
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:46:39 2017 -0700

    Hide internal __setrlimit function [BZ #18822]
    
    Hide internal __setrlimit function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/sys/resource.h (__setrlimit): Add libc_hidden_proto.
        * resource/setrlimit.c (__setrlimit): Add libc_hidden_def.
        * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise.
        * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise.
        * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New.

commit 047d1a81fd82db4cd7458fec37230f3b31b414e9
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:44:52 2017 -0700

    Hide internal __vstrfmon_l function [BZ #18822]
    
    Hide internal __vstrfmon_l function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/monetary.h (__vstrfmon_l): Add attribute_hidden.

commit fd331b1179df7fef8016273fb26f5f054793875a
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:43:13 2017 -0700

    Hide internal __sched_setparam function [BZ #18822]
    
    Hide internal __sched_setparam function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
    __GI___sched_setparam is defined when sysdeps/unix/syscalls.list is
    used to generate sched_setparam.  Otherwise libc_hidden_def is needed
    explicitly.
    
        [BZ #18822]
        * include/sched.h (__sched_setparam): Add libc_hidden_proto.
        * posix/sched_setp.c (__sched_setparam): Add libc_hidden_def.

commit 57f859bdb7be1acb7eea48aba8edf0c6b5900191
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:41:20 2017 -0700

    Hide internal __hash_string function [BZ #18822]
    
    Hide internal __hash_string function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * intl/hash-string.h (__hash_string): Add attribute_hidden.

commit d19033298f832f5b3e10da6f07e7959f0483df74
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:37:27 2017 -0700

    Hide internal __hasmntopt function [BZ #18822]
    
    Hide internal __hasmntopt function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/mntent.h (__hasmntopt): Add libc_hidden_proto.
        * misc/mntent_r.c (__hasmntopt): Add libc_hidden_def.

commit b4744101f36021bf2dde713682abbd0cc6935168
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:35:26 2017 -0700

    Hide internal __ifreq function [BZ #18822]
    
    Hide internal __ifreq function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/ifreq.h: New file.
        * sysdeps/generic/ifreq.h (__if_nextreq): Removed.
        (__ifreq): Likewise.
        * sysdeps/mach/hurd/ifreq.h (__if_nextreq): Removed.
        (__ifreq): Likewise.

commit 43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:33:08 2017 -0700

    Hide internal idna functions [BZ #18822]
    
    Hide internal idna functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/idna.h: New file.
        * inet/getnameinfo.c: Include <idna.h> instead of
        <libidn/idna.h>.
        (__idna_to_unicode_lzlz): Removed.
        * sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of
        <libidn/idna.h>.
        (__idna_to_ascii_lz): Removed.
        (__idna_to_unicode_lzlz): Likewise.

commit 2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 17:30:49 2017 -0700

    Hide internal __gettextparse function [BZ #18822]
    
    Hide internal __gettextparse function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/plural-exp.h: New file.
        * intl/plural-exp.c: Include <plural-exp.h> instead of
        "plural-exp.h".

commit 8369d216dcc0e192e0e1243d9dad443e68f13f06
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:12:08 2017 -0700

    Hide internal __get_sol function [BZ #18822]
    
    Hide internal __get_sol function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/getsourcefilter.c: Include
        "getsourcefilter.h".
        * sysdeps/unix/sysv/linux/getsourcefilter.h: New file.
        * sysdeps/unix/sysv/linux/setsourcefilter.c: Include
        "getsourcefilter.h".
        (__get_sol): Removed.

commit a0aef7830eb0698f72129b647be8c00cdf0c7938
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:09:20 2017 -0700

    Move hidden_proto (__dl_iterate_phdr) to include/link.h [BZ #18822]
    
    __dl_iterate_phdr is hidden and should be accessed directly within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved
        to ...
        * include/link.h (hidden_proto (__dl_iterate_phdr)): Here.

commit 3ee8209be761210dc6a8f121fd79231e7f364a9b
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:08:25 2017 -0700

    Hide internal __bsd_getpt function [BZ #18822]
    
    Hide internal __bsd_getpt function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/getpt.c (__bsd_getpt): Add
        attribute_hidden.

commit 6036fc38bf50d61ac5f09a435ce4622b586238ed
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:07:30 2017 -0700

    Hide internal __fopen_maybe_mmap function [BZ #18822]
    
    Hide internal __fopen_maybe_mmap function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * libio/iolibio.h (__fopen_maybe_mmap): Add attribute_hidden.

commit fe84fed04800bc5becb9fba84db98f58007e77f3
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:06:43 2017 -0700

    Hide internal __tdestroy function [BZ #18822]
    
    Hide internal __tdestroy function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/search.h (__tdestroy): Add libc_hidden_proto.
        * misc/tsearch.c (__tdestroy): Add libc_hidden_def.

commit 048dd6813f36c31fa21871d840a0b62f1c3a590f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:06:00 2017 -0700

    Hide internal __assert_fail_base function [BZ #18822]
    
    Hide internal __assert_fail_base function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/assert.h (__assert_fail_base): Add attribute_hidden.

commit 6e342af6e7399c96246c6174802e84d46a176ffa
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:05:10 2017 -0700

    Hide internal __sysinfo function [BZ #18822]
    
    Hide internal __sysinfo function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/include/sys/sysinfo.h (__sysinfo): Add
        attribute_hidden.

commit 6a088436d4c04b8081e86f9e856f10fba97d0612
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:04:26 2017 -0700

    Hide internal signal functions [BZ #18822]
    
    Hide internal signal functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
    __GI___kill and __GI___sigaltstack are defined when syscalls.list is
    used to generate them.  Otherwise libc_hidden_def is needed explicitly.
    
        [BZ #18822]
        * include/signal.h (__kill): Add libc_hidden_proto.
        (__sigblock): Likewise.
        (__sigprocmask): Likewise.
        (__sigaltstack): Likewise.
        * signal/kill.c (__kill): Add libc_hidden_def.
        * signal/sigblock.c (__sigblock): Likewise.
        * signal/sigprocmask.c (__sigprocmask): Likewise.
        * sysdeps/mach/hurd/kill.c (__kill): Likewise.
        * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise.
        * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Likewise.
        * sysdeps/posix/sigblock.c (__sigblock): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sigprocmask.c (__sigprocmask):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/sigprocmask.c (__sigprocmask):
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
        (__sigprocmask): Likewise.
        * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask):
        Likewise.
        * /sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
        (__sigprocmask): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c (__sigprocmask):
        Likewise.

commit 78cf1d74d28c9312d888dea1ad3de01d38c5fc4a
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:03:28 2017 -0700

    Hide internal __strsep function [BZ #18822]
    
    Hide internal __strsep function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/string.h (__strsep): Add libc_hidden_proto.
        * string/strsep.c (__strsep): Add libc_hidden_def.

commit 85b358949d506ddc7c35301e7ae1316d2036a736
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:02:41 2017 -0700

    Hide __posix_spawn_file_actions_realloc/__spawni [BZ #18822]
    
    Hide internal __posix_spawn_file_actions_realloc and /__spawni functions
    to allow direct access within libc.so and libc.a without using GOT nor
    PLT.
    
        [BZ #18822]
        * posix/spawn_int.h (__posix_spawn_file_actions_realloc): Add
        attribute_hidden.
        (__spawni): Likewise.

commit 225f7eec85b83ad38a1c92dbb16a843732a25899
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:01:43 2017 -0700

    Hide internal __mremap function [BZ #18822]
    
    Hide internal __mremap function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
    __GI___mremap is defined when sysdeps/unix/syscalls.list is used to
    generate mremap.  Otherwise libc_hidden_def is needed explicitly.
    
        [BZ #18822]
        * include/sys/mman.h (__mremap): Add libc_hidden_proto.
        * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add
        libc_hidden_def.

commit 372fe247b11eb4079f93f11f3f20d14bc6c2c57f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 16:00:05 2017 -0700

    Hide internal __malloc_check_init function [BZ #18822]
    
    Hide internal __malloc_check_init function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/malloc.h (__malloc_check_init): Add attribute_hidden.

commit 9e5ee8b839175b7f48d2e64e87d1e3da8fa6458f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:58:52 2017 -0700

    Hide internal __ioctl function [BZ #18822]
    
    Hide internal __ioctl function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
    __GI___ioctl is defined when sysdeps/unix/syscalls.list is used to
    generate ioctl.  Otherwise libc_hidden_def is needed explicitly.
    
        [BZ #18822]
        * include/sys/ioctl.h (__ioctl): Add libc_hidden_proto.
        * misc/ioctl.c (__ioctl): Add libc_hidden_def.
        * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
        * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S (__ioctl): Likewise.

commit 2ff16592d8a6b873467c9348f609738973217288
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:58:05 2017 -0700

    Mark internal intl functions with attribute_hidden [BZ #18822]
    
    Mark internal intl functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * intl/gettextP.h (__dcngettext): Add attribute_hidden.
        (__dcigettext): Likewise.

commit b5648377d923d790dd7e995d79d480066b25e6bb
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:57:00 2017 -0700

    Hide internal sysinfo functions [BZ #18822]
    
    Hide internal sysinfo functions to allow direct access within libc.so
    and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/sys/sysinfo.h (__get_nprocs_conf): Add
        libc_hidden_proto.
        (__get_nprocs): Likewise.
        (__get_phys_pages): Likewise.
        (__get_avphys_pages): Likewise.
        (__get_child_max): Add attribute_hidden.
        * misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def.
        (__get_nprocs): Likewise.
        (__get_phys_pages): Likewise.
        (__get_avphys_pages): Likewise.
        * sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add
        libc_hidden_def.
        (__get_nprocs): Likewise.
        (__get_phys_pages): Likewise.
        (__get_avphys_pages): Likewise.
        * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add
        libc_hidden_def.
        (__get_nprocs_conf): Likewise.
        (__get_phys_pages): Likewise.
        (__get_avphys_pages): Likewise.

commit 0389a6aaae6d07f69de5b42345293ec578337de2
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:56:04 2017 -0700

    Mark internal netlink functions with attribute_hidden [BZ #18822]
    
    Mark internal netlink functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add
        attribute_hidden.
        (__netlink_close): Likewise.
        (__netlink_free_handle): Likewise.
        (__netlink_request): Likewise.

commit d48354d86087ba63acb7e2b20fb604c0b6ba4352
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:54:51 2017 -0700

    Mark internal rpc functions with attribute_hidden [BZ #18822]
    
    Mark internal rpc functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/rpc/rpc.h (__rpc_thread_variables): Add
        attribute_hidden.
        (__rpc_thread_svc_cleanup): Likewise.
        (__rpc_thread_clnt_cleanup): Likewise.
        (__rpc_thread_key_cleanup): Likewise.

commit d6daff12617290d4dfb499ed8425d33a48d844ba
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:53:52 2017 -0700

    Hide __readv and __writev [BZ #18822]
    
    Hide internal __readv and __writev functions to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/sys/uio.h (__readv): Add libc_hidden_proto.
        (__writev): Likewise.
        * misc/readv.c (__readv): Add libc_hidden_def.
        * misc/writev.c (__writev): Likewise.
        * sysdeps/posix/readv.c (__readv): Likewise.
        * sysdeps/posix/writev.c (__writev): Likewise.
        * sysdeps/unix/sysv/linux/readv.c: Include <sys/uio.h>.
        (__readv): Likewise.
        * sysdeps/unix/sysv/linux/writev.c: Include <sys/uio.h>.
        (__writev): Likewise.

commit b68f8620561d7658b475eb512978d3c33d8a4547
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:52:56 2017 -0700

    Hide internal regex functions [BZ #18822]
    
    Hide internal regex functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/regex.h (__re_compile_fastmap): Add attribute_hidden.
        (__regcomp): Add libc_hidden_proto.
        (__regexec): Likewise.
        (__regfree): Likewise.
        * posix/regcomp.c (__regcomp): Add libc_hidden_def.
        (__regfree): Likewise.
        * posix/regexec.c (__regexec): Likewise.

commit 59c04e67631d370738b80923d42d4d1539d8f95f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:51:44 2017 -0700

    Mark internal utmp functions with attribute_hidden [BZ #18822]
    
    Mark internal utmp functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/utmp.h (__updwtmp): Add libc_hidden_proto.
        (__getutent): Likewise.
        (__getutid): Likewise.
        (__getutline): Likewise.
        (__pututline): Likewise.
        (__getutent_r): Likewise.
        (__getutid_r): Likewise.
        (__getutline_r): Likewise.
        (__utmpname): Add attribute_hidden.
        (__setutent): Likewise.
        (__endutent): Likewise.
        * login/getutent.c (__getutent): Add libc_hidden_def.
        * login/getutent_r.c (__getutent_r): Likewise.
        (__pututline): Likewise.
        * login/getutid.c (__getutid): Likewise.
        * login/getutid_r.c (__getutid_r): Likewise.
        * login/getutline.c (__getutline): Likewise.
        * login/getutline_r.c (__getutline_r): Likewise.
        * login/updwtmp.c (__updwtmp): Likewise.

commit 4587a421c54a8912b3e24913c7e1501293042b40
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:50:56 2017 -0700

    Mark internal dirent functions with attribute_hidden [BZ #18822]
    
    Mark internal dirent functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.  __readdir64
    is hidden with libc_hidden_proto and libc_hidden_def since the exported
    readdir64 is an alias of __readdir64.
    
        [BZ #18822]
        * include/dirent.h (__opendir): Always add attribute_hidden.
        (__fdopendir): Likewise.
        (__closedir): Likewise.
        (__readdir): Likewise.
        (__readdir64): Add libc_hidden_proto.
        * sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def.
        * sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise.
        * sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64):
        New alias.

commit 9635ce69626bfe41196bdef8efe4aba8d8a7b58f
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:20:47 2017 -0700

    Mark internal getXXXbyYYY functions with attribute_hidden [BZ #18822]
    
    Mark internal getXXXbyYYY functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/aliases.h (__getaliasbyname_r): Add attribute_hidden.
        * include/netdb.h (__gethostbyaddr_r): Likewise.
        (__gethostbyname_r): Likewise.
        (__gethostbyname2_r): Likewise.
        (__getnetbyaddr_r): Likewise.
        (__getnetbyname_r): Likewise.
        (__getservbyname_r): Likewise.
        (__getservbyport_r): Likewise.
        (__getprotobyname_r): Likewise.
        (__getprotobynumber_r): Likewise.
        (__getnetgrent_r): Likewise.
        * include/rpc/netdb.h (__getrpcbyname_r): Likewise.
        (__getrpcbynumber_r): Likewise.
        * nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise.

commit 2e0a69097d38382fc26cce2a482e9ef2ddda52cf
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:19:51 2017 -0700

    Mark internal stdio functions with attribute_hidden [BZ #18822]
    
    Mark internal stdio functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/stdio.h (__fcloseall): Add attribute_hidden.
        (__getline): Likewise.
        (__path_search): Likewise.
        (__gen_tempname): Likewise.
        (__libc_message): Likewise.
        (__flockfile): Likewise.
        (__funlockfile): Likewise.
        (__fxprintf): Likewise.
        (__fxprintf_nocancel): Likewise.

commit 94fd682c9b7c0b1ed95234a491f86b8d529e15c2
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:19:01 2017 -0700

    Mark internal gshadow functions with attribute_hidden [BZ #18822]
    
    Mark internal gshadow functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/gshadow.h (__fgetsgent_r): Add attribute_hidden.
        (__sgetsgent_r): Likewise.

commit e1b33bba7c30b36be33fa8bb1e6cffbb65b97730
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:18:09 2017 -0700

    Mark internal statfs functions with attribute_hidden [BZ #18822]
    
    Mark internal statfs functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/sys/statfs.h (__fstatfs): Add attribute_hidden.
        (__statfs64): Likewise.
        (__fstatfs64): Likewise.
        * include/sys/statvfs.h (__statvfs64): Likewise.
        (__fstatvfs64): Likewise.
        * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise.
        (__statfs_filesize_max): Likewise.
        (__statfs_symlinks): Likewise.
        (__statfs_chown_restricted): Likewise.

commit b0f5678494d727b6868435dfc32b066ade6d3e49
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:17:19 2017 -0700

    Mark internal time functions with attribute_hidden [BZ #18822]
    
    Mark internal time functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/time.h (__tzstring): Add attribute_hidden.
        (__tzfile_read): Likewise.
        (__tzfile_compute): Likewise.
        (__tzfile_default): Likewise.
        (__tzset_parse_tz): Likewise.
        (__offtime): Likewise.
        (__asctime_r): Likewise.
        (__tzset): Likewise.
        (__tz_convert): Likewise.
        (__getdate_r): Likewise.
        (__getclktck): Likewise.

commit a4338d994fe4b1802db040140153b4b6bc36c817
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:16:13 2017 -0700

    Mark internal nscd functions with attribute_hidden [BZ #18822]
    
    Mark internal nscd functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden.
        (__nscd_unmap): Likewise.
        (__nscd_cache_search): Likewise.
        (__nscd_get_nl_timestamp): Likewise.
        (__nscd_getpwnam_r): Likewise.
        (__nscd_getpwuid_r): Likewise.
        (__nscd_getgrnam_r): Likewise.
        (__nscd_getgrgid_r): Likewise.
        (__nscd_gethostbyname_r): Likewise.
        (__nscd_gethostbyname2_r): Likewise.
        (__nscd_gethostbyaddr_r): Likewise.
        (__nscd_getai): Likewise.
        (__nscd_getgrouplist): Likewise.
        (__nscd_getservbyname_r): Likewise.
        (__nscd_getservbyport_r): Likewise.
        (__nscd_innetgr): Likewise.
        (__nscd_setnetgrent): Likewise.

commit a2ca165230cfa951605e5904be838c3e3e04be0b
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:15:15 2017 -0700

    Mark internal gmp functions with attribute_hidden [BZ #18822]
    
    Mark internal gmp functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/gmp.h: Declare internal functions only if _ISOMAC is
        undefined.
        (__mpn_extract_double): Add attribute_hidden.
        (__mpn_extract_long_double): Likewise.
        (__mpn_extract_float128): Likewise.
        (__mpn_construct_float): Likewise.
        (__mpn_construct_double): Likewise.
        (__mpn_construct_long_double): Likewise.
        (__mpn_construct_float128): Likewise.
        (mpn_add_1): Likewise.
        (mpn_addmul_1): Likewise.
        (mpn_add_n): Likewise.
        (mpn_cmp): Likewise.
        (mpn_divrem): Likewise.
        (mpn_lshift): Likewise.
        (mpn_mul): Likewise.
        (mpn_mul_1): Likewise.
        (mpn_rshift): Likewise.
        (mpn_sub_1): Likewise.
        (mpn_submul_1): Likewise.
        (mpn_sub_n): Likewise.

commit 44af8a32c341672b5160fdc2839767e9a837ad26
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:14:17 2017 -0700

    Mark internal wchar functions with attribute_hidden [BZ #18822]
    
    Mark internal wchar functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/wchar.h (__wcsnlen): Add attribute_hidden.
        (__wcscat): Likewise.
        (__btowc): Likewise.
        (__wcrtomb): Likewise.
        (__mbsrtowcs): Likewise.
        (__wcsrtombs): Likewise.
        (__mbsnrtowcs): Likewise.
        (__wcsnrtombs): Likewise.
        (__wcsncpy): Likewise.
        (__wcpncpy): Likewise.
        (__wmemcpy): Likewise.
        (__wmempcpy): Likewise.
        (__wmemmove): Likewise.
        (__wcschrnul): Likewise.
        (__vfwscanf): Likewise.
        (__vswprintf): Likewise.
        (__fwprintf): Likewise.
        (__vfwprintf): Likewise.

commit 783cd767af5f3746b639f76b1de5e0e3c3d64683
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:12:57 2017 -0700

    Mark internal grp/pwd/shadow functions with attribute_hidden [BZ #18822]
    
    Mark internal grp/pwd/shadow functions with attribute_hidden to allow
    direct access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/grp.h (__fgetgrent_r): Add attribute_hidden.
        (__getgrgid_r): Likewise.
        (__getgrnam_r): Likewise.
        * include/pwd.h (__getpwuid_r): Likewise.
        (__getpwnam_r): Likewise.
        (__fgetpwent_r): Likewise.
        * include/shadow.h (__getspnam_r): Likewise.
        (__sgetspent_r): Likewise.
        (__fgetspent_r): Likewise.

commit 7ec4b39ac484ba65e011dde4e8ff0b7f478efc7c
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:11:40 2017 -0700

    Mark internal unistd functions with attribute_hidden [BZ #18822]
    
    Mark internal unistd functions with attribute_hidden to allow direct
    access to them within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/unistd.h (__access): Add attribute_hidden.
        (__lseek64): Likewise.
        (__libc_pread64): Likewise.
        (__pipe2): Likewise.
        (__sleep): Likewise.
        (__chdir): Likewise.
        (__fchdir): Likewise.
        (__getcwd): Likewise.
        (__rmdir): Likewise.
        (__execvpe): Likewise.
        (__execve): Likewise.
        (__setsid): Likewise.
        (__getuid): Likewise.
        (__geteuid): Likewise.
        (__getgid): Likewise.
        (__getegid): Likewise.
        (__getgroups): Likewise.
        (__group_member): Likewise.
        (__ttyname_r): Likewise.
        (__isatty): Likewise.
        (__readlink): Likewise.
        (__unlink): Likewise.
        (__gethostname): Likewise.
        (__profil): Likewise.
        (__getdtablesize): Likewise.
        (__brk): Likewise.
        (__ftruncate): Likewise.
        (__ftruncate64): Likewise.

commit 8345a76018851ba52e05216e3d7c772e24d5da44
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:10:12 2017 -0700

    Mark internal argp functions with attribute_hidden [BZ #18822]
    
    Mark internal argp functions with attribute_hidden to allow direct
    access to them within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * argp/argp-fmtstream.c: Include <argp-fmtstream.h>.
        * argp/argp-fs-xinl.c: Likewise.
        * argp/argp-help.c: Include <argp.h> and <argp-fmtstream.h>.
        * argp/argp-parse.c: Include <argp.h>.
        * argp/argp-xinl.c: Likewise.
        * include/argp-fmtstream.h: New file.
        * include/argp.h (__argp_error): Add attribute_hidden.
        (__argp_failure): Likewise.
        (__argp_input): Likewise.
        (__argp_state_help): Likewise.

commit c26dd7c600a2192d031efa2a0fb28b1ded85bf1d
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:09:11 2017 -0700

    Mark ____wcsto*_l_internal functions with attribute_hidden [BZ #18822]
    
    Mark ____wcsto*_l_internal functions with attribute_hidden to allow
    direct access to them within libc.so and libc.a without using GOT nor
    PLT.
    
        [BZ #18822]
        * include/wchar.h (____wcstof_l_internal): New prototype.
        (____wcstod_l_internal): Likewise.
        (____wcstold_l_internal): Likewise.
        (____wcstol_l_internal): Likewise.
        (____wcstoul_l_internal): Likewise.
        (____wcstoll_l_internal): Likewise.
        (____wcstoull_l_internal): Likewise.
        (____wcstof128_l_internal): Likewise.
        * sysdeps/ieee754/float128/wcstof128.c
        (____wcstof128_l_internal): Removed.
        * sysdeps/ieee754/float128/wcstof128_l.c
        (____wcstof128_l_internal): Likewise.
        * wcsmbs/wcstod.c (____wcstod_l_internal): Likewise.
        * wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise.
        * wcsmbs/wcstof.c (____wcstof_l_internal): Likewise.
        * wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise.
        * wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise.
        * wcsmbs/wcstold.c (____wcstold_l_internal): Likewise.
        * wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise.
        * wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise.
        * wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise.
        * wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise.

commit 3aff56444e96300fba1e2c25bd0b2545613a20fa
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:08:14 2017 -0700

    Mark __internal_statvfs[64] with attribute_hidden [BZ #18822]
    
    Mark __internal_statvfs[64] with attribute_hidden to allow direct access
    to them within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h"
        instead of <sys/statvfs.h>.
        (__internal_statvfs): Removed.
        * sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h"
        instead of <sys/statvfs.h>.
        (__internal_statvfs64): Removed.
        * sysdeps/unix/sysv/linux/internal_statvfs.c: Include
        "internal_statvfs.h" instead of <sys/statvfs.h>.
        * sysdeps/unix/sysv/linux/internal_statvfs.h: New file.
        * sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h"
        instead of <sys/statvfs.h>.
        (__internal_statvfs): Removed.
        * sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h"
        instead of <sys/statvfs.h>.
        (__internal_statvfs64): Removed.

commit 8bcdb7e0c5346d2e9d61b208d80fd8213e1dbd90
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 15:07:06 2017 -0700

    Mark internal functions with attribute_hidden [BZ #18822]
    
    Mark internal functions with attribute_hidden to allow direct access to
    internal functions within libc.so and libc.a without using GOT nor PLT.
    
    Size comparison of libc.so:
    
    On x86-64:
            text           data     bss     dec     hex
    Before: 1728577       20584   17088 1766249  1af369
    After : 1728593       20584   17088 1766265  1af379
    
    The only change is __gconv_release_shlib in iconv/gconv_dl.c is inlined
    since it is hidden, which increases the code size of gconv_dl.os by 18
    bytes.
    
    On i686:
            text           data     bss     dec     hex
    Before: 1869039       11444   11112 1891595  1cdd0b
    After : 1868635       11444   11112 1891191  1cdb77
    
    The code size is decreased by avoiding GOT/PLT for hidden functions.
    
        [BZ #18822]
        * iconv/gconv_int.h (__gconv_open): Add attribute_hidden.
        (__gconv_close): Likewise.
        (__gconv): Likewise.
        (__gconv_find_transform): Likewise.
        (__gconv_lookup_cache): Likewise.
        (__gconv_compare_alias_cache): Likewise.
        (__gconv_load_cache): Likewise.
        (__gconv_get_path): Likewise.
        (__gconv_close_transform): Likewise.
        (__gconv_release_cache): Likewise.
        (__gconv_find_shlib): Likewise.
        (__gconv_release_shlib): Likewise.
        (__gconv_get_builtin_trans): Likewise.
        (__gconv_compare_alias): Likewise.
        * include/dlfcn.h (_dlerror_run): Likewise.
        * include/stdio.h (__fortify_fail_abort): Likewise.
        * include/time.h (__tz_compute): Likewise.
        (__strptime_internal): Likewise.
        * intl/gettextP.h (_nl_find_domain): Likewise.
        (_nl_load_domain): Likewise.
        (_nl_find_msg): Likewise.
        * intl/plural-exp.h (FREE_EXPRESSION): Likewise.
        (EXTRACT_PLURAL_EXPRESSION): Likewise.
        * locale/coll-lookup.h (__collidx_table_lookup): Likewise.
        * resolv/gai_misc.h (__gai_enqueue_request): Likewise.
        (__gai_find_request): Likewise.
        (__gai_remove_request): Likewise.
        (__gai_notify): Likewise.
        (__gai_notify_only): Likewise.
        * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise.
        * sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
        (_dl_non_dynamic_init): Likewise.
        (_dl_aux_init): Likewise.
        * sysdeps/i386/machine-gmon.h (mcount_internal): Likewise.
        * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64):
        Likewise.
        * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise.
        (__wcsmbs_clone_conv): Likewise.
        (__wcsmbs_named_conv): Likewise.

commit 8ed3b64330cd24e2a17d8794a871cab034707a33
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 14:34:18 2017 -0700

    Mark internal stdlib functions with attribute_hidden [BZ #18822]
    
    Mark internal stdlib functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.  __realpath
    is hidden with libc_hidden_proto and libc_hidden_def since the exported
    realpath is an alias of __realpath.
    
        [BZ #18822]
        * include/stdlib.h (__random): Add attribute_hidden.
        (__random_r): Likewise.
        (__srandom_r): Likewise.
        (__initstate_r): Likewise.
        (__setstate_r): Likewise.
        (__erand48_r): Likewise.
        (__nrand48_r): Likewise.
        (__jrand48_r): Likewise.
        (__srand48_r): Likewise.
        (__seed48_r): Likewise.
        (__lcong48_r): Likewise.
        (__drand48_iterate): Likewise.
        (__setenv): Likewise.
        (__unsetenv): Likewise.
        (__clearenv): Likewise.
        (__ptsname_r): Likewise.
        (__posix_openpt): Likewise.
        (__add_to_environ): Likewise.
        (__realpath): Add libc_hidden_proto.
        (__ecvt_r): Likewise.
        (__fcvt_r): Likewise.
        (__qecvt_r): Likewise.
        (__qfcvt_r): Likewise.
        * misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local).
        * stdlib/canonicalize.c (__realpath): Add libc_hidden_def.

commit ef9b6f73f45a46d079018f63e2d9184eaa0db1d5
Author: H.J. Lu <address@hidden>
Date:   Sun Oct 1 14:33:26 2017 -0700

    Mark 3 *_internal functions with attribute_hidden [BZ #18822]
    
    Mark __ptsname_internal, __mktime_internal and __fopen_internal with
    attribute_hidden to allow direct access to them within libc.so and
    libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/stdlib.h (__ptsname_internal): Add attribute_hidden.
        * include/time.h (__mktime_internal): Likewise.
        * libio/iolibio.h (__fopen_internal): Likewise.

commit 8da92e722ca66e35003abf64a77ae529f9989e6a
Author: John David Anglin <address@hidden>
Date:   Sun Oct 1 11:58:04 2017 -0400

    Fix return pointer save and PIC register restore in __getcontext and
    __setcontext on hppa.
    
        * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return
        pointer in frame.
        * sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): Likewise.
        Correct offset used to restore PIC register.

commit 388784cfddc20ada56d3e52f830d6445b14aa3af
Author: John David Anglin <address@hidden>
Date:   Sat Sep 30 19:02:57 2017 -0400

    Fix hppa text relocations in libc.so
    
        [BZ libc/22165]
        * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Use PIC
        code to load address of __getcontext_ret when generating PIC code.

commit 2000067a4be0dc8a70f6d3704a9e8388eb9066c9
Author: H.J. Lu <address@hidden>
Date:   Sat Sep 30 01:39:14 2017 -0700

    Add a test for non-PIE static executable
    
    tst-tls1-static-non-pie is built with $(no-pie-ldflag) to make it a
    non-PIE static executable, regardless if --enable-static-pie is used
    to configure glibc.
    
        * elf/Makefile (tests-static-internal): Add
        tst-tls1-static-non-pie.
        (LDFLAGS-tst-tls1-static-non-pie): New.
        * elf/tst-tls1-static-non-pie.c: New file.

commit 1e2bffd05c36a9be30d7092d6593a9e9aa009ada
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 29 23:54:33 2017 +0000

    Use libm_alias_double for some dbl-64 functions.
    
    Continuing the move of libm aliases to common macros that can create
    _FloatN / _FloatNx aliases in future, this patch converts some dbl-64
    functions to using libm_alias_double, thereby eliminating the need for
    some ldbl-opt wrappers.
    
    This patch deliberately limits what functions are converted so that it
    can be verified by comparison of stipped binaries.  Specifically, atan
    and tan are excluded because they first need converting to being weak
    aliases; fma is omitted as it has additional complications with
    versions in other directories (removing the ldbl-opt version can
    e.g. cause the ldbl-128 version to be used instead of dbl-64); and
    functions that have both dbl-64/wordsize-64 and ldbl-opt versions are
    excluded because ldbl-opt currently always wraps dbl-64 function
    versions, so changing those will result in platforms using both
    ldbl-opt and dbl-64/wordsize-64 (i.e. alpha) starting to use the
    dbl-64/wordsize-64 versions of those functions (which is good, as an
    optimization, but still best separated from the present patch to get
    better validation).
    
    Tested for x86_64, and tested with build-many-glibcs.py that installed
    stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/dbl-64/s_asinh.c: Include <libm-alias-double.h>.
        (asinh): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_cbrt.c: Include <libm-alias-double.h>.
        (cbrt): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_copysign.c: Include
        <libm-alias-double.h>.
        (copysign): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_erf.c: Include <libm-alias-double.h>.
        (erf): Define using libm_alias_double.
        (erfc): Likewise.
        * sysdeps/ieee754/dbl-64/s_expm1.c: Include <libm-alias-double.h>.
        (expm1): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_fabs.c: Include <libm-alias-double.h>.
        (fabs): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_fromfp.c (fromfp): Define using
        libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_fromfp_main.c: Include
        <libm-alias-double.h>.
        * sysdeps/ieee754/dbl-64/s_fromfpx.c (fromfpx): Define using
        libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_getpayload.c: Include
        <libm-alias-double.h>.
        (getpayload): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_llrint.c: Include
        <libm-alias-double.h>.
        (llrint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_lrint.c: Include <libm-alias-double.h>.
        (lrint): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_nextup.c: Include
        <libm-alias-double.h>.
        (nextup): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_roundeven.c: Include
        <libm-alias-double.h>.
        (roundeven): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_setpayload.c (setpayload): Define using
        libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_setpayload_main.c: Include
        <libm-alias-double.h>.
        * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (setpayloadsig): Define
        using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_sin.c: Include <libm-alias-double.h>.
        (cos): Define using libm_alias_double.
        (sin): Likewise.
        * sysdeps/ieee754/dbl-64/s_sincos.c: Include
        <libm-alias-double.h>.
        (sincos): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_tanh.c: Include <libm-alias-double.h>.
        (tanh): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_totalorder.c: Include
        <libm-alias-double.h>.
        (totalorder): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_totalordermag.c: Include
        <libm-alias-double.h>.
        (totalordermag): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_ufromfp.c (ufromfp): Define using
        libm_alias_double.
        * sysdeps/ieee754/dbl-64/s_ufromfpx.c (ufromfpx): Define using
        libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Include
        <libm-alias-double.h>.
        (getpayload): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Include
        <libm-alias-double.h>.
        (roundeven): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_setpayload_main.c: Include
        <libm-alias-double.h>.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include
        <libm-alias-double.h>.
        (totalorder): Define using libm_alias_double.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include
        <libm-alias-double.h>.
        (totalordermag): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_copysign.c (copysignl): Only define
        libc compat symbol here.
        * sysdeps/ieee754/ldbl-opt/s_asinh.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/s_cbrt.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_erf.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_expm1.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_fabs.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_llrint.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_lrint.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_sin.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_sincos.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_tanh.c: Likewise.

commit 8172aad937f52fe4ae891a206492150815791f2a
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 29 16:23:18 2017 -0700

    arm: Update elf_machine_load_address for static PIE
    
    When --enable-static-pie is used to configure glibc, we need to use
    _dl_relocate_static_pie to compute load address in static PIE.
    
        * sysdeps/arm/dl-machine.h (elf_machine_load_address): Use
        _dl_relocate_static_pie instead of _dl_start to compute load
        address in static PIE.  Return 0 if _DYNAMIC is undefined for
        static executable.

commit 54464e749d91401ccf20a5dc1c7af86b752c9e0c
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 29 16:21:49 2017 -0700

    mips: Update elf_machine_load_address for static PIE
    
    mips uses a local label to compute load address, which works with static
    PIE.  We just need to return 0 if _DYNAMIC is undefined for static
    executable.
    
        * sysdeps/mips/dl-machine.h (elf_machine_dynamic): Return 0 if
        _DYNAMIC is undefined for static executable.

commit f6c5e5bce0a71680f90a4d6983b7233d461b5f86
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 29 16:20:26 2017 -0700

    arm: Check PIC instead of SHARED in start.S
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.
    
        * sysdeps/arm/start.S (_start): Check PIC instead of SHARED.

commit 2f92505d207aa2baca29f96bf1a1ea0baea3787e
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 29 18:03:48 2017 +0000

    Update x86_64 libm-test-ulps.
    
        * sysdeps/x86_64/fpu/libm-test-ulps: Update.

commit bd8d53bb33eedd6db5d0a6ac6afafe78e4352bdf
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Sep 29 18:54:24 2017 +0100

    Use fabs(f/l) rather than __fabs
    
    A few math functions still use __fabs(f/l) rather than fabs, which
    means they won't be inlined. Rename them so they are inlined.
    Also add -fno-builtin-fabsl to nofpu powerpc makefile to work around
    BZ #29253.
    
        * sysdeps/ieee754/dbl-64/e_lgamma_r.c
        (__ieee754_lgamma_r): Use fabs rather than __fabs.
        * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
        * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
        * sysdeps/ieee754/flt-32/e_lgammaf_r.c
        (__ieee754_lgammaf_r): Use fabsf rather than __fabsf.
        * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
        * sysdeps/ieee754/flt-32/e_log2f.c (__ieee754_log2f): Likewise.
        * sysdeps/ieee754/ldbl-128/e_lgammal_r.c
        (__ieee754_lgammal_r): Use fabsl rather than __fabsl.
        * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c
        (__ieee754_lgammal_r): Use fabsl rather than __fabsl.
        * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise.
        * sysdeps/powerpc/nofpu/Makefile: Add -fno-builtin-fabsl for BZ #29253.

commit fffb15073516d8e137e2e5def0ae813d11020f88
Author: Wilco Dijkstra <address@hidden>
Date:   Fri Sep 29 17:52:06 2017 +0100

    Remove old cimag inlines
    
    Remove old cimag inlines that are only used in GCC 2.96 or older.
    
        * math/bits/cmathcalls.h (cimag): Remove inline.
        (creal): Remove inline.
        (conj): Remove inline.

commit 4ea49f4c08eeac1a64a5aba8c9033b604afe8b2c
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Sep 4 17:55:33 2017 +0100

    New generic powf
    
    without wrapper on aarch64:
    powf reciprocal-throughput: 4.2x faster
    powf latency: 2.6x faster
    old worst-case error: 1.11 ulp
    new worst-case error: 0.82 ulp
    aarch64 .text size: -780 bytes
    aarch64 .rodata size: +144 bytes
    
    powf(x,y) is implemented as exp2(y*log2(x)) with the same algorithms
    that are used in exp2f and log2f, except that the log2f polynomial is
    larger for extra precision and its output (and exp2f input) may be
    scaled by a power of 2 (POWF_SCALE) to simplify the argument reduction
    step of exp2 (possible when efficient round and convert toint operation
    is available).
    
    The special case handling tries to minimize the checks in the hot path.
    When the input of exp2_inline is checked, int arithmetics is used as
    that was faster on the tested aarch64 cores.
    
        * math/Makefile (type-float-routines): Add e_powf_log2_data.
        * sysdeps/ieee754/flt-32/e_powf.c: New implementation.
        * sysdeps/ieee754/flt-32/e_powf_log2_data.c: New file.
        * sysdeps/ieee754/flt-32/math_config.h (__powf_log2_data): Define.
        (issignalingf_inline): Likewise.
        (POWF_LOG2_TABLE_BITS): Likewise.
        (POWF_LOG2_POLY_ORDER): Likewise.
        (POWF_SCALE_BITS): Likewise.
        (POWF_SCALE): Likewise.
        * sysdeps/i386/fpu/e_powf_log2_data.c: New file.
        * sysdeps/ia64/fpu/e_powf_log2_data.c: New file.
        * sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c: New file.

commit 875c76c7048fe4a8c67c265cdae057cb3ca19f44
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Sep 4 17:53:47 2017 +0100

    New generic log2f
    
    Similar to the new logf: double precision arithmetics and a small
    lookup table is used. The argument reduction step is the same as in
    the new logf.
    
    without wrapper on aarch64:
    log2f reciprocal-throughput: 2.3x faster
    log2f latency: 2.1x faster
    old worst case error: 1.72 ulp
    new worst case error: 0.75 ulp
    aarch64 .text size: -252 bytes
    aarch64 .rodata size: +244 bytes
    
        * math/Makefile (type-float-routines): Add e_log2f_data.
        * sysdeps/ieee754/flt-32/e_log2f.c: New implementation.
        * sysdeps/ieee754/flt-32/e_log2f_data.c: New file.
        * sysdeps/ieee754/flt-32/math_config.h (__log2f_data): Define.
        (LOG2F_TABLE_BITS, LOG2F_POLY_ORDER): Define.
        * sysdeps/i386/fpu/e_log2f_data.c: New file.
        * sysdeps/ia64/fpu/e_log2f_data.c: New file.
        * sysdeps/m68k/m680x0/fpu/e_log2f_data.c: New file.

commit 90c42e40d06ee35c4a2206fa2e00f49a988ee0c1
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Sep 29 11:48:40 2017 +0100

    missed ChangeLog entry

commit bf27d3973d75ed676ea0a0b0dae2fac367d7749b
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Sep 4 17:48:46 2017 +0100

    New generic logf
    
    without wrapper on aarch64:
    logf reciprocal-throughput: 2.2x faster
    logf latency: 1.9x faster
    old worst case error: 0.89 ulp
    new worst case error: 0.82 ulp
    aarch64 .text size: -356 bytes
    aarch64 .rodata size: +240 bytes
    
    Uses double precision arithmetics and a lookup table to allow smaller
    polynomial and avoid the use of division.
    
    Data is in a separate translation unit with fixed layout to prevent the
    compiler generating suboptimal literal access.
    
    Errors are handled inline according to POSIX rules, but this patch
    keeps the wrapper with SVID compatible error handling.
    
    Needs libm-test-ulps adjustment for clogf in non-nearest rounding mode.
    
        * math/Makefile (type-float-routines): Add e_logf_data.
        * sysdeps/ieee754/flt-32/e_logf.c: New implementation.
        * sysdeps/ieee754/flt-32/e_logf_data.c: New file.
        * sysdeps/ieee754/flt-32/math_config.h (__logf_data): Define.
        (LOGF_TABLE_BITS, LOGF_POLY_ORDER): Define.
        * sysdeps/i386/fpu/e_logf_data.c: New file.
        * sysdeps/ia64/fpu/e_logf_data.c: New file.
        * sysdeps/m68k/m680x0/fpu/e_logf_data.c: New file.

commit 4088d8dd29ce0629eeaa7cceca02414c85d98e05
Author: H.J. Lu <address@hidden>
Date:   Thu Sep 28 15:28:00 2017 -0700

    x86: Allow undefined _DYNAMIC in static executable
    
    When --enable-static-pie is used to build static PIE, _DYNAMIC is used
    to compute the load address of static PIE.  But _DYNAMIC is undefined
    when creating static executable.  This patch makes _DYNAMIC weak in PIE
    libc.a so that it can be undefined.
    
        * sysdeps/i386/dl-machine.h (elf_machine_load_address): Allow
        undefined _DYNAMIC in PIE libc.a.
        * sysdeps/x86_64/dl-machine.h (elf_machine_load_address):
        Likewse.

commit 4d3693ec1cb7d247a217dc1eb7121c658f818dca
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Sep 28 19:52:13 2017 +0100

    Remove ancient __signbit inlines
    
    Remove __signbit inlines from mathinline.h.  Math.h already uses
    the builtin when supported, so additional inlines are only used
    on pre 4.0 GCCs.  Similarly remove ancient copysign and fabs
    inlines.
    
        * sysdeps/alpha/fpu/bits/mathinline.h: Delete file.
        * sysdeps/ia64/fpu/bits/mathinline.h: Delete file.
        * sysdeps/m68k/coldfire/fpu/bits/mathinline.h: Delete file.
        * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: (__signbitf): Remove.
        (__signbit): Remove.
        (__signbitl): Remove.
        * sysdeps/powerpc/bits/mathinline.h (__signbitf): Remove.
        (__signbit): Remove.
        (__signbitl): Remove.
        * sysdeps/s390/fpu/bits/mathinline.h: (__signbitf): Remove.
        (__signbit): Remove.
        (__signbitl): Remove
        * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf): Remove.
        (__signbit): Remove.
        (__signbitl): Remove.
        * sysdeps/tile/bits/mathinline.h: Delete file.
        * sysdeps/x86/fpu/bits/mathinline.h (__signbitf): Remove.
        (__signbit): Remove.
        (__signbitl): Remove.

commit 1e6d07234fc0edcf0e88d75cf48f0b0dbbea3f39
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Sep 28 19:20:33 2017 +0100

    Simplify C99 isgreater macros
    
    Simplify the C99 isgreater macros.  Although some support was added
    in GCC 2.97, not all targets added support until GCC 3.1.  Therefore
    only use the builtins in math.h from GCC 3.1 onwards, and defer to
    generic macros otherwise.  Improve the generic isunordered macro
    to use compares rather than call fpclassify twice - this is not only
    faster but also correct for signaling NaNs.
    
        * math/math.h: Improve handling of C99 isgreater macros.
        * sysdeps/alpha/fpu/bits/mathinline.h: Remove isgreater macros.
        * sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Likewise.
        * sysdeps/powerpc/bits/mathinline.h: Likewise.
        * sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
        * sysdeps/x86/fpu/bits/mathinline.h: Likewise.

commit b2f03cf3a4b7ae4d1db155fba2180e3f580ce805
Author: Szabolcs Nagy <address@hidden>
Date:   Mon Sep 18 13:37:08 2017 +0100

    AArch64: update libm-test-ulps
    
    Update for new expf and logf.
    
        * sysdeps/aarch64/libm-test-ulps: Update.

commit f124cb381116b5809de198327690ad0bd8d1478e
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 28 01:59:02 2017 +0000

    Fix nearbyint arithmetic moved before feholdexcept (bug 22225).
    
    In <https://sourceware.org/ml/libc-alpha/2013-05/msg00722.html> I
    remarked on the possibility of arithmetic in various nearbyint
    implementations being scheduled before feholdexcept calls, resulting
    in spurious "inexact" exceptions.
    
    I'm now actually observing this occurring in glibc built for ARM with
    GCC 7 (in fact, both copies of the same addition/subtraction sequence
    being combined and moved out before the conditionals and
    feholdexcept/fesetenv pairs), resulting in test failures.
    
    This patch makes the nearbyint implementations with this particular
    feholdexcept / arithmetic / fesetenv pattern consistently use
    math_opt_barrier on the function argument when first used in
    arithmetic, and also consistently use math_force_eval before fesetenv
    (the latter was generally already done, but the dbl-64/wordsize-64
    implementation used math_opt_barrier instead, and as
    math_opt_barrier's intended effect is through its output value being
    used, such a use that doesn't use the return value is suspect).
    
    Tested for x86_64 (--disable-multi-arch so more of these
    implementations get used), and for ARM in a configuration where I saw
    the problem scheduling.
    
        [BZ #22225]
        * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Use
        math_opt_barrier on argument when doing arithmetic on it.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint):
        Likewise.  Use math_force_eval not math_opt_barrier after
        arithmetic.
        * sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Use
        math_opt_barrier on argument when doing arithmetic on it.
        * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
        Likewise.

commit 7edd06916d0f18714f323b180b890f1fea39e1ff
Author: H.J. Lu <address@hidden>
Date:   Wed Sep 27 17:18:32 2017 -0700

    Update sysdeps/unix/sysv/linux/ifaddrs.c
    
    Fix
    
    ../sysdeps/unix/sysv/linux/ifaddrs.c:835:27: error: ‘getifaddrs’ 
aliased to undefined symbol ‘__getifaddrs’
     weak_alias (__getifaddrs, getifaddrs)
                               ^
    ../sysdeps/unix/sysv/linux/ifaddrs.c:844:28: error: ‘freeifaddrs’ 
aliased to undefined symbol ‘__freeifaddrs’
     weak_alias (__freeifaddrs, freeifaddrs)
    
    caused by
    
    commit 4009ddc69225d571772aaea597615a0c032e14ab
    Author: Samuel Thibault <address@hidden>
    Date:   Thu Sep 28 00:19:18 2017 +0200
    
        hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition
    
        * sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add
        libc_hidden_def.
        (__freeifaddrs): Likewise.

commit 4009ddc69225d571772aaea597615a0c032e14ab
Author: Samuel Thibault <address@hidden>
Date:   Thu Sep 28 00:19:18 2017 +0200

    hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition
    
    from `freeaddrinfo'.
    
    `getifaddrs' and `freeifaddrs' are not in POSIX, they should not be
    exposed along `freeaddrinfo' (through `__check_pf') which is POSIX.
    
        * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
        and use libc_hidden_def on them.
        * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
        them.
        * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
        * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
        instead of getifaddrs and freeifaddrs.

commit 64a4af28a62e9f305c82bc9649bbe065fffdeb0d
Author: Samuel Thibault <address@hidden>
Date:   Thu Sep 28 00:41:02 2017 +0200

    hurd: Fix `seekdir' symbol exposition from `rewinddir'
    
    `seekdir' is MISC || XOPEN, it should not be exposed along `rewinddir' which
    is POSIX.
    
        * include/dirent.h (__seekdir): New declaration.
        * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and
        redefine as weak alias.
        * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead
        of seekdir.

commit 52a1f1814ef530d8c78442f2bcaf28f4f2575790
Author: Samuel Thibault <address@hidden>
Date:   Thu Sep 28 00:01:40 2017 +0200

    hurd: Fix `revoke' symbol exposition from `unlockpt'
    
    `revoke' is MISC only, it should not be exposed along `unlockpt' which is
    XOPEN.
    
        * include/unistd.h (__revoke): New declaration.
        * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak
        alias.
        * sysdeps/mach/hurd/revoke.c (revoke): Likewise.
        * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of
        revoke.

commit 2c7bbfaf4e361b482f3ccfbdbb29cc5121ca0ea8
Author: Samuel Thibault <address@hidden>
Date:   Wed Sep 27 23:46:51 2017 +0200

    hurd: Fix dirfd symbol exposition from ftw
    
    dirfd is XOPEN2K8 only, it should not be exposed along ftw which is earlier.
    
        * include/dirent.h (__dirfd): New declaration.
        * dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak
        alias.
        * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise.
        * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise.
        * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd.

commit 825adeeed1e95990fd1efb70d9ac3eb7f1ea802a
Author: H.J. Lu <address@hidden>
Date:   Tue Sep 26 16:53:25 2017 -0700

    Mark __dso_handle as hidden [BZ #18822]
    
    Since __dso_handle is always defined by either crtbegin.o from GCC or
    dso_handle.c, it should be marked as hidden and be passed directly.
    
        [BZ #18822]
        * dlfcn/modatexit.c (foo): Remove __dso_handle check.
        * dlfcn/modcxaatexit.c: Include <dso_handle.h>.
        (__dso_handle): Remove declaration.
        * dlfcn/tstatexit.c (__dso_handle): Removed.
        (main): Don't check __dso_handle.
        * dlfcn/tstcxaatexit.c (__dso_handle): Removed.
        (main): Don't check __dso_handle.
        * include/dso_handle.h: New file.
        * malloc/mtrace.c: Include <dso_handle.h>.
        (mtrace): Pass __dso_handle directly.
        * nptl/pthread_atfork.c: Include <dso_handle.h>.
        (__dso_handle): Remove declaration.
        (__pthread_atfork): Pass __dso_handle directly.
        * nptl/tst-atfork2mod.c: Include <dso_handle.h>.
        (__dso_handle): Removed.
        * posix/wordexp-test.c: Include <dso_handle.h>.
        (__dso_handle): Remove declaration.
        (__app_register_atfork): Pass __dso_handle directly.
        * stdlib/at_quick_exit.c: Include <dso_handle.h>.
        (__dso_handle): Remove declaration.
        (at_quick_exit): Pass __dso_handle directly.
        * stdlib/atexit.c: Include <dso_handle.h>.
        (__dso_handle): Remove declaration.
        (atexit): Pass __dso_handle directly.
        * stdlib/tst-tls-atexit-lib.c: Include <dso_handle.h>.
        (__dso_handle): Removed.

commit bfb0deb3554204cbba10d61d96cad355e4ca5623
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 26 21:21:01 2017 +0000

    Fix make-syscalls.sh VDSO support for GCC 8.
    
    sysdeps/unix/make-syscalls.sh has support, used only by x32, for
    generating IFUNCs for kernel VDSO symbols.  This support creates
    IFUNCs by setting symbol types manually, which is bad for debug info
    and does not work with current GCC mainline because it results in
    errors from the checks on types of function aliases.
    
    This patch fixes it to use the common __ifunc macro, which uses the
    ifunc attribute when available and so works with GCC mainline.  Note
    however that the original error resulted from an indirect inclusion of
    a header declaring __gettimeofday from the generated sources, and
    using __ifunc now relies on such an indirect inclusion remaining as it
    means use of __typeof to determine the correct types.  If glibc's
    headers change in such a way as to remove that indirect inclusion, it
    will become necessary to change the syscalls.list syntax for VDSO
    syscalls so the name of the header to include can be specified.
    
    Tested (compilation only) with build-many-glibcs.py that this fixes
    the build for x32 with GCC mainline.
    
        * sysdeps/unix/make-syscalls.sh: Use __ifunc to define symbols
        using VDSO.

commit cebcb9f864d4ca29e155363e71b7de6826d13cf1
Author: Alexey Makhalov <address@hidden>
Date:   Wed Sep 27 02:44:09 2017 +0530

    Fix range check in do_tunable_update_val
    
    Current implementation of tunables does not set arena_max and arena_test
    values. Any value provided by glibc.malloc.arena_max and
    glibc.malloc.arena_test parameters is ignored.
    
    These tunables have minval value set to 1 (see elf/dl-tunables.list file)
    and undefined maxval value. In that case default value (which is 0. see
    scripts/gen-tunables.awk) is being used to set maxval.
    
    For instance, generated tunable_list[] entry for arena_max is:
    (gdb) p *cur
    $1 = {name = 0x7ffff7df6217 "glibc.malloc.arena_max",
     type = {type_code = TUNABLE_TYPE_SIZE_T, min = 1, max = 0},
      val = {numval = 0, strval = 0x0}, initialized = false,
       security_level = TUNABLE_SECLEVEL_SXID_IGNORE,
        env_alias = 0x7ffff7df622e "MALLOC_ARENA_MAX"}
    
    As a result, any value of glibc.malloc.arena_max is ignored by
    TUNABLE_SET_VAL_IF_VALID_RANGE macro
      __type min = (__cur)->type.min;                    <- initialized to 1
      __type max = (__cur)->type.max;                    <- initialized to 0!
      if (min == max)                                    <- false
        {
          min = __default_min;
          max = __default_max;
        }
      if ((__type) (__val) >= min && (__type) (val) <= max)  <- false
        {
          (__cur)->val.numval = val;
          (__cur)->initialized = true;
        }
    
    Assigning correct min/max values at a build time fixes a problem.
    Plus, a bit of optimization: Setting of default min/max values for the
    given type at a run time might be eliminated.
    
        * elf/dl-tunables.c (do_tunable_update_val): Range checking fix.
        * scripts/gen-tunables.awk: Set unspecified minval and/or maxval
        values to correct default value for given type.

commit 592d5c75392e1da170050a4999af0618c4865aed
Author: H.J. Lu <address@hidden>
Date:   Tue Sep 26 13:49:48 2017 -0700

    Skip PT_DYNAMIC segment with p_filesz == 0 [BZ #22101]
    
    ELF objects generated with "objcopy --only-keep-debug" have
    
    Type     Offset  VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
    DYNAMIC  0x0+e28 0x0+200e40 0x0+200e40 0x0+    0x0+1a0 RW  0x8
    
    with 0 file size. ld.so should skip such PT_DYNAMIC segments.
    
    Without a PT_DYNAMIC segment the loading of the shared object will
    fail, and therefore ldd on such objects will also fail instead of
    crashing. This provides better diagnostics for tooling that is
    attempting to inspect the invalid shared objects which may just
    contain debug information.
    
        [BZ #22101]
        * elf/Makefile (tests): Add tst-debug1.
        ($(objpfx)tst-debug1): New.
        ($(objpfx)tst-debug1.out): Likewise.
        ($(objpfx)tst-debug1mod1.so): Likewise.
        * elf/dl-load.c (_dl_map_object_from_fd): Skip PT_DYNAMIC segment
        with p_filesz == 0.
        * elf/tst-debug1.c: New file.
    
    Reviewed-by: Carlos O'Donell <address@hidden>

commit 2d9193f2f55767c71333d425e140e22c3e15dc3d
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 26 19:49:33 2017 +0000

    Use generic __ifunc for SPARC.
    
    glibc fails to build with GCC mainline for SPARC because of the use of
    manually-created IFUNCs, which fail the tests of compatibility of
    function alias types.  This patch changes sparc-ifunc.h to use the
    generic __ifunc in defining sparc_libm_ifunc.  The generic __ifunc can
    use the GCC ifunc attribute when available, so ensuring
    type-correctness as well as better debug info than when setting symbol
    types in asm statements.
    
    Note that for this to fix the build with GCC mainline the GCC patch
    <https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01779.html>, or
    building GCC with --enable-gnu-indirect-function, is also needed.
    
    Tested (compilation only) with build-many-glibcs.py (sparc64-linux-gnu
    and sparcv9-linux-gnu, with GCC 8 with the above patch, and also with
    GCC 7).
    
        * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc):
        Define using __ifunc.

commit 4c5a7a02b66af196ee17026f64b2e78fbfc0776a
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Tue Sep 26 16:13:33 2017 -0300

    powerpc: Regenerate ULPs for expf() and exp2f()
    
    Remove all entries for expf() and exp2f() and regenerate them.
    
        * sysdeps/powerpc/fpu/libm-test-ulps: Regenerate expf() and
        exp2f() values.

commit 12ef66c411efe5910f0a9a74c92480db7e12eae0
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 26 16:30:46 2017 +0000

    Fix ia64 executable stack default (bug 22156).
    
    As per https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01220.html ia64
    defaults to non-executable stacks in the Linux kernel (furthermore,
    the use of function descriptors means that trampolines for nested
    function pointers never need an executable stack).  glibc however
    defines DEFAULT_STACK_PERMS to include PF_X for that architecture,
    meaning (a) elf/check-execstack fails and (b) (from code inspection,
    not tested, but this is why I think this is a user-visible bug) thread
    stacks are unnecessarily mapped with execute permission.  This patch
    fixes the DEFAULT_STACK_PERMS definition in question.
    
    Tested (compilation only) with build-many-glibcs.py for ia64.  This
    fixes the check-execstack failure.
    
        [BZ #22156]
        * sysdeps/ia64/stackinfo.h (DEFAULT_STACK_PERMS): Likewise.

commit 44dade71f3cf739618affe0db5b40c15418ecb99
Author: Florian Weimer <address@hidden>
Date:   Tue Sep 26 13:53:17 2017 +0200

    resolv/Makefile: Fix typo in comment

commit eaca16f1b305bf0236164e8097e7166564b2bd13
Author: Florian Weimer <address@hidden>
Date:   Tue Sep 26 13:47:48 2017 +0200

    resolv/nss_dns/dns-host.c: Fix typo in comment
    
    And only the resolv/map*.h actually contain implementations.

commit 5f9f31ad129d97e6fc548954c9b97e27dd332600
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 18 09:26:00 2017 -0300

    scratch_buffer: use union for internal buffer
    
    Problem reported by Florian Weimer [1] and solution suggested by
    Andreas Schwab [2].  It also set the same buffer size independent
    of architecture max_align_t size.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        * lib/malloc/scratch_buffer.h (struct scratch_buffer):
        Use an union instead of a max_align_t array for __space,
        so that __space is the same size on all platforms.
        * malloc/scratch_buffer_grow_preserve.c
        (__libc_scratch_buffer_grow_preserve): Likewise.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-09/msg00693.html
    [2] https://sourceware.org/ml/libc-alpha/2017-09/msg00695.html

commit ccf970c7a77e86f4f5ef8ecc5e637114b1c0136a
Author: Adhemerval Zanella <address@hidden>
Date:   Fri Sep 15 11:31:13 2017 -0300

    posix: Add compat glob symbol to not follow dangling symbols
    
    This patch follows commit 5554304f0 (posix: Allow glob to match dangling
    symlinks [BZ #866]) by adding a compat symbol that follow previous
    semantic of not following dangling symlinks and thus avoiding call
    gl_lstat with GLOB_ALTDIRFUNC.
    
    It avoids failure with old binaries that not set the alternate function
    pointer for lstat (GNUmake for instance).  The following scenario, for
    instance, fails with current GNUmake because glibc will access unitialized
    memory when calling gl_lstat:
    
      $ cat src/t/t.c
      int main ()
      {
        return 0;
      }
      $ cat Makefile
      SRC = $(wildcard src/*/t.c)
      OBJ = $(patsubst src/%.c, obj/%.o, $(SRC))
    
      prog:           $(OBJ)
                      $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) $(OBJ) -o prog
    
      obj/%.o:        src/%.c
                      $(CC) $(CFLAGS) -c $< -o $@
      $ make
    
    This works as expected with the patch applied.  Since it is for generic
    ABI, default compat symbols are added with override for Linux due LFS.
    Now we have two compat symbols for glob on Linux:
    
      1. sysdeps/unix/sysv/linux/oldglob.c which implements glob64 with
         the old dirent layout.  For this implementation I also set it to
         not follow dangling symlinks (which is the safest path).
    
      2. sysdeps/unix/sysv/linux/glob{64}-lstat-compat.c which implements
         the compat symbol for dangling symlinks.  As for generic glob,
         the implementation uses XSTAT_IS_XSTAT64 to define whether
         both __glob_lstat_compat and __glob64_lstat_compat should be
         different implementations.  For archictures that define
         XSTAT_IS_XSTAT64, __glob_lstat_compat is aliased to
         __glob64_lstat_compat.
    
      3. sysdeps/unix/sysv/linux/alpha/oldglob.c with a different glob_t
         layout.  As for 1. this patch changes it to not follow dangling
         symlinks.
    
    The patch also bumps _GNU_GLOB_INTERFACE_VERSION to 2 to advertise the
    new semantic.  On GNUmake, for instance, it will force to it use its
    internal glob implementation instead and avoiding triggering the same
    failure on builds against newer GLIBCs.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.  I also checked
    with a build against the major ABIs required to check for the abilist.
    
    The changes should also work on gnulib (I run gnulib-tool.py check glob
    and it shown no regressions).
    
        [BZ #22183]
        * include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase
        version to 2.
        * posix/Makefile (routines): Add glob-lstat-compat and
        glob64-lstat-compat.
        * posix/Versions (GLIBC_2.27, glob, glob64): Add symbol version.
        * posix/glob-lstat-compat.c: New file.
        * posix/glob64-lstat-compat.c: Likewise.
        * posix/tst-glob_lstat_compat.c: Likewise.
        * sysdeps/unix/sysv/linux/glob-lstat-compat.c: Likewise.
        * sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c: Likewise.
        * sysdeps/unix/sysv/linux/glob64-lstat-compat.c: Likewise.
        * sysdeps/unix/sysv/linux/alpha/glob.c: Remove file.
        * posix/glob.c (glob_lstat): New function.
        (glob): Rename to __glob and add versioned symbol to 2.27.
        (glob_in_dir): Use glob_lstat.
        * posix/glob64.c (glob64): Add GLOB_ATTRIBUTE.
        * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/glob.c (glob): Add versioned symbol for
        2.27.
        * sysdeps/unix/sysv/linux/glob64.c (glob64): Likewise.
        * sysdeps/unix/sysv/linux/oldglob.c (GLOB_NO_LSTAT): Define.
        * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob): Do not use
        gl_lstat on glob call.
        * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Add GLIBC_2.27 glob
        and glob64 symbols.
        * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
        Likewise.
        * sysdeps/unix/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.

commit b4396163aa8666f970aaf43eaca25f3a92b18c1b
Author: H.J. Lu <address@hidden>
Date:   Mon Sep 25 18:01:23 2017 -0700

    Update configure.ac for binutils 2.25
    
    Commit 073e8fa7739ed453d6854b834f290c263a6cdb9f requires binutils 2.25
    or later to build glibc:
    
        * configure.ac (AS): Require binutils 2.25 or later.
        (LD): Likewise.
    
    But it only updated LD version check in configure.ac.  This patch adds
    the missing AS version check.
    
        * configure.ac (AS): Require binutils 2.25 or later.
        * configure: Regenerated.

commit 8f8349870fbcd822b0bdbd3200bc0245f812dae4
Author: Paul Pluzhnikov <address@hidden>
Date:   Mon Sep 25 17:51:34 2017 -0700

    Reduce total memory required to create all threads to 128MiB. This fixes
    intermittent failure in stdlib/test-{atexit,at_quick_exit,...} tests
    (Bug 22207).

commit 3de93d194a5d27cabfe40ddf58aea36939498ba4
Author: DJ Delorie <address@hidden>
Date:   Mon Sep 25 19:43:09 2017 -0400

    nscd: Release read lock after resetting timeout.
    
        [BZ #22161]
        * nscd/netgroupcache.c (addinnetgrX): Release read lock after
        resetting timeout.
    
    Reviewed-by: Jonathan Nieder <address@hidden>
    Reviewed-by: Andreas Schwab <address@hidden>
    
    A lock is held by mempool_allocate() when CACHEABLE is true; we
    must release this lock if we exit early.

commit 5af1e931bfaf8ef28abd94c0c0ad14e4790cf429
Author: Samuel Thibault <address@hidden>
Date:   Mon Sep 25 20:47:51 2017 +0200

    Revert "resolv_test.c: also cope with CONNREFUSED errors returned by 
recvfrom"
    
    This reverts commit 6174537c24cfe324d6e8f5a2a421883df12b8b6a.

commit 9947638d74f490b8ec9a1563c195881a4151bd80
Author: Stefan Liebler <address@hidden>
Date:   Mon Sep 25 15:56:22 2017 +0200

    Fix typo in sincos32.h inclusion guard.
    
    This patch fixes a typo in inclusion guard in sincos32.h.
    
    ChangeLog:
    
        * sysdeps/ieee754/dbl-64/sincos32.h
        [SINCCOS32_H]: Remove define.
        [SINCOS32_H]: Define.

commit f5f0f5265162fe6f4f238abcd3086985f7c38d6d
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Sep 12 12:20:50 2017 +0100

    New expf and exp2f version without SVID compat wrapper
    
    This patch changes the expf and exp2f error handling semantics to only
    set errno accoring to POSIX rules. New symbol version is introduced at
    GLIBC_2.27.
    
    The old wrappers are kept for compat symbols.
    
    Internal calls to __expf now get the new error semantics, this seems to
    only affect sysdeps/i386/fpu/s_expm1f.S where the errno-only behaviour
    should be correct.
    
    ia64 needed assembly change to have the new and compat versioned symbol
    map to the same function.
    
    All linux libm abilists are updated.
    
        * math/Versions (expf): New libm symbol at GLIBC_2.27.
        (exp2f): Likewise.
        * math/w_exp2f.c: New file.
        * math/w_expf.c: New file.
        * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only.
        * math/w_expf_compat.c (__expf_compat): Likewise.
        * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols.
        * sysdeps/ia64/fpu/e_expf.S: Likewise.
        * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
        * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
        Likewise.
        * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.

commit 72aa623345ada1276ed89dbc00fdff9639cb8eaf
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 6 17:42:00 2017 +0100

    Optimized generic expf and exp2f with wrappers
    
    Based on new expf and exp2f code from
    https://github.com/ARM-software/optimized-routines/
    
    with wrapper on aarch64:
    expf reciprocal-throughput: 2.3x faster
    expf latency: 1.7x faster
    without wrapper on aarch64:
    expf reciprocal-throughput: 3.3x faster
    expf latency: 1.7x faster
    without wrapper on aarch64:
    exp2f reciprocal-throughput: 2.8x faster
    exp2f latency: 1.3x faster
    libm.so size on aarch64:
    .text size: -152 bytes
    .rodata size: -1740 bytes
    expf/exp2f worst case nearest rounding error: 0.502 ulp
    worst case non-nearest rounding error: 1 ulp
    
    Error checks are inline and errno setting is in separate tail called
    functions, but the wrappers are kept in this patch to handle the
    _LIB_VERSION==_SVID_ case.  (So e.g. errno is set twice for expf calls
    and once for __expf_finite calls on targets where the new code is used.)
    
    Double precision arithmetics is used which is expected to be faster on
    most targets (including soft-float) than using single precision and it
    is easier to get good precision result with it.
    
    Const data is kept in a separate translation unit which complicates
    maintenance a bit, but is expected to give good code for literal loads
    on most targets and allows sharing data across expf, exp2f and powf.
    (This data is disabled on i386, m68k and ia64 which have their own
    expf, exp2f and powf code.)
    
    Some details may need target specific tweaks:
    - best convert and round to int operation in the arg reduction may be
    different across targets.
    - code was optimized on fma target, optimal polynomial eval may be
    different without fma.
    - gcc does not always generate good code for fp bit representation
    access via unions or it may be inherently slow on some targets.
    
    The libm-test-ulps will need adjustment because..
    - The argument reduction ideally uses nearest rounded rint, but that is
    not efficient on most targets, so the polynomial can get evaluated on a
    wider interval in non-nearest rounding mode making 1 ulp errors common
    in that case.
    - The polynomial is evaluated such that it may have 1 ulp error on
    negative tiny inputs with upward rounding.
    
        * math/Makefile (type-float-routines): Add math_errf and e_exp2f_data.
        * sysdeps/aarch64/fpu/math_private.h (TOINT_INTRINSICS): Define.
        (roundtoint, converttoint): Likewise.
        * sysdeps/ieee754/flt-32/e_expf.c: New implementation.
        * sysdeps/ieee754/flt-32/e_exp2f.c: New implementation.
        * sysdeps/ieee754/flt-32/e_exp2f_data.c: New file.
        * sysdeps/ieee754/flt-32/math_config.h: New file.
        * sysdeps/ieee754/flt-32/math_errf.c: New file.
        * sysdeps/ieee754/flt-32/t_exp2f.h: Remove.
        * sysdeps/i386/fpu/e_exp2f_data.c: New file.
        * sysdeps/i386/fpu/math_errf.c: New file.
        * sysdeps/ia64/fpu/e_exp2f_data.c: New file.
        * sysdeps/ia64/fpu/math_errf.c: New file.
        * sysdeps/m68k/m680x0/fpu/e_exp2f_data.c: New file.
        * sysdeps/m68k/m680x0/fpu/math_errf.c: New file.

commit fcafcd162c843364dc2bb8d57bd239c41cfd122c
Author: Samuel Thibault <address@hidden>
Date:   Mon Sep 25 01:55:02 2017 +0200

    hurd: Fix exposition of s/gettimeofday through timespec_s/get
    
    conform/ISO11/time.h/linknamespace complains that using timespec_get exposes
    gettimeofday.
    
    conform/POSIX/time.h/linknamespace complains that using clock_settime
    exposes settimeofday.
    
        * sysdeps/unix/clock_gettime.c (realtime_gettime, __clock_gettime): Use
        __gettimeofday instead of gettimeofday.
        * sysdeps/unix/clock_settime.c (__clock_settime): Use __settimeofday
        instead of settimeofday.

commit 6174537c24cfe324d6e8f5a2a421883df12b8b6a
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 10 17:41:03 2017 +0200

    resolv_test.c: also cope with CONNREFUSED errors returned by recvfrom
    
    server_thread_udp_process_one already takes care of calling sendto()
    instead of xsendto to be able to ignore the case where the client has
    closed the socket.  Depending on the TCP/IP stack behavior, this error
    could be notified later through recvfrom(), so we need to ignore it
    there too.
    
    * support/resolv_test.c (server_thread_udp_process_one): Call recvfrom
    instead of xrecvfrom, and ignore ECONNREFUSED errors.

commit b38a42a098664a96842a23ef480d4b8c69ecd05c
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 24 22:20:10 2017 +0200

    hurd: Fix bits/socket.h conformity
    
        * sysdeps/mach/hurd/bits/socket.h: Include <bits/wordsize.h> instead
        of <limits.h>
        (__need_NULL): Do not define.
        (__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine
        alignment.
        [!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP,
        CMGROUP_MAX, cmsgcred): Do not define.
        (CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of
        NULL.
        * bits/socket.h: Likewise.

commit 5e6f32531eab502afb094ad62aad333c63a58cfd
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 24 17:54:02 2017 +0200

    hurd: Make sure dl-sysdep.c defines proper symbol names
    
        * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro.
        (__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64,
        __mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
        __getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
        to make sure that these symbols are defined.

commit 2f49ce7d6263588c0b4c60a42e95ff954cf3c7d2
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 22 20:24:12 2017 +0000

    Use libm_alias_float in flt-32.
    
    This patch makes flt-32 libm functions use libm_alias_float to define
    public interfaces (in cases where _Float32 aliases of those interfaces
    would be appropriate, so not for finitef / isinff / isnanf).
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/ieee754/flt-32/s_asinhf.c: Include <libm-alias-float.h>.
        (asinhf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_atanf.c: Include <libm-alias-float.h>.
        (atanf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_cbrtf.c: Include <libm-alias-float.h>.
        (cbrtf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_ceilf.c: Include <libm-alias-float.h>.
        (ceilf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_copysignf.c: Include
        <libm-alias-float.h>.
        (copysignf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_cosf.c: Include <libm-alias-float.h>.
        (cosf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_erff.c: Include <libm-alias-float.h>.
        (erff): Define using libm_alias_float.
        (erfcf): Likewise.
        * sysdeps/ieee754/flt-32/s_expm1f.c: Include <libm-alias-float.h>.
        (expm1f): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_fabsf.c: Include <libm-alias-float.h>.
        (fabsf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_floorf.c: Include <libm-alias-float.h>.
        (floorf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_frexpf.c: Include <libm-alias-float.h>.
        (frexpf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using
        libm_alias_float.
        * sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include
        <libm-alias-float.h>.
        * sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using
        libm_alias_float.
        * sysdeps/ieee754/flt-32/s_getpayloadf.c: Include
        <libm-alias-float.h>.
        (getpayloadf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_llrintf.c: Include
        <libm-alias-float.h>.
        (llrintf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_llroundf.c: Include
        <libm-alias-float.h>.
        (llroundf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_logbf.c: Include <libm-alias-float.h>.
        (logbf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_lrintf.c: Include <libm-alias-float.h>.
        (lrintf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_lroundf.c: Include <libm-alias-float.h>.
        (lroundf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_modff.c: Include <libm-alias-float.h>.
        (modff): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_nearbyintf.c: Include
        <libm-alias-float.h>.
        (nearbyintf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_nextafterf.c: Include
        <libm-alias-float.h>.
        (nextafterf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_nextupf.c: Include
        <libm-alias-float.h>.
        (nextupf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_remquof.c: Include
        <libm-alias-float.h>.
        (remquof): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_rintf.c: Include <libm-alias-float.h>.
        (rintf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_roundevenf.c: Include
        <libm-alias-float.h>.
        (roundevenf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_roundf.c: Include <libm-alias-float.h>.
        (roundf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define
        using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include
        <libm-alias-float.h>.
        * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf):
        Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_sincosf.c: Include
        <libm-alias-float.h>.
        (sincosf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_sinf.c: Include <libm-alias-float.h>.
        (sinf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_tanf.c: Include <libm-alias-float.h>.
        (tanf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_tanhf.c: Include <libm-alias-float.h>.
        (tanhf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_totalorderf.c: Include
        <libm-alias-float.h>.
        (totalorderf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_totalordermagf.c: Include
        <libm-alias-float.h>.
        (totalordermagf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_truncf.c: Include <libm-alias-float.h>.
        (truncf): Define using libm_alias_float.
        * sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using
        libm_alias_float.
        * sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using
        libm_alias_float.

commit c5c4a626098ec884b8527356abdf2a4bb7b6bf27
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Sep 20 15:10:26 2017 -0300

    Let fpclassify use the builtin when optimizing for size in C++ mode (bug 
22146)
    
    When optimization for size is on (-Os), fpclassify does not use the
    type-generic __builtin_fpclassify builtin, instead it uses __MATH_TG.
    However, when library support for float128 is available, __MATH_TG uses
    __builtin_types_compatible_p, which is not available in C++ mode.
    
    On the other hand, libstdc++ undefines (in cmath) many macros from
    math.h, including fpclassify, so that it can provide its own functions.
    However, during its configure tests, libstdc++ just tests for the
    availability of the macros (it does not undefine them, nor does it
    provide its own functions).
    
    Finally, when libstdc++ is configured with optimization for size
    enabled, its configure tests include math.h and get the definition of
    fpclassify that uses __MATH_TG (and __builtin_types_compatible_p).
    Since libstdc++ does not undefine the macros during its configure tests,
    they fail.
    
    This patch lets fpclassify use the builtin in C++ mode, even when
    optimization for size is on.  This allows the configure test in
    libstdc++ to work.
    
    Tested for powerpc64le and x86_64.
    
        [BZ #22146]
        math/math.h: Let fpclassify use the builtin in C++ mode, even
        when optimazing for size.

commit 23947846658fd41875381c0bcc05b319c3c7bde4
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 22 17:43:42 2017 +0000

    Remove Banner mechanism.
    
    This patch removes the Banner mechanism, with the last remaining
    Banner file replaced by a contrib.texi entry.  This accords with the
    principle that the output of running libc.so.6 is not the place to
    credit particular contributions (the manual is), and with all other
    configuration options not mentioned there, it doesn't seem appropriate
    to focus there on the one question of whether the one remaining piece
    configured as an add-on was enabled or not.
    
    Tested for x86_64.
    
        * csu/Makefile (generated): Do not add version-info.h.
        (before-compile): Likewise.
        (all-Banner-files): Remove variable.
        ($(objpfx)version-info.h): Remove rule.
        * csu/version.c (banner): Do not include "version-info.h".
        * libidn/Banner: Remove.
        * manual/contrib.texi (Simon Josefsson): New entry.

commit 9ac3c68218b5bcbc40ae9e27b0b13f5e1c81f84c
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Sun Sep 10 10:31:47 2017 -0300

    Remove conditional on LDBL_MANT_DIG from e_lgammal_r.c
    
    The IEEE 754 implementation of lgammal in sysdeps/ieee754/ldbl-128/ used
    to be shared by IBM's implementation in sysdeps/ieee754/ldbl-128ibm/ (by
    an inclusion of the source file).  In order for the algorithm to work
    for IBM's implementation, a check for LDBL_MANT_DIG was required. Since
    the source file is no longer shared, the requirement for the check is
    gone.  This patch removes the conditionals.
    
    Tested for powerpc64le and s390x.
    
        * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
        Remove conditionals on LDBL_MANT_DIG.
        * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c
        (__ieee754_lgammal_r): Likewise.

commit d2f0ed09f88195dbeaa8a667b2d3ffa5423562a1
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Sat Sep 9 19:37:11 2017 -0300

    ldbl-128ibm: Automatic replacing of _Float128 and L()
    
    The ldbl-128ibm implementation of j0l, j1l, lgammal_r, and cbrtl, as
    well as the tables used by expl were copied from ldbl-128.  However, the
    original files used _Float128 for the type and L() for the literal
    suffix.  This patch uses the following sed command to rewrite _Float128
    as long double and L(x) as xL (for e_expl.c, e_j0l.c, e_j1l.c,
    e_lgammal_r.c, and t_expl.h):
    
      sed -i <filename> \
        -e "/^#define _Float128 long double/d" \
        -e "/^#define L(x) x ## L/d" \
        -e "/L(/s/)/L/" \
        -e "/L(/s/L(//" \
        -e "s/_Float128/long double/g"
    
    For sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c, this sed command incorrectly
    replaces a few occurrences of L(), so the following command is used
    instead:
    
      sed -i sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c \
        -e "/^#define _Float128 long double/d" \
        -e "/^#define L(x) x ## L/d" \
        -e "s/L(0\.3\{40\})/0.3333333333333333333333333333333333333333L/" \
        -e "s/L(3\.7568280825958912391243e-1)/3.7568280825958912391243e-1L/" \
        -e "/L(/s/)/L/" \
        -e "/L(/s/L(//" \
        -e "s/_Float128/long double/g"
    
    Tested for powerpc64le with patched [1] and unpatched gcc.
    
    [1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
    
        * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Remove definitions of
        _Float128 and L().
        * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Remove definitions of
        _Float128 and L(). Replace _Float128 with long double and L(x)
        with xL, throughout the file.
        * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise.

commit c5c2e667bf834951ea95fc5124da4ef093711ebe
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Sep 4 14:34:04 2017 -0300

    ldbl-128ibm: Copy implementations from ldbl-128 instead of including them
    
    Some files under sysdeps/ieee754/ldbl-128ibm/ are able to reuse the
    implementation in sysdeps/ieee754/ldbl-128/ by defining _Float128 to
    long double.  This relied on compiler support for _Float128 being
    disabled.  On powerpc, such support was disabled by default, however, it
    got enabled by default [1] in GCC 8.
    
    This patch copies the implementations from ldbl-128 to ldbl-128ibm.  The
    uses of _Float128 and L() are kept intact in this patch and are replaced
    with a script in a subsequent patch.
    
    [1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
    
    Tested for powerpc64 and powerpc64le.
    
        * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Include tables from
        sysdeps/ieee754/ldbl-128ibm.
        * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: Copy contents from the
        equivalent implementation in sysdeps/ieee754/ldbl-128/ instead
        of including it.  Keep _Float128 and L() intact.  These will be
        reviewed by a separate patch.
        * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/t_expl.h: Likewise.

commit e010deb231113e92f5f351315645a8197857dffd
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Sep 4 13:07:18 2017 -0300

    powerpc: Add redirection for finitef128, isinf128, and isnanf128
    
    On powerpc64le, compiler support for float128 is not enabled by default
    on gcc.  To enable it, the flag -mfloat128 must be passed as a command
    line option to the compiler.  This means that only the few files that
    actively have -mfloat128 passed as an argument get compiler support for
    float128, whereas all other files don't.
    
    When -mfloat128 becomes enabled by default on powerpc [1], all the files
    that do not currently have compiler support for float128 enabled during
    their compilation, will start to have it.  This will lead to build
    errors in s_finite.c, s_isinf.c, and s_isnan.c.
    
    The errors are due to the unintended macro expansion of __finitef128 to
    __redirect_finitef128 in math/bits/mathcalls-helper-functions.h.  In
    that header, __MATHDECL_1 takes '__finite' and 'f128' as arguments and
    concatenates them.  However, since '__finite' has been redefined in
    s_finite.c, the function declaration becomes __redirect_finitef128:
    
        extern int __redirect___finitef128 (_Float128 __value) __attribute__ 
((__nothrow__ )) __attribute__ ((__const__));
    
    This declaration itself is OK.  The problem arises when include/math.h
    creates the hidden prototype ('hidden_proto (__finitef128)'), which
    expands to:
    
        extern __typeof (__finitef128) __finitef128 __attribute__ ((visibility 
("hidden")));
    
    Since __finitef128 is not declared, __typeof fails.  This effect was
    already true for the 'float' and 'long double' versions and is now true
    for float128.  Likewise for isinsff128 and isnanf128.
    
    This patch defines __finitef128 as __redirect___finitef128 in
    sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c, similarly to what's
    done for the float and long double versions of these functions, to get
    rid of the build error.  Likewise for isinff128 and isnanf128.
    
    [1] https://gcc.gnu.org/ml/gcc-patches/2017-08/msg01028.html
    
    Tested for powerpc64 and powerpc64le.
    
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c
        (__finitef128): Define to __redirect___finitef128.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c
        (__isinff128): Define to __redirect___isinff128.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c
        (__isnanf128): Define to __redirect___isnanf128.

commit ffa448041beb4d5899ad0258843ecca4c106d1cd
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Sep 4 12:48:31 2017 -0300

    powerpc64le: Add -mfloat128 to tst-strtod-nan-locale testcase
    
    On powerpc64le, not all files can have the flag -mfloat128 passed as an
    option on the compile command, since that could conflict with other
    flags, such as -mno-vsx.  Each file that needs the flag, gets it through
    a CFLAGS-filename variable on sysdeps/powerpc/powerpc64le/Makefile.
    
    The test cases tst-strtod-nan-locale and tst-wcstod-nan-locale are
    missing this flag.
    
    Tested for powerpc64le.
    
        * sysdeps/powerpc/powerpc64le/Makefile
        (CFLAGS-tst-strtod-nan-locale.c): New variable.
        (CFLAGS-tst-wcstod-nan-locale.c): New variable.

commit e5e4d7cc056ffae51fc55b66d9dd0abd99927486
Author: Paul Pluzhnikov <address@hidden>
Date:   Thu Sep 21 12:14:41 2017 -0700

    Fix BZ# 22180.
    
    POSIX requires that dlclose() and exit() be thread safe, therefore
    you can have one thread in the middle of dlclose() and another thread
    executing exit() without causing any undefined behaviour on the part
    of the implementation.
    
    The existing implementation had a flaw that exit() exit handler processing
    did not consider a concurrent dlclose() and would not mark already run
    exit handlers using the ef_free flavour. The consequence of this is that
    a concurrent exit() with dlclose() will run all the exit handlers that
    dlclose() had not yet run, but then will block on the loader lock. The
    concurrent dlclose() will continue to run all the exit handlers again
    (twice) in violation of the Itanium C++ ABI requirements for __cxa_atexit().
    
    This commit fixes this by having exit() mark all handlers with ef_free to
    ensure that concurrent dlclose() won't re-run registered exit handlers that
    have already run.

commit c10c5267a8c95ffea1fad70e2bf047c1dd3dfd48
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 21 17:49:51 2017 +0000

    Remove non-add-on Banner files.
    
    Various subdirectories of glibc include Banner files to put some text
    in the output of executing libc.so.6, under "Available extensions".
    
    Some of those subdirectories (e.g. crypt) may originally have been
    add-ons (and so optional, so a particular glibc build might or might
    not have included them), but except for libidn they aren't now (or if
    only included in some builds, in the case of soft-fp, the inclusion
    depends on the architecture for which glibc is configured rather than
    having any glibc configuration for which it's an optional feature),
    and it doesn't seem useful for the libc.so.6 output to call out a few
    features like that.
    
    This patch removes the non-add-on Banner files, updating contrib.texi
    where they noted contributions not otherwise mentioned there.
    
    Tested for x86_64.
    
        * crypt/Banner: Remove file.
        * nptl/Banner: Likewise.
        * resolv/Banner: Likewise.
        * soft-fp/Banner: Likewise.
        * nptl/Makefile ($(objpfx)banner.h): Remove rule.
        ($(objpfx)version.d): Remove dependency on banner.h.
        ($(objpfx)version.os): Likewise.
        * nptl/version.c (banner): Do not include banner.h.
        * manual/contrib.texi: Update entries for Richard Henderson, Jakub
        Jelinek and BIND code.

commit 1cc9e59a93636be6772ad423f7895e7ab52e4be7
Author: Paul Pluzhnikov <address@hidden>
Date:   Wed Sep 20 19:37:45 2017 -0700

    Implement xdlopen, xdlsym and xdlclose routines which terminate test
    program with appropriate message if the corresponding dlfcn.h routine
    returns an error.
    
    Use them in stdlib/tst-tls-atexit.c

commit ae8372d7e4c44f6839aa3d851d4d0cb486b81cd5
Author: Joseph Myers <address@hidden>
Date:   Wed Sep 20 16:54:05 2017 +0000

    Add SSE4.1 trunc, truncf (bug 20142).
    
    This patch adds SSE4.1 versions of trunc and truncf, using the roundsd
    / roundss instructions, similar to the versions of ceil, floor, rint
    and nearbyint functions we already have.  In my testing with the glibc
    benchtests these are about 30% faster than the C versions for double,
    20% faster for float.
    
    Tested for x86_64.
    
        [BZ #20142]
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add s_trunc-c, s_truncf-c, s_trunc-sse4_1 and s_truncf-sse4_1.
        * sysdeps/x86_64/fpu/multiarch/s_trunc-c.c: New file.
        * sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_trunc.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_truncf-c.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Likewise.

commit a856d4d4a8a56eaefdddb58884bfa2bfe922ee4c
Author: Paul Pluzhnikov <address@hidden>
Date:   Wed Sep 20 09:51:02 2017 -0700

    Oops. stdlib/test-atexit-race-common.c should have been part of 
26e70aec7028feeb196744eb97cd2dff3670b7aa

commit 26e70aec7028feeb196744eb97cd2dff3670b7aa
Author: Paul Pluzhnikov <address@hidden>
Date:   Wed Sep 20 09:31:48 2017 -0700

    Fix BZ 14333

commit 0525ce4850f2c22a235dcd3422bc92f40815f377
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Sep 19 14:48:13 2017 +0100

    Add exp2f and log2f benchmark trace
    
    exp2f and log2f benchmark traces are just copies of the existing
    expf and logf traces from wrf_r.
    
        * benchtests/Makefile: Add exp2f and log2f benchmarks.
        * benchtests/exp2f-inputs: Copy of expf-inputs.
        * benchtests/log2f-inputs: Copy of logf-inputs.

commit d82468d1001209d6b15c674a317a3f11fb7a82f6
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 19 15:50:38 2017 +0000

    Fix fexecve build where syscall macros call sizeof.
    
    The recent fexecve changes broke the build on (at least) alpha (maybe
    other configurations, that was the first breakage I saw in my
    build-many-glibcs.py run):
    
    In file included from ../sysdeps/unix/sysv/linux/alpha/sysdep.h:29:0,
                     from ../sysdeps/alpha/nptl/tls.h:31,
                     from ../include/errno.h:25,
                     from ../sysdeps/unix/sysv/linux/fexecve.c:18:
    ../sysdeps/unix/sysv/linux/fexecve.c: In function 'fexecve':
    ../sysdeps/unix/alpha/sysdep.h:203:10: error: 'sizeof' on array function 
parameter 'argv' will return size of 'char * const*' 
[-Werror=sizeof-array-argument]
       (sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
              ^
    ../sysdeps/unix/alpha/sysdep.h:302:26: note: in expansion of macro 
'syscall_promote'
      register long _tmp_18 = syscall_promote (arg3);  \
                              ^~~~~~~~~~~~~~~
    ../sysdeps/unix/alpha/sysdep.h:173:2: note: in expansion of macro 
'inline_syscall5'
      inline_syscall##nr(__NR_##name, args); \
      ^~~~~~~~~~~~~~
    ../sysdeps/unix/sysv/linux/alpha/sysdep.h:85:2: note: in expansion of macro 
'INLINE_SYSCALL1'
      INLINE_SYSCALL1(name, nr, args);    \
      ^~~~~~~~~~~~~~~
    ../sysdeps/unix/sysv/linux/fexecve.c:42:3: note: in expansion of macro 
'INLINE_SYSCALL'
       INLINE_SYSCALL (execveat, 5, fd, "", argv, envp, AT_EMPTY_PATH);
       ^~~~~~~~~~~~~~
    ../sysdeps/unix/sysv/linux/fexecve.c:33:30: note: declared here
     fexecve (int fd, char *const argv[], char *const envp[])
                                  ^~~~
    
    This patch fixes this similarly to previous fixes for such issues: use
    &argv[0] and &envp[0] as the syscall macro arguments.  Tested
    (compilation only) for alpha-linux-gnu with build-many-glibcs.py.
    
        * sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]:
        Explicitly take address of first element of array arguments in
        call to INLINE_SYSCALL.

commit 43ffc53a352a67672210c9dd4959f6c6b7407e60
Author: Andreas Schwab <address@hidden>
Date:   Wed Sep 6 17:29:29 2017 +0200

    Use execveat syscall in fexecve (bug 22134)
    
    By using execveat we no longer depend on /proc.  The execveat syscall was
    introduced in 3.19, except for a few late comers.

commit a5dcc87e77cf711bca320e8506a4d4fef25bf4f4
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Sep 14 13:26:23 2017 +0100

    Add logf trace
    
    Add a trace for logf.  This is a reduced trace based on 2.8 billion
    samples extracted from wrf_r.
    
        * benchtests/Makefile: Add logf benchmark.
        * benchtests/logf-inputs: Add reduced trace from wrf_r.

commit 7024d5446d1cffaeba86c9b5eed4cf4e41f32176
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Sep 14 13:22:06 2017 +0100

    Add expf trace
    
    Add a trace for expf.  This is a reduced trace based on 2.4 billion
    samples extracted from wrf_r.
    
        * benchtests/Makefile: Add expf benchmark.
        * benchtests/expf-inputs: Add reduced trace from wrf_r.

commit ca3a382ea3aa9c9ccb57060afae47c7f702727ac
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Sep 14 12:47:35 2017 +0100

    Enable unwind info in libc-start.c and backtrace.c
    
    Add unwind info to __libc_start_main so that unwinding continues one
    extra level to _start.  Similarly add unwind info to backtrace.
    Given many targets require this, do this in a general way.
    
        * csu/Makefile: Add -funwind-tables to libc-start.c.
        * debug/Makefile: Add -funwind-tables to backtrace.c.
        * sysdeps/aarch64/Makefile: Remove CFLAGS-backtrace.c.
        * sysdeps/arm/Makefile: Likewise.
        * sysdeps/i386/Makefile: Likewise.
        * sysdeps/m68k/Makefile: Likewise.
        * sysdeps/mips/Makefile: Likewise.
        * sysdeps/nios2/Makefile: Likewise.
        * sysdeps/sh/Makefile: Likewise.
        * sysdeps/sparc/Makefile: Likewise.

commit eb375def3ddd2a1738ed6bc5ace98753f0f7e5e6
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 19 12:59:01 2017 +0000

    Add benchtests for trunc and truncf.
    
    This patch adds benchtests for the trunc and truncf functions.  The
    inputs listed are fairly arbitrary; I do not assert they are
    representative of any particular application.
    
        * benchtests/Makefile (bench-math): Add trunc and truncf.
        (CFLAGS-bench-trunc.c): New variable.
        (CFLAGS-bench-truncf.c): Likewise.
        * benchtests/trunc-inputs: New file.
        * benchtests/truncf-inputs: Likewise.

commit bd17ba29eb5cb4ec7251c1ed0b4dcd7d287c0c0c
Author: Rajalakshmi Srinivasaraghavan <address@hidden>
Date:   Tue Sep 19 13:55:49 2017 +0530

    powerpc: Avoid misaligned stores in memset
    
    As per the section "3.1.4.2 Alignment Interrupts" of the "POWER8 Processor
    User's Manual for the Single-Chip Module", alignment interrupt is reported
    for misaligned stores in  Caching-inhibited storage.  As memset is used in
    some drivers for DMA (like xorg), this patch avoids misaligned stores for
    sizes less than 8 in memset.

commit 6d9b0b5a22738e100b57bdd593d799abac4949d7
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 18 23:26:35 2017 +0000

    Fix powerpc64le problem from last ldbl-opt patch.
    
    This patch fixes a problem on powerpc64le that I missed in initial
    testing of my last patch to ldbl-opt.  In the specific case of
    powerpc64le, the weak aliases for exp10l and remainderl do not get
    defined in the generic wrappers because of how those wrappers
    undefine and redefine weak_alias.  This patch restores those aliases
    in the ldbl-opt code.
    
    Tested (compilation only) for powerpc64le with build-many-glibcs.py.
    
        * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT &&
        !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and
        redefine.
        [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
        (exp10l): Define as weak alias.
        * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT
        && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine
        and redefine.
        [LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)]
        (remainderl): Define as weak alias.

commit 92892fdbfa5e4d9f3cc25601767da064d0a8818a
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 18 17:51:33 2017 +0000

    Use libm_alias_ldouble in math/.
    
    This patch converts libm function implementations in math/ from using
    weak_alias to using libm_alias_ldouble to define public function
    names, in cases where it would be appropriate to define _Float128 /
    _Float64x aliases for those functions as well (in cases where either
    or both of those types exist and have the same ABI as long double).
    This eliminates many ldbl-opt wrappers round these function
    implementations.
    
    Tested for x86_64, and with build-many-glibcs.py.  All installed
    stripped shared libraries are unchanged except for libm.so on
    powerpc64le.  As noted for a previous patch, powerpc64le's use of
    ldbl-opt means various long double functions get defined using
    long_double_symbol which gives them an explicit symbol version in the
    object files, and this patch results in some such functions using
    weak_alias instead (because powerpc64le never had a previous version
    of these functions for long double = double); both produce a valid
    libm.so with the same public symbols at the same versions, but macros
    expanding to call weak_alias is cleaner in this case.
    
        * math/s_fmal.c: Include <libm-alias-ldouble.h>.
        (fmal): Define using libm_alias_ldouble.
        * math/w_acoshl_compat.c: Include <libm-alias-ldouble.h>.
        (acoshl): Define using libm_alias_ldouble.
        * math/w_acosl_compat.c: Include <libm-alias-ldouble.h>.
        (acosl): Define using libm_alias_ldouble.
        * math/w_asinl_compat.c: Include <libm-alias-ldouble.h>.
        (asinl): Define using libm_alias_ldouble.
        * math/w_atan2l_compat.c: Include <libm-alias-ldouble.h>.
        (atan2l): Define using libm_alias_ldouble.
        * math/w_atanhl_compat.c: Include <libm-alias-ldouble.h>.
        (atanhl): Define using libm_alias_ldouble.
        * math/w_coshl_compat.c: Include <libm-alias-ldouble.h>.
        (coshl): Define using libm_alias_ldouble.
        * math/w_exp10l_compat.c: Include <libm-alias-ldouble.h>.
        (exp10l): Define using libm_alias_ldouble.
        * math/w_exp2l_compat.c: Include <libm-alias-ldouble.h>.
        (exp2l): Define using libm_alias_ldouble.
        * math/w_expl_compat.c: Include <libm-alias-ldouble.h>.
        (expl): Define using libm_alias_ldouble.
        * math/w_fmodl_compat.c: Include <libm-alias-ldouble.h>.
        (fmodl): Define using libm_alias_ldouble.
        * math/w_hypotl_compat.c: Include <libm-alias-ldouble.h>.
        (hypotl): Define using libm_alias_ldouble.
        * math/w_j0l_compat.c: Include <libm-alias-ldouble.h>.
        (j0l): Define using libm_alias_ldouble.
        (y0l): Likewise.
        * math/w_j1l_compat.c: Include <libm-alias-ldouble.h>.
        (j1l): Define using libm_alias_ldouble.
        (y1l): Likewise.
        * math/w_jnl_compat.c: Include <libm-alias-ldouble.h>.
        (jnl): Define using libm_alias_ldouble.
        (ynl): Likewise.
        * math/w_log10l_compat.c: Include <libm-alias-ldouble.h>.
        (log10l): Define using libm_alias_ldouble.
        * math/w_log2l_compat.c: Include <libm-alias-ldouble.h>.
        (log2l): Define using libm_alias_ldouble.
        * math/w_logl_compat.c: Include <libm-alias-ldouble.h>.
        (logl): Define using libm_alias_ldouble.
        * math/w_powl_compat.c: Include <libm-alias-ldouble.h>.
        (powl): Define using libm_alias_ldouble.
        * math/w_remainderl_compat.c: Include <libm-alias-ldouble.h>.
        (remainderl): Define using libm_alias_ldouble.
        * math/w_sinhl_compat.c: Include <libm-alias-ldouble.h>.
        (sinhl): Define using libm_alias_ldouble.
        * math/w_sqrtl_compat.c: Include <libm-alias-ldouble.h>.
        (sqrtl): Define using libm_alias_ldouble.
        * math/w_tgammal_compat.c: Include <libm-alias-ldouble.h>.
        (tgammal): Define using libm_alias_ldouble.
        * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT]
        (exp10l): Do not use long_double_symbol here.
        * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
        [LIBM_SVID_COMPAT] (remainderl): Likewise.
        * sysdeps/ieee754/ldbl-opt/s_fmal.c: Remove.
        * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.

commit 6cd380dd366d728da9f579eeb9f7f4c47f48e474
Author: Wang Boshi <address@hidden>
Date:   Fri Sep 15 17:53:23 2017 +0100

    AArch64: use movz/movk instead of literal pools in start.S
    
    eXecute-Only Memory (XOM) is a protection mechanism against some ROP
    attacks. XOM sets the code as executable and unreadable, so the access
    to any data, like literal pools, in the code section causes the fault
    with XOM. The compiler can disable literal pools for C source files,
    but not for assembly files, so I use movz/movk instead of literal pools
    in start.S for XOM.
    
    I add MOVL macro with movz/movk instructions like movl pseudo-instruction
    in armasm, and use the macro instead of literal pools.
    
        * sysdeps/aarch64/start.S: Use MOVL instead of literal pools.
        * sysdeps/aarch64/sysdep.h (MOVL): Add MOVL macro.

commit 1c6d89e9a40302430d5986a09c7cf7594b93143c
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 17 21:57:39 2017 +0200

    Add missing libc_hidden_weak/def calls
    
        * io/read.c (read): Add libc_hidden_weak.
        * sysdeps/mach/hurd/read.c (read): Likewise.
        * io/write.c (write): Likewise.
        * sysdeps/mach/hurd/write.c (write): Likewise.
        * io/pread64.c (__pread64): Likewise.
        * sysdeps/mach/hurd/pread64.c (__pread64): Likewise.
        * posix/pread64.c (__pread64): Add libc_hidden_def.

commit c207f7ce734b2f77139e6043e9cf6cff6dbfcede
Author: Paul Pluzhnikov <address@hidden>
Date:   Sat Sep 16 10:55:55 2017 -0700

    Add missing space.

commit 35a29136d67515ade4e6d6d6c0fd054f1acc818f
Author: Paul Pluzhnikov <address@hidden>
Date:   Sat Sep 16 10:50:22 2017 -0700

    Add missing space.

commit 140647ea6fee9c08c67b4130e9f9e8dc7a646a3e
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sat Sep 16 15:23:59 2017 +0530

    benchtests: New -g option to generate graphs in compare_strings.py
    
    The compare_strings.py option unconditionally generates a graph PNG
    image of the input data, which can be unnecessary and slow.  Put this
    behind an optional flag -g.
    
        * benchtests/scripts/compare_strings.py: New option -g.
        (draw_graph): Print a message that a graph is being generated.
        (process_results): Generate graph only if -g is passed.
        (main): Process option -g.

commit 5a6547b7b9e8174a2aa228c4d3c5de7245f720b6
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sat Sep 16 15:23:12 2017 +0530

    benchtests: Make compare_strings.py output a bit prettier
    
    Make the column widths for the outputs fixed so that they look a
    little less messy.  They will still look bad with lots of IFUNCs (like
    on x86) but it's still a step forward.
    
        * benchtests/scripts/compare_strings.py (process_results):
        Better spacing for output.

commit 06b1de237801402c7da327f0a36f4e6aa2f06cc2
Author: Siddhesh Poyarekar <address@hidden>
Date:   Sat Sep 16 11:47:32 2017 +0530

    benchtests: Use argparse to parse arguments
    
    Make the script more usable by adding proper command line options
    along with a way to query the options.  The script is capable of doing
    a bunch of things right now like choosing a base for comparison,
    choosing to generate graphs, etc. and they should be accessible via
    command line switches.
    
        * benchtests/scripts/compare_strings.py: Use argparse.
        * benchtests/README: Document existence of compare_strings.py.

commit 9ac44708881c086f27f86b36c20749052d079c8f
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 15 23:10:02 2017 +0000

    Use libm_alias_double in math/.
    
    This patch converts libm function implementations in math/ from using
    weak_alias to using libm_alias_double to define public function names,
    in cases where it would be appropriate to define _Float64 / _Float32x
    aliases for those functions as well.  This eliminates many
    NO_LONG_DOUBLE conditionals and ldbl-opt wrappers round these function
    implementations.
    
    Tested for x86_64.  Also tested with build-many-glibcs.py.  Binary
    differences seen are that the different order in which remainder and
    drem symbols get defined as a result of this patch (the same source
    file defines the same aliases, but in a different order of definition)
    changes the order of symbols in the final libm.so when long double =
    double, and for ldbl-opt configurations, the compat symbols for Bessel
    functions were previously defined by e.g. "compat_symbol (libm, j0,
    j0l, GLIBC_2_0)", which declares j0l as a compat symbol based on j0
    and so makes j0l weak because j0 is weak, and are now defined
    (indirectly via the relevant macros) based on e.g. __j0, so are no
    longer weak because __j0 isn't weak.
    
        * math/s_fma.c: Include <libm-alias-double.h>.
        (fma): Define using libm_alias_double.
        * math/s_nextafter.c: Include <libm-alias-double.h>.
        (nextafter): Define using libm_alias_double.
        * math/w_acos_compat.c: Include <libm-alias-double.h>.
        (acos): Define using libm_alias_double.
        * math/w_acosh_compat.c: Include <libm-alias-double.h>.
        (aocsh): Define using libm_alias_double.
        * math/w_asin_compat.c: Include <libm-alias-double.h>.
        (asin): Define using libm_alias_double.
        * math/w_atan2_compat.c: Include <libm-alias-double.h>.
        (atan2): Define using libm_alias_double.
        * math/w_atanh_compat.c: Include <libm-alias-double.h>.
        (atanh): Define using libm_alias_double.
        * math/w_cosh_compat.c: Include <libm-alias-double.h>.
        (cosh): Define using libm_alias_double.
        * math/w_exp10_compat.c: Include <libm-alias-double.h>.
        (exp10): Define using libm_alias_double.
        * math/w_exp2_compat.c: Include <libm-alias-double.h>.
        (exp2): Define using libm_alias_double.
        * math/w_exp_compat.c: Include <libm-alias-double.h>.
        (exp): Define using libm_alias_double.
        * math/w_fmod_compat.c: Include <libm-alias-double.h>.
        (fmod): Define using libm_alias_double.
        * math/w_hypot_compat.c: Include <libm-alias-double.h>.
        (hypot): Define using libm_alias_double.
        * math/w_j0_compat.c: Include <libm-alias-double.h>.
        (j0): Define using libm_alias_double.
        (y0): Likewise.
        * math/w_j1_compat.c: Include <libm-alias-double.h>.
        (j1): Define using libm_alias_double.
        (y1): Likewise.
        * math/w_jn_compat.c: Include <libm-alias-double.h>.
        (jn): Define using libm_alias_double.
        (yn): Likewise.
        * math/w_log10_compat.c: Include <libm-alias-double.h>.
        (log10): Define using libm_alias_double.
        * math/w_log2_compat.c: Include <libm-alias-double.h>.
        (log2): Define using libm_alias_double.
        * math/w_log_compat.c: Include <libm-alias-double.h>.
        (log): Define using libm_alias_double.
        * math/w_pow_compat.c: Include <libm-alias-double.h>.
        (pow): Define using libm_alias_double.
        * math/w_remainder_compat.c: Include <libm-alias-double.h>.
        (remainder): Define using libm_alias_double.
        * math/w_sinh_compat.c: Include <libm-alias-double.h>.
        (sinh): Define using libm_alias_double.
        * math/w_sqrt_compat.c: Include <libm-alias-double.h>.
        (sqrt): Define using libm_alias_double.
        * math/w_tgamma_compat.c: Include <libm-alias-double.h>.
        (tgamma): Define using libm_alias_double.
        * sysdeps/ieee754/ldbl-opt/s_nextafter.c [LONG_DOUBLE_COMPAT(libm,
        GLIBC_2_0)] (nextafterl): Do not define compat symbol here.
        * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
        [LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)] (exp10l): Likewise.
        * sysdeps/ieee754/ldbl-opt/w_remainder_compat.c
        [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (remainderl): Likewise.
        * sysdeps/ieee754/ldbl-opt/w_acos_compat.c: Remove.
        * sysdeps/ieee754/ldbl-opt/w_acosh_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_asin_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atan2_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atanh_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_cosh_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_fmod_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_hypot_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j0_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j1_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_jn_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log10_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log2_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_pow_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sinh_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c: Likewise.

commit c67a2328c88fec0e91c646ad4a9d9edfb7140f0a
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 15 20:05:09 2017 +0000

    Remove ENOSYS math/ function stubs.
    
    The math/ directory has various stub implementations of functions
    (generally long double functions, plus sqrtf128) that set errno to
    ENOSYS and print a message.
    
    These are a relic of when the long double libm implementation in glibc
    was originally incomplete.  They are only present for a limited set of
    libm functions, not all those that would need implementing for any
    hypothetical new long double format, and only for long double (plus
    sqrtf128), not for other floating-point types.  I removed the
    corresponding ENOSYS tests in the testsuite in
    <https://sourceware.org/ml/libc-alpha/2013-05/msg00599.html>.
    
    I think these stubs are an inherently different case from stubs for
    functionality needing OS-specific implementations, since
    floating-point formats are generally standardized between modern
    processors (a new long double format does not seem likely - I'd expect
    new ports all to have long double = binary128 or long double =
    binary64 - though _Float16 functions *f16 are entirely possible in
    future) and libm functions are generally only expected to fail for
    domain / range / pole errors, not for other unknown system-specific
    conditions the way the functions needing OS-specific implementations
    may fail.
    
    This patch removes these stub implementations.  The effect (which, as
    noted above, was actually mostly already the case, given the
    incompleteness of the set of stubs, and was certainly the case if you
    wanted your libm port to *work* rather than just build) is that any
    new long double format needs to provide a full set of functions for
    the build to succeed; any port using ldbl-128 needs to provide sqrtl
    (possibly using the soft-fp version from another port); any port using
    ldbl-96 needs to provide all those functions that all of
    x86_64/i386/ia64/m68k provide rather than getting from the ldbl-96
    directory; any port with _Float128 as a type with a distinct format
    needs to provide sqrtf128.
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * math/e_acoshl.c: Remove.
        * math/e_acosl.c: Likewise.
        * math/e_asinl.c: Likewise.
        * math/e_atan2l.c: Likewise.
        * math/e_atanhl.c: Likewise.
        * math/e_coshl.c: Likewise.
        * math/e_expl.c: Likewise.
        * math/e_fmodl.c: Likewise.
        * math/e_gammal_r.c: Likewise.
        * math/e_hypotl.c: Likewise.
        * math/e_j0l.c: Likewise.
        * math/e_j1l.c: Likewise.
        * math/e_jnl.c: Likewise.
        * math/e_lgammal_r.c: Likewise.
        * math/e_log10l.c: Likewise.
        * math/e_log2l.c: Likewise.
        * math/e_logl.c: Likewise.
        * math/e_powl.c: Likewise.
        * math/e_rem_pio2l.c: Likewise.
        * math/e_sinhl.c: Likewise.
        * math/e_sqrtf128.c: Likewise.
        * math/e_sqrtl.c: Likewise.
        * math/k_cosl.c: Likewise.
        * math/k_sinl.c: Likewise.
        * math/k_tanl.c: Likewise.
        * math/s_asinhl.c: Likewise.
        * math/s_atanl.c: Likewise.
        * math/s_cbrtl.c: Likewise.
        * math/s_erfl.c: Likewise.
        * math/s_expm1l.c: Likewise.
        * math/s_log1pl.c: Likewise.
        * math/s_tanhl.c: Likewise.

commit 61c45f250528dae431391823a9766053e61ccde1
Author: Tulio Magno Quites Machado Filho <address@hidden>
Date:   Fri Sep 15 15:07:28 2017 -0300

    [BZ #21745] powerpc: build some IFUNC math functions for libc and libm
    
    Some math functions have to be distributed in libc because they're
    required by printf.
    libc and libm require their own builds of these functions, e.g. libc
    functions have to call __stack_chk_fail_local in order to bypass the
    PLT, while libm functions have to call __stack_chk_fail.
    
    While math/Makefile treat the generic cases, i.e. s_isinff, the
    multiarch Makefile has to treat its own files, i.e. s_isinff-ppc64.
    
        [BZ #21745]
        * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile:
        [$(subdir) = math] (sysdep_calls): New variable.  Has the
        previous contents of sysdep_routines, but re-sorted..
        [$(subdir) = math] (sysdep_routines): Re-use the contents from
        sysdep_calls.
        [$(subdir) = math] (libm-sysdep_routines): Remove the functions
        defined in sysdep_calls and replace by the respective m_* names.
        * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S:
        (compat_symbol): Undefine to avoid duplicated compat symbols in
        libc.

commit 5bcdb315295f3bb73c082fc944d9e10a304adb0a
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 15 17:12:02 2017 +0000

    Use libm_alias_float in math/.
    
    This patch converts libm function implementations in math/ from using
    weak_alias to using libm_alias_float to define public function names,
    in cases where it would be appropriate to define _Float32 aliases for
    those functions as well.  expf and exp2f are omitted from this patch,
    given the in-progress patches that would change their symbol
    versioning arrangements (at a later stage it will be necessary to add
    macros that can be used for functions with such symbol versioning
    arrangements - which will apply to lgammaf as well - but for the
    initial patches in this area I'm just dealing with easy cases, and any
    symbol versioning changes to these functions while the work is in
    progress can effectively just undo the libm_alias_* changes as regards
    those functions).
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * math/s_fmaf.c: Include <libm-alias-float.h>.
        (fmaf): Define using libm_alias_float.
        * math/w_acosf_compat.c: Include <libm-alias-float.h>.
        (acosf): Define using libm_alias_float.
        * math/w_acoshf_compat.c: Include <libm-alias-float.h>.
        (acoshf): Define using libm_alias_float.
        * math/w_asinf_compat.c: Include <libm-alias-float.h>.
        (asinf): Define using libm_alias_float.
        * math/w_atan2f_compat.c: Include <libm-alias-float.h>.
        (atan2f): Define using libm_alias_float.
        * math/w_atanhf_compat.c: Include <libm-alias-float.h>.
        (atanhf): Define using libm_alias_float.
        * math/w_coshf_compat.c: Include <libm-alias-float.h>.
        (coshf): Define using libm_alias_float.
        * math/w_exp10f_compat.c: Include <libm-alias-float.h>.
        (exp10f): Define using libm_alias_float.
        * math/w_fmodf_compat.c: Include <libm-alias-float.h>.
        (fmodf): Define using libm_alias_float.
        * math/w_hypotf_compat.c: Include <libm-alias-float.h>.
        (hypotf): Define using libm_alias_float.
        * math/w_j0f_compat.c: Include <libm-alias-float.h>.
        (j0f): Define using libm_alias_float.
        (y0f): Likewise.
        * math/w_j1f_compat.c: Include <libm-alias-float.h>.
        (j1f): Define using libm_alias_float.
        (y1f): Likewise.
        * math/w_jnf_compat.c: Include <libm-alias-float.h>.
        (jnf): Define using libm_alias_float.
        (ynf): Likewise.
        * math/w_log10f_compat.c: Include <libm-alias-float.h>.
        (log10f): Define using libm_alias_float.
        * math/w_log2f_compat.c: Include <libm-alias-float.h>.
        (log2f): Define using libm_alias_float.
        * math/w_logf_compat.c: Include <libm-alias-float.h>.
        (logf): Define using libm_alias_float.
        * math/w_powf_compat.c: Include <libm-alias-float.h>.
        (powf): Define using libm_alias_float.
        * math/w_remainderf_compat.c: Include <libm-alias-float.h>.
        (remainderf): Define using libm_alias_float.
        * math/w_sinhf_compat.c: Include <libm-alias-float.h>.
        (sinhf): Define using libm_alias_float.
        * math/w_sqrtf_compat.c: Include <libm-alias-float.h>.
        (sqrtf): Define using libm_alias_float.
        * math/w_tgammaf_compat.c: Include <libm-alias-float.h>.
        (tgammaf): Define using libm_alias_float.

commit 01f2881245eabf6daeeb8505242047ece4027c5a
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 14 22:28:53 2017 +0000

    Make more libm functions into weak aliases.
    
    Many libm functions define the function as __<func> and then define
    <func> as a weak alias.  This is not at all limited to cases where
    there is an internal call that has namespace reasons to need to call
    __<func> instead of <func>.
    
    The common macros for creating libm function aliases work on the basis
    of public function names all being aliases; that is, they define
    aliases for functions using the above pattern.  Thus, where a function
    just defines the public name <func> directly, changing that to be a
    weak alias enables a subsequent conversion to the common macros to
    retain the exact existing symbols (and so be testable by comparison of
    stripped binaries).
    
    This patch converts many existing functions to use the weak alias
    pattern, as preparation for subsequent conversions to common macros.
    I do expect that _FloatN/_FloatNx function aliases will end up needing
    new variants of the common macros that do *not* create the original
    float / double / long double name of a function - for cases where that
    name is created specially to give it a particular symbol version, for
    example - but for functions that can use the most common macros to
    create all the public names as aliases, it makes sense for them to do
    so.
    
    Regarding the Bessel function wrappers in this patch: only float and
    double wrappers are changed because the long double wrappers already
    used the weak alias pattern.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * include/math.h (roundeven): Change hidden_proto call to
        __roundeven.
        * math/w_j0_compat.c (j0): Rename to __j0 and define as weak
        alias.
        [NO_LONG_DOUBLE] (__j0l): New strong alias.
        (y0): Rename to __y0 and define as weak alias.
        [NO_LONG_DOUBLE] (__y0l): New strong alias.
        * math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak
        alias.
        (y0f): Rename to __y0f and define as weak alias.
        * math/w_j1_compat.c (j1): Rename to __j1 and define as weak
        alias.
        [NO_LONG_DOUBLE] (__j1l): New strong alias.
        (y1): Rename to __y1 and define as weak alias.
        [NO_LONG_DOUBLE] (__y1l): New strong alias.
        * math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak
        alias.
        (y1f): Rename to __y1f and define as weak alias.
        * math/w_jn_compat.c (jn): Rename to __jn and define as weak
        alias.
        [NO_LONG_DOUBLE] (__jnl): New strong alias.
        (yn): Rename to __yn and define as weak alias.
        [NO_LONG_DOUBLE] (__ynl): New strong alias.
        * math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak
        alias.
        (ynf): Rename to __ynf and define as weak alias.
        * sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp.
        (fromfp): Define as weak alias.
        [NO_LONG_DOUBLE] (__fromfpl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx.
        (fromfpx): Define as weak alias.
        [NO_LONG_DOUBLE] (__fromfpxl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to
        __getpayload and define as weak alias.
        [NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to
        __roundeven and define as weak alias.
        [NO_LONG_DOUBLE] (__roundevenl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to
        __setpayload.
        (setpayload): Define as weak alias.
        [NO_LONG_DOUBLE] (__setpayloadl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to
        __setpayloadsig.
        (setpayloadsig): Define as weak alias.
        [NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to
        __totalorder and define as weak alias.
        [NO_LONG_DOUBLE] (__totalorderl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename
        to __totalordermag and define as weak alias.
        [NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp.
        (ufromfp): Define as weak alias.
        [NO_LONG_DOUBLE] (__ufromfpl): New strong alias.
        * sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to
        __ufromfpx.
        (ufromfpx): Define as weak alias.
        [NO_LONG_DOUBLE] (__ufromfpxl): New strong alias.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload):
        Rename to __getpayload and define as weak alias.
        [NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven):
        Rename to __roundeven and define as weak alias.
        [NO_LONG_DOUBLE] (__roundevenl): New strong alias.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder):
        Rename to __totalorder and define as weak alias.
        [NO_LONG_DOUBLE] (__totalorderl): New strong alias.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
        (totalordermag): Rename to __totalordermag and define as weak
        alias.
        [NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
        * sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New
        macro.
        (__roundevenl): Likewise.
        (__totalorderl): Likewise.
        (__totalordermagl): Likewise
        * sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to
        __fromfpf128.
        (fromfpf128): Define as weak alias.
        * sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to
        __fromfpxf128.
        (fromfpxf128): Define as weak alias.
        * sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to
        __setpayloadf128.
        (setpayloadf128): Define as weak alias.
        * sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to
        __setpayloadsigf128.
        (setpayloadsigf128): Define as weak alias.
        * sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to
        __ufromfpf128.
        (ufromfpf128): Define as weak alias.
        * sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to
        __ufromfpxf128.
        (ufromfpxf128): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf.
        (fromfpf): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to
        __fromfpxf.
        (fromfpxf): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to
        __getpayloadf and define as weak alias.
        * sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to
        __roundevenf and define as weak alias.
        * sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to
        __setpayloadf.
        (setpayloadf): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to
        __setpayloadsigf.
        (setpayloadsigf): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to
        __totalorderf and define as weak alias.
        * sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf):
        Rename to __totalordermagf and define as weak alias.
        * sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to
        __ufromfpf.
        (ufromfpf): Define as weak alias.
        * sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to
        __ufromfpxf.
        (ufromfpxf): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to
        __fromfpl.
        (fromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to
        __fromfpxl.
        (fromfpxl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename
        to __getpayloadl and define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to
        __roundevenl and define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to
        __setpayloadl.
        (setpayloadl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to
        __setpayloadsigl.
        (setpayloadsigl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename
        to __totalorderl and define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl):
        Rename to __totalordermagl and define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to
        __ufromfpl.
        (ufromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to
        __ufromfpxl.
        (ufromfpxl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to
        __fromfpl.
        (fromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to
        __fromfpxl.
        (fromfpxl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl):
        Rename to __getpayloadl and define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename
        to __roundevenl and define as weak alias.  Call __roundeven
        instead of roundeven.
        * sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to
        __setpayloadl.
        (setpayloadl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to
        __setpayloadsigl.
        (setpayloadsigl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl):
        Rename to __totalorderl and define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl):
        Rename to __totalordermagl and define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to
        __ufromfpl.
        (ufromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to
        __ufromfpxl.
        (ufromfpxl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to
        __fromfpl.
        (fromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to
        __fromfpxl.
        (fromfpxl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to
        __getpayloadl and define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to
        __roundevenl and define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to
        __setpayloadl.
        (setpayloadl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to
        __setpayloadsigl.
        (setpayloadsigl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to
        __totalorderl and define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl):
        Rename to __totalordermagl and define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to
        __ufromfpl.
        (ufromfpl): Define as weak alias.
        * sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to
        __ufromfpxl.
        (ufromfpxl): Define as weak alias.

commit 503c92c37a95f769762e65aff9383b302178c2bc
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Sep 14 22:39:49 2017 +0530

    benchtests: Reallocate buffers for memset
    
    Keeping the same buffers along with copying the same size of data into
    the same location means that the first routine is typically the
    slowest since it has to bear the cost of fetching data into to cache.
    Reallocating buffers stabilizes numbers by a bit.
    
        * benchtests/bench-string.h (realloc_bufs): New function.
        (test_init): Call it.
        * benchtests/bench-memset-large.c (do_test): Likewise.
        * benchtests/bench-memset.c (do_test): Likewise.

commit 29c933fb35b7bf872f57dc6977c879832983ab6c
Author: Siddhesh Poyarekar <address@hidden>
Date:   Thu Sep 14 22:37:33 2017 +0530

    benchtests: Make memset benchmarks print json
    
    Make the memset benchmarks (bench-memset and bench-memset-large) print
    their output in JSON so that they can be evaluated using the
    compare_strings.py script.
    
        * benchtests/bench-memset-large.c: Print output in JSON
        format.
        * benchtests/bench-memset.c: Likewise.

commit 799c8d6905433ad56f26ccab4855b36f1d1ddbfc
Author: Mike FABIAN <address@hidden>
Date:   Thu Sep 7 15:28:28 2017 +0200

    Add new codepage charmaps/IBM858 [BZ #21084]
    
    This code page is identical to code page 850 except that X'D5'
    has been changed from LI61 (dotless i) to SC20 (euro symbol).
    
    The code points from /x01 to /x1f in the /localedata/charmaps/IBM858
    file have the same mapping as those in localedata/charmaps/ANSI_X3.4-1968.
    That means they disagree with with
    
    
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00858.txt
    
    in that range.
    For example, localedata/charmaps/IBM858 and 
localedata/charmaps/ANSI_X3.4-1968 have:
    
       “<U0001>     /x01         START OF HEADING (SOH)”
    
    whereas CP00858.txt has:
    
       “01 SS000000        Smiling Face”
    
    That means that CP00858.txt is not really ASCII-compatible and to make
    it ASCII-compatible we deviate fro CP00858.txt in the code points from /x01
    to /x1f.
    
        [BZ #21084]
        * benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and 
ibm858.c.
        * iconvdata/Makefile: Add IBM858.
        * iconvdata/gconv-modules: Add IBM858.
        * iconvdata/ibm858.c: New file.
        * iconvdata/tst-tables.sh: Add IBM858
        * localedata/charmaps/IBM858: New file.

commit fcc82c06dc77bee380c3232827827e995064da4c
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Aug 29 15:22:49 2017 +0530

    Removed redundant data (LC_TIME and LC_MESSAGES) for niu_NZ [BZ #22023]
    
        [BZ #22023]
        * locales/niu_NZ (LC_TIME): copy "niu_NU".
        * locales/niu_NZ (LC_MESSAGES): copy "niu_NU".

commit f28a0926c569ba5ee8119804aa1c8cb09b5f223b
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Sep 14 08:47:45 2017 +0530

    Fix LC_TELEPHONE for az_AZ [BZ #22112]
    
        [BZ #22112]
        * localedata/locales/az_AZ(LC_TELEPHONE): Fix int_select
        and add tel_int_fmt.

commit 02093e62226ca5ce04a2f69c0682eea828a6f9ee
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 14 01:11:46 2017 +0000

    Define and use libm_alias_float128.
    
    Continuing the process of setting up common macros for libm function
    aliases, with a view to using them to define _FloatN / _FloatNx
    aliases in future, this patch adds a libm_alias_float128 macro and
    uses it in the type-generic templates.  (_Float128 functions will end
    up with _Float64x aliases on powerpc64le, but not on x86_64/x86/ia64
    because _Float64x has long double format there, and the macro will
    provide a single place for the conditionals for that choice, as well
    as for once ldbl-128 functions always build *f128 and need
    conditionals for whether to have *l aliases.)
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/generic/libm-alias-float128.h: New file.
        * sysdeps/generic/math-type-macros-float128.h: Include
        <libm-alias-float128.h>.
        [!declare_mgen_alias] (declare_mgen_alias): Define macro.

commit 1aae75ef80aaa6129fb3f2a68fdfba60a945c4df
Author: Joseph Myers <address@hidden>
Date:   Wed Sep 13 22:17:23 2017 +0000

    Define and use libm_alias_ldouble.
    
    Continuing the process of setting up common macros for libm function
    aliases, with a view to using them to define _FloatN / _FloatNx
    aliases in future, this patch adds a libm_alias_ldouble macro and uses
    it in the type-generic templates.
    
    Since math-type-macros-ldouble.h already did the appropriate thing for
    each symbol (weak_alias or long_double_symbol), this is just a
    straightforward rearrangement of code, to make the required logic
    available in a place that can also be used outside of the type-generic
    templates in future (in particular, to eliminate various wrappers for
    functions in ldbl-opt and ldbl-64-128).
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/generic/libm-alias-ldouble.h: New file.
        * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise.
        * sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove.
        * sysdeps/generic/math-type-macros-ldouble.h: Include
        <libm-alias-ldouble.h>.
        [!declare_mgen_alias] (declare_mgen_alias): Define to use
        libm_alias_ldouble.

commit bcea7ad608466a886767ddc743dce0df11980b5f
Author: Szabolcs Nagy <address@hidden>
Date:   Wed Sep 6 16:48:41 2017 +0100

    Move exp compat wrappers under math/
    
    Move exp compat wrappers to math/w_exp{,f,l}_compat.c to be
    consistent with other wrappers.
    
        * sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to...
        * math/w_exp_compat.c: ... here.
        * sysdeps/ieee754/flt-32/w_expf_compat.c: Move to...
        * math/w_expf_compat.c: ... here.
        * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Move to...
        * math/w_expl_compat.c: ... here.
        * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Remove.
        * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Remove.
        * sysdeps/ieee754/ldbl-opt/w_exp_compat.c: Use the new path.
        * sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.

commit 0fc56478a969cd02475130526bf9b2a6e416993c
Author: Joseph Myers <address@hidden>
Date:   Wed Sep 13 15:47:26 2017 +0000

    Clear up log1p, ldexp, scalbn, scalbln compat handling.
    
    This patch cleans up how compat symbols / long double versioning are
    handled for log1p, ldexp, scalbn and scalbln functions.
    
    The general principle is to do as much as possible through the
    type-generic templates.  Previously, when errno-setting wrappers were
    added the compat long double symbols were left pointing directly to
    the underlying implementations; they are moved to point to the
    errno-setting wrappers.  For the functions also present in libc,
    compat symbol handling for the libc copies needs to go in ldbl-opt
    wrappers, but the type-generic templates can handle it for the libm
    copies.  There is no need for w_scalbln_template.c to disable the
    creation of an unused internal alias (such code made sense in the
    context of patches trying to avoid any changes to generated code for
    ease of comparison, but can be removed in a change that specifically
    does intend to change details of where symbols point).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * math/w_scalbln_template.c (strong_alias): Do not undefine and
        redefine.
        * sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
        macro.
        (ldexpl): Only define as compat symbol for libc, not libm.
        (scalbnl): Define as compat symbol for libc here.
        * sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
        define for [IS_IN (libc)].
        (__ldexpl_2): Remove alias.
        (ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
        (scalbnl): Likewise.  Use __wrap_scalbnl not __ldexpl_2 as base
        name in long_double_symbol call.
        * sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
        Remove macro.
        [IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
        Define as compat symbol.

commit 3ca622e4d6054c0b99b2df36580462663edc8d12
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Sep 12 18:52:05 2017 -0300

    posix: Fix compat glob code on s390 and alpha
    
    This patch fixes the compat glob implementation consolidation from
    commit 116f1c64d with the following changes:
    
      - Add a compat implementation on s390 to avoid the architecture
        to build the symbols on default linux oldglob.c by setting
        GLOB_NO_OLD_VERSION.
    
      - Remove the duplicate rule to build oldglob on alpha.
    
    Checked on s390-linux-gnu and alpha-linux-gnu using build-many-glibc.py.
    
        * sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file.
        * sysdeps/unix/sysv/linux/alpha/Makefile
        [$(subdir) = csu] (sysdep_routines): Remove rule.

commit 620ff9eea68d8edf0cdfb1e5cbb653993002484e
Author: Joseph Myers <address@hidden>
Date:   Wed Sep 13 01:13:30 2017 +0000

    Define and use libm_alias_double.
    
    Continuing the process of setting up common macros for libm function
    aliases, with a view to using them to define _FloatN / _FloatNx
    aliases in future, this patch adds a libm_alias_double macro and uses
    it in the type-generic templates.
    
    This macro handles defining aliases for double, and for long double in
    the NO_LONG_DOUBLE case.  It also handles defining compat symbols for
    long double = double for architectures that changed their long double
    format.  By so doing, it eliminates the need for the
    M_LIBM_NEED_COMPAT and declare_mgen_libm_compat macros; the single
    declare_mgen_alias call in each template now suffices to define all
    required compat symbols.  When used for more double functions (not
    based on type-generic templates), I expect it will eliminate the need
    for most ldbl-opt wrappers for such functions.
    
    A few special cases are needed.  __clog10l is a public symbol (for
    historical reasons) so needs to be given appropriate compat versions
    for architectures that changed their long double format, but is not
    defined as an alias using the normal macros since __clog10* are *not*
    public symbols for _FloatN / _FloatNx types.  For scalbn, scalbln and
    log1p, the changes adding errno setting support for those functions
    left compat symbols pointing directly to the non-errno-setting
    implementations.  There is no requirement for the compat symbols not
    to set errno; that just made for the simplest patches at that time.
    Now, with these common macros, it's natural to redirect the compat
    symbols to the errno-setting wrappers, which I intend to do in a
    separate patch.
    
    Tested for x86_64, and with build-many-glibcs.py.  For ldbl-opt
    platforms the stripped libm.so binaries are changed (disassembly
    unchanged) because the details of how the clog10l compat symbol is
    created mean it ceases to be weak as it was before; for other
    platforms, stripped libm.so binaries are unchanged.
    
    2017-09-13  Joseph Myers  <address@hidden>
    
        * sysdeps/generic/libm-alias-double.h: New file.
        * sysdeps/ieee754/ldbl-opt/libm-alias-double.h: Likewise.
        * sysdeps/generic/math-type-macros-double.h: Include
        <libm-alias-double.h>.
        [declare_mgen_alias] (declare_mgen_alias): Define to use
        libm_alias_double.
        * sysdeps/generic/math-type-macros.h [!M_LIBM_NEED_COMPAT]
        (M_LIBM_NEED_COMPAT): Remove macro.
        [!M_LIBM_NEED_COMPAT] (declare_mgen_libm_compat): Likewise.
        * sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Remove.
        * math/cabs_template.c [M_LIBM_NEED_COMPAT]: Remove conditional
        code.
        * math/carg_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/cimag_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/conj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/creal_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_cacos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_cacosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_casin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_casinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_catan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_catanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_ccos_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_ccosh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_cexp_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_clog10_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_clog_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_cpow_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_cproj_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_csin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_csinh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_csqrt_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_ctan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_ctanh_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_fdim_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_fmax_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_fmin_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/s_nan_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * math/w_ilogb_template.c [M_LIBM_NEED_COMPAT]: Likewise.
        * sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
        * sysdeps/ieee754/ldbl-opt/s_ldexp.c (M_LIBM_NEED_COMPAT): Remove
        macro.
        (declare_mgen_alias): New macro.
        * sysdeps/ieee754/ldbl-opt/w_log1p.c: New file.
        * sysdeps/ieee754/ldbl-opt/w_scalbln.c: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.c
        (M_LIBM_NEED_COMPAT): Remove macro.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c
        [HAVE_AS_VIS3_SUPPORT]: Include <math_ldbl_opt.h> and
        <first-versions.h>.
        [HAVE_AS_VIS3_SUPPORT && LONG_DOUBLE_COMPAT (libm,
        FIRST_VERSION_libm_fdiml)]: Define fdiml as compat symbol.

commit a891caff7a911227627eb147e9bfcb7737b2bc2b
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 12 20:00:00 2017 +0000

    Remove declare_mgen_alias_2.
    
    The libm template machinery includes a macro declare_mgen_alias_2, to
    define two function aliases rather than one.  This macro is only used
    in one place, to define ldexp and scalbn, and only has one nondefault
    definition, for double in the case where long double has the same
    format.  That definition is because declare_mgen_alias for double, in
    that case, defines <internal-func>l as an alias of <internal-func>, so
    cannot be called twice for aliases of the same function.
    
    Now, I suspect the <internal-func>l aliases are generally not needed
    (with maybe a few exceptions such as __clog10l, which is an exported
    function).  But even in the presence of them, there is no need for a
    special declare_mgen_alias_2 macro for this case.  This patch
    eliminates the need for such a macro by defining __wrap_scalbn<suffix>
    as an alias of __ldexp<suffix>, and then using that when defining the
    scalbn public aliases.  This is similar to how such internal aliases
    are created for functions with multiple symbol versions, for example.
    
    Tested for x86_64, and with build-many-glibcs.py.  (There *are* some
    cases where installed stripped shared libraries change - not in the
    generated code but because such changes to static symbols on input to
    ld, even nonexported symbols that don't affect the code or dynamic
    symbols, can affect the particular representation in the output of
    string tables, hash tables etc.)
    
        * sysdeps/generic/math-type-macros.h [!declare_mgen_alias_2]
        (declare_mgen_alias_2): Remove.
        * sysdeps/generic/math-type-macros-double.h
        [NO_LONG_DOUBLE && !declare_mgen_alias_2] (declare_mgen_alias_2):
        Likewise.
        * math/s_ldexp_template.c (M_SUF (__wrap_scalbn)): Define strong
        alias.
        (ldexp): Define with declare_mgen_alias.
        (scalbn): Likewise.

commit a1a78204162561872634d517b82e8a865c7058cc
Author: Steve Ellcey <address@hidden>
Date:   Tue Sep 12 10:21:48 2017 -0700

    Remove compat from DEFAULT_CONFIG lookup strings
    
        * grp/initgroups.c: Include config.h.
        (DEFAULT_CONFIG): New macro.
        (internal_getgrouplist): Use DEFAULT_CONFIG.
        * nscd/initgrcache.c (addinitgroupsX): Likewise.
        * nss/nsswitch.c (__nss_disable_nscd): Likewise.
        (DEFAULT_DEFCONFIG): New macro.
        (__nss_database_lookup): Use DEFAULT_DEFCONFIG.
        * nss/grp-lookup.c: Include config.h
        (DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL.
        * nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise.
        * nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise.
        * manual/nss.texi: Update default values section.

commit ef8adeb0416309082c41a1518caee6961b5c42e8
Author: H.J. Lu <address@hidden>
Date:   Tue Sep 12 07:46:11 2017 -0700

    x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967]
    
    AVX512 functions in mathvec are used on machines with AVX512.  An AVX2
    wrapper is also provided and it can be used when the AVX512 version
    isn't profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-features.
    If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in GLIBC_TUNABLES
    environment variable, the AVX2 wrapper will be used.
    
    Tested on x86-64 machines with and without AVX512.  Also verified
    glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.
    
        [BZ #21967]
        * sysdeps/x86/cpu-features.h (bit_arch_MathVec_Prefer_No_AVX512):
        New.
        (index_arch_MathVec_Prefer_No_AVX512): Likewise.
        * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
        Handle MathVec_Prefer_No_AVX512.
        * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h
        (IFUNC_SELECTOR): Return AVX2 version if MathVec_Prefer_No_AVX512
        is set.

commit a166531fdf601560a0005479427f60d3173f8257
Author: Samuel Thibault <address@hidden>
Date:   Tue Sep 12 01:34:19 2017 +0200

    hurd: Fix build without NO_HIDDEN
    
        * posix/sched_primax.c (__sched_get_priority_max): Add
        libc_hidden_def.
        * posix/sched_primin.c (__sched_get_priority_min): Likewise.
        * sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
        * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
        * sysdeps/mach/hurd/mprotect.c (__mprotect): Likewise.
        * sysdeps/mach/hurd/munmap.c (__munmap): Likewise.
        * sysdeps/mach/hurd/dl-sysdep.c (__GI___getpid,
        __GI___strtoul_internal, __GI_____strtoul_internal, __GI___chk_fail,
        __GI___fortify_fail, __GI___assert_fail, __GI___assert_perror_fail):
        Add aliases.

commit 4b7d1efb51a529a1391e7326ef90cb51139d7eb6
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 11 23:21:25 2017 +0000

    Define and use a libm_alias_float macro.
    
    Fully supporting TS 18661-3 _FloatN / _FloatNx types in the cases
    where they have the same format as other supported types (in line with
    the principles described at
    <https://sourceware.org/ml/libc-alpha/2017-01/msg00333.html>) means
    adding a lot of function aliases to libm (and a few to libc).  float
    functions will have *f32 aliases, double functions will have *f32x and
    *f64 aliases, long double functions may have *f64x, *f128 or both
    aliases depending on the configuration, float128 functions have have
    *f64x aliases depending on the configuration.
    
    At present, most individual libm functions have their own weak_alias
    calls to define the public names for those functions.  For TS 18661-3
    support, it is desirable that functions not all need to duplicate the
    logic for which alias names to define.
    
    Thus, common macros for defining the public aliases to a libm function
    make sense.  In the double and long double cases, such macros will
    also help simplify existing code (with LONG_DOUBLE_COMPAT
    etc. conditionals), by eliminating existing conditionals and ldbl-opt
    / ldbl-64-128 wrappers (using the generated ldbl-compat-choose.h to
    allow a single macro definition to expand appropriately for each
    symbol depending on LONG_DOUBLE_COMPAT for that symbol).
    
    This patch starts the process of adding such macros with a
    straightforward case: a libm_alias_float macro, initially only used in
    the case of type-generic templates, to define aliases for float
    functions (currently just the *f public names, in future also *f32).
    Future patches are intended to add such macros for other types and to
    extend the cases in which they are used, with a view to as many places
    as possible using them before support for _FloatN / _FloatNx aliases
    is enabled.  (I think it's inevitable that some places doing
    architecture-specific things with aliases and symbol versioning may
    end up needing to replicate logic for the new aliases, but hopefully
    the number of such places can be kept to a minimum.)
    
    The libm_alias_float macro takes unsuffixed names for both the
    internal and public function names.  The need for unsuffixed public
    names is obvious, since such macros will end up defining multiple
    public names with different suffixes.  Unsuffixed internal names are
    because I expect the ldbl-128 functions to end up in a form that
    always defines *f128 names and sometimes also defines *l names - with
    the main internal names being e.g. __ieee754_<func>f128 (so many
    macros in float128_private.h can go away).  But __ieee754_<func>l
    aliases will still be needed for e.g. use from math/ complex
    functions, meaning the alias macro needs to see just __ieee754_<func>
    as internal name so it can create an alias based on that name.  Since
    libm_alias_float128 will thus need the unsuffixed internal name, it
    seems to make sense for all such macros to receive the unsuffixed
    name.
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
        * sysdeps/generic/libm-alias-float.h: New file.
        * sysdeps/generic/math-type-macros-float.h: Include
        <libm-alias-float.h>.
        [!declare_mgen_alias] (declare_mgen_alias): Define macro.

commit 45ff34638f034877b6a490c217d6a0632ce263f4
Author: H.J. Lu <address@hidden>
Date:   Mon Sep 11 08:18:11 2017 -0700

    x86: Add x86_64 to x86-64 HWCAP [BZ #22093]
    
    Before glibc 2.26, ld.so set dl_platform to "x86_64" and searched the
    "x86_64" subdirectory when loading a shared library.  ld.so in glibc
    2.26 was changed to set dl_platform to "haswell" or "xeon_phi", based
    on supported ISAs.  This led to shared library loading failure for
    shared libraries placed under the "x86_64" subdirectory.
    
    This patch adds "x86_64" to x86-64 dl_hwcap so that ld.so will always
    search the "x86_64" subdirectory when loading a shared library.
    
    NB: We can't set x86-64 dl_platform to "x86-64" since ld.so will skip
    the "haswell" and "xeon_phi" subdirectories on "haswell" and "xeon_phi"
    machines.
    
    Tested on i686 and x86-64.
    
        [BZ #22093]
        * sysdeps/x86/cpu-features.c (init_cpu_features): Initialize
        GLRO(dl_hwcap) to HWCAP_X86_64 for x86-64.
        * sysdeps/x86/dl-hwcap.h (HWCAP_COUNT): Updated.
        (HWCAP_IMPORTANT): Likewise.
        (HWCAP_X86_64): New enum.
        (HWCAP_X86_AVX512_1): Updated.
        * sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): Add "x86_64".
        * sysdeps/x86_64/Makefile (tests): Add tst-x86_64-1.
        (modules-names): Add x86_64/tst-x86_64mod-1.
        (LDFLAGS-tst-x86_64mod-1.so): New.
        ($(objpfx)tst-x86_64-1): Likewise.
        ($(objpfx)x86_64/tst-x86_64mod-1.os): Likewise.
        (tst-x86_64-1-clean): Likewise.
        * sysdeps/x86_64/tst-x86_64-1.c: New file.
        * sysdeps/x86_64/tst-x86_64mod-1.c: Likewise.

commit 891abfd3c088c4bbfe724ff5bcfb9fca35db6d7d
Author: Siddhesh Poyarekar <address@hidden>
Date:   Mon Sep 11 05:50:49 2017 +0530

    Update translations

commit 3bdfd9fbed7165e75624845a3dab13f42b899096
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 10 21:09:28 2017 +0200

    sunrpc/tst-udp-nonblocking: Fix timeout value
    
    This a follow-up to 00c3da4 ('sunrpc/tst-udp-timeout: Fix timeout value')
    
    * sunrpc/tst-udp-nonblocking.c (do_test): Increase timeout to 0.75
    seconds.

commit 65b22ebc615e6cbb3e8e9102762c362a9d9ecffd
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 10 17:39:39 2017 +0200

    Fix $(error) use in Makefile
    
    * elf/rtld-Rules: Fix $(error) use.

commit 00c3da43ace363315fb9e70a6d4696de0630f6cf
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 10 14:37:28 2017 +0200

    sunrpc/tst-udp-timeout: Fix timeout value
    
    2.3 is not representable with double, and thus leads to rounding issues if
    the clock is not very precise and the measured delay is then exactly 2.3.
    
        * sunrpc/tst-udp-timeout.c (test_udp_server): Increase timeout to 2.5
        seconds.

commit 96480903ab6f16cba475c02e32827fa4bf2b62b7
Author: Mike FABIAN <address@hidden>
Date:   Sat Sep 9 12:01:06 2017 +0200

    Finish change from “Bengali” to “Bangla”
    
    “Bengali” still remained in some comments in the bn_BD locale file,
    in iso-639.def and in a test input file. Change it there as well.
    “Bangla” is now used as the English name for this language in CLDR.
    
        [BZ #14925]
        * libio/tst-widetext.input: Change “Bengali” to “Bangla”.
        * locale/iso-639.def: Change “Bengali” to “Bangla”.
        * localedata/locales/bn_BD: “Bengali” was still used in some
        comments. Change it to “Bangla”.

commit 4c03a696800e3bb4b433626a65c4fef465dcc98b
Author: Markus Trippelsdorf <address@hidden>
Date:   Fri Sep 8 19:57:12 2017 +0000

    Update x86_64 ulps for AMD Ryzen.
    
        * sysdeps/x86_64/fpu/libm-test-ulps: Update for AMD Ryzen.

commit 9c9ec58197d1e18db6f7b39f7dc08b0f5f61df4e
Author: Steve Ellcey <address@hidden>
Date:   Fri Sep 8 11:02:09 2017 -0700

    Add thunderx2t99 and thunderx2t99p1 CPU names to tunables list
    
        * manual/tunables.texi (glibc.tune.cpu): Add thunderx2t99 and
        thunderx2t99p1 to list of cpu names.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
        Add thunderx2t99 and thunderx2t99p1 entries to cpu_list.

commit f00bce744e12996a30b7ac5851b001b1dd7beaa9
Author: Steve Ellcey <address@hidden>
Date:   Fri Sep 8 10:59:53 2017 -0700

    Fix glibc.tune.cpu tunable handling
    
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (get_midr_from_mcpu):
        Use strcmp instead of tunable_is_name.

commit af1b7c8ca2fa46fc52c6801869f7f54579be8a23
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 8 16:20:23 2017 +0000

    Add Linux 4.13 constants to bits/fcntl-linux.h.
    
    This patch adds new interfaces (F_GET_RW_HINT etc., and associated
    RW[FH]_WRITE_LIFE_*) from Linux 4.13 to bits/fcntl-linux.h
    (conditional on __USE_GNU).
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
        (F_GET_RW_HINT): New macro.
        [__USE_GNU] (F_SET_RW_HINT): Likewise.
        [__USE_GNU] (F_GET_FILE_RW_HINT): Likewise.
        [__USE_GNU] (F_SET_FILE_RW_HINT): Likewise.
        [__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise.
        [__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise.
        [__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise.
        [__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise.
        [__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise.
        [__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise.

commit 27342d1783449fe837ac42e9b382b2868af3256f
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 8 16:19:21 2017 +0000

    Add fcntl sealing interfaces from Linux 3.17 to bits/fcntl-linux.h.
    
    While reviewing Linux 4.13 for glibc header changes needed, I noticed
    that bits/fcntl-linux.h was missing F_ADD_SEALS etc. from Linux 3.17.
    
    I didn't find any discussion indicating this omission is deliberate.
    Now, these interfaces can only be used with file descriptors created
    with memfd_create, and we don't have a memfd_create wrapper in glibc
    (a patch was submitted in October 2014, albeit without documentation /
    tests, and discussions continued over the next few months, but without
    consensus on whether to add the interface - and we still lack any
    general consensus on syscall wrappers), but I don't think that's a
    reason to exclude the constants from bits/fcntl-linux.h (especially as
    the header does not look compatible with simultaneously including
    linux/fcntl.h).
    
    (Some of those 2014/2015 discussions raised concerns about difficulty
    using the memfd_create / sealing interface, but those seem to me more
    like a question of whether it should be part of the OS-independent GNU
    API - in my view, even fairly specialized syscalls ought to have
    wrappers added to glibc if not obsolescent, but there may be cases
    where we only want to include them in the Linux-specific API and
    anything in the OS-independent GNU API should be different - rather
    than being relevant to whether constants for use with fcntl should
    appear in headers.)
    
        * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
        (F_ADD_SEALS): New macro.
        [__USE_GNU] (F_GET_SEALS): Likewise.
        [__USE_GNU] (F_SEAL_SEAL): Likewise.
        [__USE_GNU] (F_SEAL_SHRINK): Likewise.
        [__USE_GNU] (F_SEAL_GROW): Likewise.
        [__USE_GNU] (F_SEAL_WRITE): Likewise.

commit 07b4f49db285f39594859c58893e3404b33200dd
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Sep 5 11:02:24 2017 -0300

    posix: Use enum for __glob_pattern_type result
    
    This patch replaces the internal integer constant from
    __glob_pattern_type return with a proper enum.
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        * posix/glob_internal.h (glob_pattern_type_t): New enumeration.
        (__glob_pattern_type): Use __glob_pat_types.
        * posix/glob_pattern_p.c (__glob_pattern_p): Likewise.
        * posix/glob.c (glob): Likewise.
        (glob_in_dir): Likewise.

commit 116f1c64d8d84ecbf269ac70a35657aa057f26c3
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 18:07:03 2017 -0300

    posix: Consolidate Linux glob implementation
    
    This patch consolidates the glob implementation.  The main changes are:
    
      * On Linux all implementation now uses the default one at
        sysdeps/unix/sysv/linux/glob{free}{64}.c with the exception
        of alpha (which requires specific versioning) and s390-32 (which
        different than other 32 bits ports it does not add a compat one
        symbol for 2.1 version).
    
      * The default implementation uses XSTAT_IS_XSTAT64 to define whether
        both glob{free} and glob{free}64 should be different implementations.
        For archictures that define XSTAT_IS_XSTAT64, glob{free} is an alias
        to glob{free}64.
    
      * Move i386 olddirent.h header to Linux default directory, since it is
        the only header with this name and it is shared among different
        architectures (and used on compat glob symbol as well).
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        * sysdeps/unix/sysv/linux/arm/glob64.c: Remove file.
        * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/m68k/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/glob.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
        * sysdeps/wordsize-64/glob.c: Likewise.
        * sysdeps/wordsize-64/glob64.c: Likewise.
        * sysdeps/wordsize-64/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/glob.c: New file.
        * sysdeps/unix/sysv/linux/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/globfree.c: Likewise.
        * sysdeps/unix/sysv/linux/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/glob64.c: Likewise.
        * sysdeps/unix/sysv/linux/oldglob.c [SHLIB_COMPAT]: Also
        adds !GLOB_NO_OLD_VERSION as an extra condition.
        * sysdeps/unix/sysv/linux/i386/alphasort64.c: Include olddirent.h
        using relative path instead of absolute one.
        * sysdeps/unix/sysv/linux/i386/getdents64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
        * sysdeps/unix/sysv/linux/i386/olddirent.h: Move to ...
        * sysdeps/unix/sysv/linux//olddirent.h: ... here.

commit ffca890177bbf0980b66bc3a6d4d25c481957348
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 17:07:16 2017 -0300

    posix: fix glob bugs with long login names
    
    Current glob implementation allows unlimited user name for home
    directory construction on GLOB_TILDE case.  To accomplish it glob
    either construct a name on stack if size are small enough (based
    on current alloca_used) or in heap otherwise.
    
    This patch simplifies storage allocation by using the same scratch
    buffer for both get_rlogin_r and getpwnam_r.
    
    This also syncs with gnulib commit 064df0b (glob: fix bugs with long
    login names).
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        * posix/glob.c (GET_LOGIN_NAME_MAX): Remove.
        (glob): Use the same scratch buffer for both getlogin_r and
        getpwnam_r.  Don’t require preallocation of the login name.  This
        simplifies storage allocation, and corrects the handling of
        long login names.

commit 5a79f97554af6f2eb0a654f844b3d1f56937064d
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 17:00:03 2017 -0300

    posix: Fix getpwnam_r usage (BZ #1062)
    
    This patch fixes longstanding misuse of errno after getpwnam_r,
    which returns an error number rather than setting errno.  This is
    sync with gnulib commit 5db9301.
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        [BZ #1062]
        * posix/glob.c (glob): Port recent patches to platforms
        lacking getpwnam_r.
        (glob): Fix longstanding misuse of errno after getpwnam_r, which
        returns an error number rather than setting errno.

commit e00f2425996829632de5abff88bc1797558ce92e
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 16:44:12 2017 -0300

    Sync scratch_buffer with gnulib
    
    This patch syncs the scratch_buffer grom gnulib commit 3866ef6 with
    GLIBC code.
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        * include/scratch_buffer.h (scratch_buffer): Use a C99 align method
        instead of GCC extension.
        * malloc/scratch_buffer_grow.c [!_LIBC]: Include libc-config.h.
        * malloc/scratch_buffer_grow_preserve.c [!_LIBC]: Likewise.
        * malloc/scratch_buffer_set_array_size.c [!_LIBC]: Likewise.

commit 5554304f0dddf75dc27cc6250fc53355161fd16a
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 16:22:28 2017 -0300

    posix: Allow glob to match dangling symlinks [BZ #866]
    
    This patch makes glob match dangling symlinks.  Compared to other glob
    implementation (*BSD, bash, musl, and other shells as well), GLIBC seems
    the be the only one that does not match dangling symlinks.  As for
    comment #5 in BZ #866, POSIX does not have any strict specification for
    dangling symlinks match and it is reasonable that trying to glob everything
    in a path should return all types of files (such as for a 'rm *').  Also,
    comment #7 shows even more example where GLIBC current behavior is
    unexepected.
    
    I avoided adding another GNU specific flag to set this behavior and
    instead make it the default.  Although this change the semanthic from
    previous implementation, I think adding another compat symbol to be
    really unecessary as from aforementioned reasons (current behavior not
    defined in any standard, general idea of different implementation is
    to list dangling symbols).
    
    This also sync glob with gnulib commit fd1daf4 (glob: match dangling
    symlinks).
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        [BZ #866]
        [BZ #1062]
        * posix/Makefile (tests): Remove bug-glob1 and tst-glob_symlinks.
        * posix/bug-glob1.c: Remove file.
        * posix/tst-glob_symlinks.c: New file.
        * posix/glob.c (__lstat64): New macro.
        (is_dir): New function.
        (glob, glob_in_dir): Match symlinks even if they are dangling.
        (link_stat, link_exists_p): Remove.  All uses removed.

commit 686f2ea18374a541d203cfcc0e1dfba1666f49c2
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 14:55:25 2017 -0300

    posix: accept inode 0 is a valid inode number (BZ #19971)
    
    According to this kernel commit 2adc376c55194, d_ino 0 is a regular inode
    number on Linux (which also matches POSIX, as it does not treat the value
    as special).  This patch makes glob accept is a valid inode number.
    
    This is also a sync with gnulib commit c8e57c1.
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        [BZ #1062]
        [BZ #19971]
        * posix/glob.c (struct readdir_result): Remove skip_entry member.
        (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
        All uses removed.

commit c66c908230169c1bab1f83b071eb585baa214b9f
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Sep 4 14:53:38 2017 -0300

    posix: Sync glob with gnulib [BZ #1062]
    
    This patch syncs posix/glob.c implementation with gnulib version
    b5ec983 (glob: simplify symlink detection).  The only difference
    to gnulib code is
    
      * DT_UNKNOWN, DT_DIR, and DT_LNK definition in the case there
        were not already defined.  Gnulib code which uses
        HAVE_STRUCT_DIRENT_D_TYPE will redefine them wrongly because
        GLIBC does not define HAVE_STRUCT_DIRENT_D_TYPE.  Instead
        the patch check for each definition instead.
    
    Also, the patch requires additional globfree and globfree64 files
    for compatibility version on some architectures.  Also the code
    simplification leads to not macro simplification (not need for
    NO_GLOB_PATTERN_P anymore).
    
    Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py
    for all major architectures.
    
        [BZ #1062]
        * posix/Makefile (routines): Add globfree, globfree64, and
        glob_pattern_p.
        * posix/flexmember.h: New file.
        * posix/glob_internal.h: Likewise.
        * posix/glob_pattern_p.c: Likewise.
        * posix/globfree.c: Likewise.
        * posix/globfree64.c: Likewise.
        * sysdeps/gnu/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/oldglob.c: Likewise.
        * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise.
        * sysdeps/wordsize-64/globfree.c: Likewise.
        * sysdeps/wordsize-64/globfree64.c: Likewise.
        * posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead.
        [NDEBUG): Remove comments.
        (GLOB_ONLY_P, _AMIGA, VMS): Remove define.
        (dirent_type): New type.  Use uint_fast8_t not
        uint8_t, as C99 does not require uint8_t.
        (DT_UNKNOWN, DT_DIR, DT_LNK): New macros.
        (struct readdir_result): Use dirent_type.  Do not define skip_entry
        unless it is needed; this saves a byte on platforms lacking d_ino.
        (readdir_result_type, readdir_result_skip_entry):
        New functions, replacing ...
        (readdir_result_might_be_symlink, readdir_result_might_be_dir):
         these functions, which were removed.  This makes the callers
        easier to read.  All callers changed.
        (D_INO_TO_RESULT): Now empty if there is no d_ino.
        (size_add_wrapv, glob_use_alloca): New static functions.
        (glob, glob_in_dir): Check for size_t overflow in several places,
        and fix some size_t checks that were not quite right.
        Remove old code using SHELL since Bash no longer
        uses this.
        (glob, prefix_array): Separate MS code better.
        (glob_in_dir): Remove old Amiga and VMS code.
        (globfree, __glob_pattern_type, __glob_pattern_p): Move to
        separate files.
        (glob_in_dir): Do not rely on undefined behavior in accessing
        struct members beyond their bounds.  Use a flexible array member
        instead
        (link_stat): Rename from link_exists2_p and return -1/0 instead of
        0/1.  Caller changed.
        (glob): Fix memory leaks.
        * posix/glob64 (globfree64): Move to separate file.
        * sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define.
        (globfree64): Remove hidden alias.
        * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add
        oldglob.
        * sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to
        separate file.
        * sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove
        define.
        Move compat code to separate file.
        * sysdeps/wordsize-64/glob.c (globfree): Move definitions to
        separate file.

commit 78bfa877b36e8f33c99cbe9a16eb73f5a2adc0c8
Author: H.J. Lu <address@hidden>
Date:   Thu Sep 7 13:56:58 2017 -0700

    Use "static const char domain[] ="
    
        * resolv/tst-resolv-qtypes.c (domain): Changed to
        "const char domain[] =".

commit 85bec0f2a03bc0a1623b69622005ea4af9331395
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 7 14:50:32 2017 +0000

    Use MPFR 3.1.6 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default MPFR
        version to 3.1.6.

commit 5c23ee6eb8aad96e2761b8478a61e28faebfb9f0
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 7 14:29:38 2017 +0000

    Update netinet/tcp.h from Linux 4.13.
    
    This patch updates sysdeps/gnu/netinet/tcp.h to include new
    definitions from include/uapi/linux/tcp.h in Linux 4.13.
    
    Tested for x86_64.
    
        * sysdeps/gnu/netinet/tcp.h (TCP_ULP): New macro.
        (TCP_MD5SIG_EXT): Likewise.
        (TCP_MD5SIG_FLAG_PREFIX): Likewise.
        (struct tcp_md5sig): Replace __tcpm_pad1 by tcpm_flags and
        tcpm_prefixlen.  Rename __tcpm_pad2 to __tcpm_pad.

commit 05f0011fb0e5cb318c3bf12d078f3e3184d97e88
Author: Joseph Myers <address@hidden>
Date:   Thu Sep 7 14:28:36 2017 +0000

    Add SOL_TLS definition from Linux 4.13.
    
    This patch adds the new SOL_TLS constant from Linux 4.13 to the Linux
    bits/socket.h.
    
    Tested for x86_64.
    
        * sysdeps/unix/sysv/linux/bits/socket.h (SOL_TLS): New macro.

commit 7c9c5be96f4598afb0d954189d3a908820c79a6a
Author: Mike FABIAN <address@hidden>
Date:   Thu Sep 7 09:43:35 2017 +0200

    Use ASCII in LC_TIME of om_ET for better readability
    
        * localedata/locales/om_ET (LC_TIME): use ASCII for better readability.

commit ae214523ee132c9ab73882f5c3e8c0e668c49638
Author: Akhilesh Kumar <address@hidden>
Date:   Thu Sep 7 08:33:25 2017 +0530

    Remove redundant LC_TIME data in om_KE which is identical to the data in 
om_ET
    
        [BZ #22100]
        * locales/om_KE (LC_TIME): copy "om_ET".

commit 507fe02799e7dbaba9ebaf3264731fc3b928ba77
Author: Samuel Thibault <address@hidden>
Date:   Thu Sep 7 00:51:17 2017 +0200

    hurd: fix gethostname(NULL, 0)
    
        * hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
        before assuming that the file is empty.  Avoid testing buffer content
        when nread == 0.

commit 7bbbb4b9f7033be9ffbaf691d886b23b363bcf53
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Sep 6 14:52:56 2017 -0300

    Add ChangeLog bugzilla mark for previous commit

commit 65687ac76c1640e4e01920c0d7c20aff374e6b8c
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Sep 6 14:35:23 2017 -0300

    Remove remaining _HAVE_STRING_ARCH_* definitions (BZ #18858)
    
    Since the removal of bits/string.h, _HAVE_STRING_ARCH_* are no
    longer used.  This patch removes the unused macros from i686
    and x86_64 sysdeps folder.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
        * sysdeps/i386/i686/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy):
        Remove define.
        * sysdeps/x86_64/multiarch/stpcpy.c (_HAVE_STRING_ARCH_stpcpy):
        Likewise.
        * sysdeps/x86_64/multiarch/strcspn.c (_HAVE_STRING_ARCH_strcspn):
        Likewise.
        * sysdeps/x86_64/multiarch/strncat.c (_HAVE_STRING_ARCH_strncat):
        Likewise.
        * sysdeps/x86_64/multiarch/strncpy.c (_HAVE_STRING_ARCH_strncpy):
        Likewise.
        * sysdeps/x86_64/multiarch/strpbrk.c (_HAVE_STRING_ARCH_strpbrk):
        Likewise.
        * sysdeps/x86_64/multiarch/strspn.c (_HAVE_STRING_ARCH_strspn):
        Likewise.

commit ab5ac271e6210fa0af11cf3ca525ce573bc47c48
Author: Florian Weimer <address@hidden>
Date:   Wed Sep 6 11:25:14 2017 +0200

    __libc_dynarray_emplace_enlarge: Add missing else
    
    Before, arrays of small elements received a starting allocation size of
    8, not 16.

commit a83047308196e3e54716a39dd85c0a08b198d6bd
Author: Florian Weimer <address@hidden>
Date:   Wed Sep 6 15:32:43 2017 +0200

    resolv: __resolv_conf_attach must not free passed conf object [BZ #22096]

commit 5670c4ab256114e869b1df4b05653aa5f909182c
Author: Florian Weimer <address@hidden>
Date:   Wed Sep 6 15:20:25 2017 +0200

    resolv: Fix memory leak with OOM during resolv.conf parsing [BZ #22095]

commit c77eb96925b719001237ca7c9e3cef40d795d66b
Author: Florian Weimer <address@hidden>
Date:   Wed Sep 6 15:11:44 2017 +0200

    nss_dns: Remove dead PTR IPv4-to-IPv6 mapping code

commit 5e9c4d17feb9910f489ad2915d0b6e00597a0f11
Author: Florian Weimer <address@hidden>
Date:   Wed Sep 6 13:43:01 2017 +0200

    tst-res_use_inet6: Enhance test to cover IPv4-to-IPv6 address mapping
    
    This requires more control over the response data, so it is now
    determined by flags embedded in the query name.

commit 2ae5be041d9ea89cdd0f37734d72051e8f773947
Author: Mike FABIAN <address@hidden>
Date:   Wed Sep 6 11:19:33 2017 +0200

    Improve utf8_gen.py to set the width for characters with 
Prepended_Concatenation_Mark property to 1
    
        [BZ #22070]
        * localedata/unicode-gen/utf8_gen.py: Set the width for
        characters with Prepended_Concatenation_Mark property to 1
        * localedata/charmaps/UTF-8: Updated using the improved script.

commit af83ed5c4647bda196fc1a7efebbe8019aa83f4a
Author: Mike FABIAN <address@hidden>
Date:   Fri Aug 18 10:12:29 2017 +0200

    Write all ranges of neighbouring characters with the same width using the 
range notation in charmaps/UTF-8
    
    Writing ranges of neighbouring characters with the same with like this
    
        <U000E0100>...<U000E01EF>       0
    
    in charmaps/UTF-8 is more efficient than writing many single character lines
    like:
    
        <U000E0100>     0
        <U000E0101>     0
        ...
    
        [BZ #21750]
        * unicode-gen/utf8_gen.py: Write all ranges of neighbouring characters
        with the same width using the range notation in charmaps/UTF-8.

commit 4f3647e46e3f645c6516faa299efc6e89d520d7b
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 5 23:35:55 2017 +0000

    Prefer new libm function wrappers for !LIBM_SVID_COMPAT.
    
    The initial obsoletion of SVID libm error handling left the old
    wrappers and __kernel_standard still being used for new ports and
    static linking, just with macro definitions of _LIB_VERSION and
    matherr that meant symbols with those names were never actually used
    and the code for different error handling variants could be optimized
    out.
    
    This patch cleans things up further by eliminating the
    __kernel_standard use for new ports and static linking.  Now, the old
    wrappers no longer generate any code in the !LIBM_SVID_COMPAT case,
    while the new errno-only wrappers that were added for float128 support
    are now also used for float, double and long double in that case.
    
    The changes are generally straightforward.  The w_scalb*_compat
    wrappers continue to be used (scalb is obsolescent in the sense of not
    being supported for float128, but is present in supported standards -
    the 2001 edition of POSIX and earlier XSI versions - so remains
    supported for static linking and new ports, as do the float and long
    double variants that are existing GNU extensions).  Those wrappers
    would only call __kernel_standard in the _LIB_VERSION == _SVID_ case.
    Since we would like to be able to compile most of glibc without
    optimization, relying on a static function whose only use is under an
    if (0) condition being optimized away to avoid an undefined
    __kernel_standard reference may not be a good idea.  Thus, the
    relevant code in the scalb wrappers has LIBM_SVID_COMPAT conditionals
    added to guarantee it's not built at all in the case where
    __kernel_standard does not exist.
    
    Just as i386 has its own w_sqrt_compat.c, so w_sqrt.c is also added.
    ia64 gets dummy w_*.c to prevent those files being built where they
    would conflict with the ia64 libm, as with its existing w_*_compat.c.
    
    Conditions disabling code for !LIBM_SVID_COMPAT are needed in both the
    math/ wrappers and in the long double wrappers in ldbl-opt (to avoid
    them setting up aliases and symbol versions for undefined symbols).  I
    hope that future cleanups to how libm function aliases and symbol
    versioning are done will eliminate the need for most of the ldbl-opt
    wrappers.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        * sysdeps/generic/math-type-macros-double.h: Include
        <math-svid-compat.h>.
        (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
        * sysdeps/generic/math-type-macros-float.h: Include
        <math-svid-compat.h>.
        (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
        * sysdeps/generic/math-type-macros-ldouble.h: Include
        <math-svid-compat.h>.
        (__USE_WRAPPER_TEMPLATE): Define to !LIBM_SVID_COMPAT.
        * math/lgamma-compat.h (BUILD_LGAMMA): Include LIBM_SVID_COMPAT
        condition.
        * math/w_acos_compat.c: Condition contents on [LIBM_SVID_COMPAT].
        * math/w_acosf_compat.c: Likewise.
        * math/w_acosh_compat.c: Likewise.
        * math/w_acoshf_compat.c: Likewise.
        * math/w_acoshl_compat.c: Likewise.
        * math/w_acosl_compat.c: Likewise.
        * math/w_asin_compat.c: Likewise.
        * math/w_asinf_compat.c: Likewise.
        * math/w_asinl_compat.c: Likewise.
        * math/w_atan2_compat.c: Likewise.
        * math/w_atan2f_compat.c: Likewise.
        * math/w_atan2l_compat.c: Likewise.
        * math/w_atanh_compat.c: Likewise.
        * math/w_atanhf_compat.c: Likewise.
        * math/w_atanhl_compat.c: Likewise.
        * math/w_cosh_compat.c: Likewise.
        * math/w_coshf_compat.c: Likewise.
        * math/w_coshl_compat.c: Likewise.
        * math/w_exp10_compat.c: Likewise.
        * math/w_exp10f_compat.c: Likewise.
        * math/w_exp10l_compat.c: Likewise.
        * math/w_exp2_compat.c: Likewise.
        * math/w_exp2f_compat.c: Likewise.
        * math/w_exp2l_compat.c: Likewise.
        * math/w_fmod_compat.c: Likewise.
        * math/w_fmodf_compat.c: Likewise.
        * math/w_fmodl_compat.c: Likewise.
        * math/w_hypot_compat.c: Likewise.
        * math/w_hypotf_compat.c: Likewise.
        * math/w_hypotl_compat.c: Likewise.
        * math/w_j0_compat.c: Likewise.
        * math/w_j0f_compat.c: Likewise.
        * math/w_j0l_compat.c: Likewise.
        * math/w_j1_compat.c: Likewise.
        * math/w_j1f_compat.c: Likewise.
        * math/w_j1l_compat.c: Likewise.
        * math/w_jn_compat.c: Likewise.
        * math/w_jnf_compat.c: Likewise.
        * math/w_jnl_compat.c: Likewise.
        * math/w_lgamma_r_compat.c: Likewise.
        * math/w_lgammaf_r_compat.c: Likewise.
        * math/w_lgammal_r_compat.c: Likewise.
        * math/w_log10_compat.c: Likewise.
        * math/w_log10f_compat.c: Likewise.
        * math/w_log10l_compat.c: Likewise.
        * math/w_log2_compat.c: Likewise.
        * math/w_log2f_compat.c: Likewise.
        * math/w_log2l_compat.c: Likewise.
        * math/w_log_compat.c: Likewise.
        * math/w_logf_compat.c: Likewise.
        * math/w_logl_compat.c: Likewise.
        * math/w_pow_compat.c: Likewise.
        * math/w_powf_compat.c: Likewise.
        * math/w_powl_compat.c: Likewise.
        * math/w_remainder_compat.c: Likewise.
        * math/w_remainderf_compat.c: Likewise.
        * math/w_remainderl_compat.c: Likewise.
        * math/w_sinh_compat.c: Likewise.
        * math/w_sinhf_compat.c: Likewise.
        * math/w_sinhl_compat.c: Likewise.
        * math/w_sqrt_compat.c: Likewise.
        * math/w_sqrtf_compat.c: Likewise.
        * math/w_sqrtl_compat.c: Likewise.
        * math/w_tgamma_compat.c: Likewise.
        * math/w_tgammaf_compat.c: Likewise.
        * math/w_tgammal_compat.c: Likewise.
        * math/w_scalb_compat.c (sysv_scalb): Condition definition on
        [LIBM_SVID_COMPAT].
        (__scalb): Condition call to sysv_scalb on [LIBM_SVID_COMPAT].
        * math/w_scalbf_compat.c (sysv_scalbf): Condition definition on
        [LIBM_SVID_COMPAT].
        (__scalbf): Condition call to sysv_scalbf on [LIBM_SVID_COMPAT].
        * math/w_scalbl_compat.c (sysv_scalbl): Condition definition on
        [LIBM_SVID_COMPAT].
        (__scalbl): Condition call to sysv_scalbl on [LIBM_SVID_COMPAT].
        * sysdeps/i386/fpu/w_sqrt.c: New file.
        * sysdeps/ia64/fpu/w_acos.c: Likewise.
        * sysdeps/ia64/fpu/w_acosf.c: Likewise.
        * sysdeps/ia64/fpu/w_acosh.c: Likewise.
        * sysdeps/ia64/fpu/w_acoshf.c: Likewise.
        * sysdeps/ia64/fpu/w_acoshl.c: Likewise.
        * sysdeps/ia64/fpu/w_acosl.c: Likewise.
        * sysdeps/ia64/fpu/w_asin.c: Likewise.
        * sysdeps/ia64/fpu/w_asinf.c: Likewise.
        * sysdeps/ia64/fpu/w_asinl.c: Likewise.
        * sysdeps/ia64/fpu/w_atan2.c: Likewise.
        * sysdeps/ia64/fpu/w_atan2f.c: Likewise.
        * sysdeps/ia64/fpu/w_atan2l.c: Likewise.
        * sysdeps/ia64/fpu/w_atanh.c: Likewise.
        * sysdeps/ia64/fpu/w_atanhf.c: Likewise.
        * sysdeps/ia64/fpu/w_atanhl.c: Likewise.
        * sysdeps/ia64/fpu/w_cosh.c: Likewise.
        * sysdeps/ia64/fpu/w_coshf.c: Likewise.
        * sysdeps/ia64/fpu/w_coshl.c: Likewise.
        * sysdeps/ia64/fpu/w_exp.c: Likewise.
        * sysdeps/ia64/fpu/w_exp10.c: Likewise.
        * sysdeps/ia64/fpu/w_exp10f.c: Likewise.
        * sysdeps/ia64/fpu/w_exp10l.c: Likewise.
        * sysdeps/ia64/fpu/w_exp2.c: Likewise.
        * sysdeps/ia64/fpu/w_exp2f.c: Likewise.
        * sysdeps/ia64/fpu/w_exp2l.c: Likewise.
        * sysdeps/ia64/fpu/w_expf.c: Likewise.
        * sysdeps/ia64/fpu/w_expl.c: Likewise.
        * sysdeps/ia64/fpu/w_fmod.c: Likewise.
        * sysdeps/ia64/fpu/w_fmodf.c: Likewise.
        * sysdeps/ia64/fpu/w_fmodl.c: Likewise.
        * sysdeps/ia64/fpu/w_hypot.c: Likewise.
        * sysdeps/ia64/fpu/w_hypotf.c: Likewise.
        * sysdeps/ia64/fpu/w_hypotl.c: Likewise.
        * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise.
        * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise.
        * sysdeps/ia64/fpu/w_log.c: Likewise.
        * sysdeps/ia64/fpu/w_log10.c: Likewise.
        * sysdeps/ia64/fpu/w_log10f.c: Likewise.
        * sysdeps/ia64/fpu/w_log10l.c: Likewise.
        * sysdeps/ia64/fpu/w_log2.c: Likewise.
        * sysdeps/ia64/fpu/w_log2f.c: Likewise.
        * sysdeps/ia64/fpu/w_log2l.c: Likewise.
        * sysdeps/ia64/fpu/w_logf.c: Likewise.
        * sysdeps/ia64/fpu/w_logl.c: Likewise.
        * sysdeps/ia64/fpu/w_pow.c: Likewise.
        * sysdeps/ia64/fpu/w_powf.c: Likewise.
        * sysdeps/ia64/fpu/w_powl.c: Likewise.
        * sysdeps/ia64/fpu/w_remainder.c: Likewise.
        * sysdeps/ia64/fpu/w_remainderf.c: Likewise.
        * sysdeps/ia64/fpu/w_remainderl.c: Likewise.
        * sysdeps/ia64/fpu/w_sinh.c: Likewise.
        * sysdeps/ia64/fpu/w_sinhf.c: Likewise.
        * sysdeps/ia64/fpu/w_sinhl.c: Likewise.
        * sysdeps/ia64/fpu/w_sqrt.c: Likewise.
        * sysdeps/ia64/fpu/w_sqrtf.c: Likewise.
        * sysdeps/ia64/fpu/w_sqrtl.c: Likewise.
        * sysdeps/ia64/fpu/w_tgamma.c: Likewise.
        * sysdeps/ia64/fpu/w_tgammaf.c: Likewise.
        * sysdeps/ia64/fpu/w_tgammal.c: Likewise.
        * sysdeps/ieee754/dbl-64/w_exp_compat.c: Condition contents on
        [LIBM_SVID_COMPAT].
        * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
        * sysdeps/ieee754/k_standard.c: Likewise.
        * sysdeps/ieee754/k_standardf.c: Likewise.
        * sysdeps/ieee754/k_standardl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-64-128/w_expl_compat.c: Condition
        long_double_symbol call on [LIBM_SVID_COMPAT].
        * sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c: Condition
        long_double_symbol and compat_symbol calls on [LIBM_SVID_COMPAT].

commit 05b38d64b1a3451d1fa10794b01dbc9bebe6a398
Author: Steve Ellcey <address@hidden>
Date:   Tue Sep 5 12:24:00 2017 -0700

    Fix tests that are testing obsoleted functionality
    
        * include/shlib-compat.h (TEST_COMPAT): New Macro.
        * malloc/tst-mallocstate.c: Convert from test-skeleton
        to test-driver.  Ifdef code using TEST_COMPAT macro.
        * math/test-matherr-2.c: Ifdef test using TEST_COMPAT macro.
        * math/test-matherr.c: Likewise.

commit 99d6791899c43eb31b4d1896134501d814da7741
Author: Joseph Myers <address@hidden>
Date:   Tue Sep 5 15:14:09 2017 +0000

    Fix pcprofiledump cross-endian condition (bug 22086).
    
    debug/pcprofiledump.c contains code that tries to handle other-endian
    data.  This uses a condition "(word & 0xfffffff0) == bswap_32
    (0xdeb00000)".  This condition is always false (the LHS always has the
    low four bits zero, the RHS doesn't); a correct comparison would use
    0x0fffffff.  This results in -Werror=tautological-compare build
    failures with the tile version of bits/byteswap.h and mainline GCC.
    
    https://sourceware.org/ml/libc-testresults/2017-q3/msg00400.html
    
    pcprofiledump.c: In function 'main':
    pcprofiledump.c:118:39: error: bitwise comparison always evaluates to false
    [-Werror=tautological-compare]
       int must_swap = (word & 0xfffffff0) == bswap_32 (0xdeb00000);
                                           ^~
    
    This patch fixes the condition.  Tested for x86_64, and with
    build-many-glibcs.py that it fixes the build for tilegx-linux-gnu.
    (Note that I have not tested the actual pcprofiledump functionality,
    native or cross endian, which lacks any testsuite coverage.)
    
        [BZ #22086]
        * debug/pcprofiledump.c (main): Use byte-swapped mask when
        comparing word with byte-swapped constant.

commit 3f802aeb3403a558426b50d42a50c6bfcc6cc425
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 31 17:27:24 2017 +0200

    Add miq_NI locale for Miskito
    
        [BZ #20498]
        * locale/iso-639.def: add Miskito.
        * localedata/SUPPORTED: Add miq_NI/UTF-8.
        * localedata/locales/miq_NI: New file.

commit 0a587a8a98ca32c98e6b00f557e6af6c8eedc602
Author: H.J. Lu <address@hidden>
Date:   Mon Sep 4 13:38:36 2017 -0700

    Hide __chmod and __mkdir [BZ #18822]
    
    Hide internal __chmod and __mkdir functions to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * include/sys/stat.h (__chmod): Add libc_hidden_proto.
        (__mkdir): Likewise.
        * io/chmod.c (__chmod): Add libc_hidden_def.
        * io/mkdir.c (__mkdir): Likewise.
        * sysdeps/mach/hurd/chmod.c (__chmod): Likewise.
        * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise.
        * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise.
        * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise.

commit 1650e19265e577d2b9e90929cf47895985f32b87
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 4 20:16:07 2017 +0000

    Update kernel version in syscall-names.list to 4.13.
    
    As far as I can tell Linux 4.13 does not add any new syscalls not
    included in syscall-names.list.  This patch updates the version number
    in that file accordingly.
    
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
        version to 4.13.

commit f3a129b872a3d8c5edb3bd8b4b2b26c52f449160
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 4 16:27:16 2017 +0000

    Fix bits/math-finite.h exp10 condition (bug 22082).
    
    bits/math-finite.h handles exp10 if __USE_GNU.  It should use the
    condition __GLIBC_USE (IEC_60559_FUNCS_EXT), as in bits/mathcalls.h.
    This patch fixes the condition.
    
    Tested for x86_64.
    
        [BZ #22082]
        * math/bits/math-finite.h (exp10): Redirect if [__GLIBC_USE
        (IEC_60559_FUNCS_EXT)], not [__USE_GNU].

commit b38042f51430974642616a60afbbf96fd0b98659
Author: Florian Weimer <address@hidden>
Date:   Mon Sep 4 10:52:28 2017 +0200

    math.h: Warn about an already-defined log macro
    
    This is a common programming error, and the cause of the problem is not
    always obvious.
    
    <tgmath.h> defines a log macro, but it includes <math.h> before that, so
    that is compatible with the warning.

commit 059b64046e2ca4e55d28a65ef7235da8eeb525ea
Author: Joseph Myers <address@hidden>
Date:   Mon Sep 4 15:34:58 2017 +0000

    Use Linux 4.13 in build-many-glibcs.py.
    
        * scripts/build-many-glibcs.py (Context.checkout): Default Linux
        kernel version to 4.13.

commit 6547ec0ad8451d72e43ba4ea38c2300c67eb501a
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 19:44:07 2017 +0200

    hurd: fix resolv/tst-resolv-res_init-skeleton.c build
    
        * resolv/tst-resolv-res_init-skeleton.c (run_res_init)
        [!CLONE_NEWUTS]: Fail as unsupported if hostname is not NULL.

commit 492cbbed865ac98e4faa31d7714feeb09f5c418a
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 17:48:33 2017 +0200

    hurd: Fix build ot misc/tst-preadvwritev2-common.c
    
        * misc/tst-preadvwritev2-common.c (RWF_HIPRI, RWF_DSYNC, RWF_SYNC,
        RWF_NOWAIT): Define to 0 if undefined already.
        (do_test_with_invalid_flags): Set invalid_flag to 2 if RWF_SUPPORTED
        boils down to 0.

commit cae3d71212ff1885d9317c22411fe97ccd99e287
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 14:33:35 2017 +0200

    hurd: Fix rtld's strtoul_internal use through hurdlookup
    
        * sysdeps/mach/hurd/dl-sysdep.c (__strtoul_internal): New
        function.

commit 77e7ba3201365565a21b42979b8d44be9936f254
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 14:19:21 2017 +0200

    hurd: fix overriding rtld's __sbrk with the real implementation
    
        * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): Add weak_function
        qualifier.

commit 2ce1f9efd686b5257950977db561ce5a221fee38
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 13:39:33 2017 +0200

    hurd: mach/hurd/x86 also needs x86 tunables
    
        * sysdeps/mach/hurd/x86/dl-sysdep.c: New file.

commit 56bf5497c5da062a514932017d03ecc001605cec
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 13:38:09 2017 +0200

    hurd: mach/hurd/i386 also needs mach/hurd/x86
    
        * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/x86.

commit 1946d950f2235a4790fb5e386b9ba92dff55a930
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 05:32:10 2017 +0200

    hurd: fix libm link
    
        * sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect
        __feraiseexcept_renamed to feraiseexcept instead of
        __GI_feraiseexcept.

commit f85958a74d9e26e7e43a5d3e65d4d77ed47f55ea
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 04:58:00 2017 +0200

    hurd: Fix libc link
    
    This follows db3d848 ('Build divdi3 only for architecture that required
    it').
    
        * sysdeps/mach/hurd/i386/Makefile
        [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object.
        [$(subdir) = csu] (sysdep-only-routines): Likewise.
        [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.

commit 127e7773b437bd5866a4424cc9b338bac6beb08b
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 04:36:29 2017 +0200

    hurd: Fix libc link
    
        * sysdeps/posix/pause.c: Include <sigsetops.h>.
        * sysdeps/posix/system.c: Include <sigsetops.h>.

commit b96aca4d05b2da5d5134b1c3176b16f48db9fe4d
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 04:25:35 2017 +0200

    hurd: Fix rtld link
    
        * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): New function.

commit 819ea3347e3a30a611488ceeec53650baaeb7961
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 04:02:24 2017 +0200

    hurd: Fix rtld link
    
    dl-tunables.c now uses __access_noerrno in addition to __access.
    
        * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): New function.

commit 2263ca7ce8a824f53debcc724bd21cd7099e1161
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 03:03:40 2017 +0200

    hurd: Fix p{read,write}{,v64}v2.c build
    
        * misc/preadv2.c: Include <errno.h>.
        * misc/preadv64v2.c: Include <errno.h>.
        * misc/pwritev2.c: Include <errno.h>.
        * misc/pwritev64v2.c: Include <errno.h>.
        * sysdeps/posix/preadv2.c: Include <errno.h>.
        * sysdeps/posix/preadv64v2.c: Include <errno.h>.
        Fix <unistd.h> inclusion.
        * sysdeps/posix/pwritev2.c: Include <errno.h>.
        * sysdeps/posix/pwritev64v2.c: Include <errno.h>.

commit ed95bf5638748068ef05ccbaa0a008b50ebecb42
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 03:00:32 2017 +0200

    hurd: Fix p{read,write}v64v2.c build
    
        * sysdeps/posix/preadv64v2.c: Use off64_t instead of off_t.
        * sysdeps/posix/pwritev64v2.c: Use off64_t instead of off_t.

commit dd2b31dec0c0e792bec0486d72c8a049eea4bee1
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 02:45:06 2017 +0200

    hurd: Fix p{read,write}{,v64}v2.c build
    
        * sysdeps/posix/preadv2.c: Use off_t instead of OFF_T.
        * sysdeps/posix/preadv64v2.c: Use off_t instead of OFF_T.
        * sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T.
        * sysdeps/posix/pwritev64v2.c: Use off_t instead of OFF_T.

commit 01969395db01fedcd3fb76d76654b24908e5757b
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 02:22:00 2017 +0200

    hurd: Fix getting ssize_t for <sys/socket.h>
    
        * sysdeps/mach/hurd/bits/socket.h: Include <sys/types.h> instead of
        just <bits/types.h>.

commit 06cf9d31d7caa408b35f194cdbdc17462eb935c2
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 01:45:19 2017 +0200

    hurd: Fix sigsetops.h macros
    
        * sysdeps/generic/sigsetops.h: Remove spurious #endif.
        (__sigismember, __sigaddset, __sigdelset): Fix referencing set
        parameter.

commit b794e16bcc9426e9e05ec465c6c8bab2902a50ed
Author: Samuel Thibault <address@hidden>
Date:   Sun Sep 3 01:08:49 2017 +0200

    sysdeps/generic/sigsetops.h: Remove spurious #endif

commit 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 1 21:13:18 2017 +0000

    Obsolete pow10 functions.
    
    This patch obsoletes the pow10, pow10f and pow10l functions (makes
    them into compat symbols, not available for new ports or static
    linking).  The exp10 names for these functions are standardized (in TS
    18661-4) and were added in the same glibc version (2.1) as pow10 so
    source code can change to use them without any loss of portability.
    Since pow10 is deliberately not provided for _Float128, only exp10,
    this slightly simplifies moving to the new wrapper templates in the
    !LIBM_SVID_COMPAT case, by avoiding needing to arrange for pow10,
    pow10f and pow10l to be defined by those templates.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * manual/math.texi (pow10): Do not document.
        (pow10f): Likewise.
        (pow10l): Likewise.
        * math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare.
        * math/bits/math-finite.h [__USE_GNU] (pow10): Likewise.
        * math/libm-test-exp10.inc (pow10_test): Remove.
        (do_test): Do not call pow10.
        * math/w_exp10_compat.c (pow10): Make into compat symbol.
        [NO_LONG_DOUBLE] (pow10l): Likewise.
        * math/w_exp10f_compat.c (pow10f): Likewise.
        * math/w_exp10l_compat.c (pow10l): Likewise.
        * sysdeps/ia64/fpu/e_exp10.S: Include <shlib-compat.h>.
        (pow10): Make into compat symbol.
        * sysdeps/ia64/fpu/e_exp10f.S: Include <shlib-compat.h>.
        (pow10f): Make into compat symbol.
        * sysdeps/ia64/fpu/e_exp10l.S: Include <shlib-compat.h>.
        (pow10l): Make into compat symbol.
        * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove
        pow10.
        (CFLAGS-nldbl-pow10.c): Remove variable..
        * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file.
        * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on
        [SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)].
        * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol):
        Undefine and redefine.
        (pow10l): Make into compat symbol.
        * sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps.
        * sysdeps/alpha/fpu/libm-test-ulps: Likewise.
        * sysdeps/arm/libm-test-ulps: Likewise.
        * sysdeps/hppa/fpu/libm-test-ulps: Likewise.
        * sysdeps/i386/fpu/libm-test-ulps: Likewise.
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
        * sysdeps/microblaze/libm-test-ulps: Likewise.
        * sysdeps/mips/mips32/libm-test-ulps: Likewise.
        * sysdeps/mips/mips64/libm-test-ulps: Likewise.
        * sysdeps/nios2/libm-test-ulps: Likewise.
        * sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
        * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.
        * sysdeps/s390/fpu/libm-test-ulps: Likewise.
        * sysdeps/sh/libm-test-ulps: Likewise.
        * sysdeps/sparc/fpu/libm-test-ulps: Likewise.
        * sysdeps/tile/libm-test-ulps: Likewise.
        * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

commit 3824fc38910f71c2c8cc623e788ff7eb09999642
Author: Paul Pluzhnikov <address@hidden>
Date:   Fri Sep 1 11:35:55 2017 -0700

    2017-09-01  Paul Pluzhnikov  <address@hidden>
    
        * stdlib/tst-atexit-common.c (crumbs): Ensure correct size.

commit b30082799dfcd55ccbffce1dd74179d02ee1f41c
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 1 10:20:49 2017 -0700

    Update tst-regex.c/tst-regex2.c for old ChangeLog move
    
        * posix/tst-regex.c (do_test): Replace "../ChangeLog.8" with
        "../ChangeLog.old/ChangeLog.8".
        * posix/tst-regex2.c (do_test): Replace "../ChangeLog.14" with
        "../ChangeLog.old/ChangeLog.14".

commit 136fa185fdb24a1a6e6fc94e8b84e8f95e510d93
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 1 10:18:37 2017 -0700

    Credit Ulrich Drepper for libpthread in contrib.texi
    
        * manual/contrib.texi: Credit Ulrich Drepper for the POSIX
        Threads Library.

commit c18d50a23b0d77a99afad8b688def52d19362d2f
Author: Joseph Myers <address@hidden>
Date:   Fri Sep 1 17:14:43 2017 +0000

    Include <string.h> for strcmp call from sysdeps/unix/sysv/linux/gentempfd.c.
    
        * sysdeps/unix/sysv/linux/gentempfd.c: Include <string.h>.

commit bedbd85972a67f15688ee7e86bf4d533f2197349
Author: H.J. Lu <address@hidden>
Date:   Fri Sep 1 10:09:08 2017 -0700

    Remove Roland McGrath/Ulrich Drepper et al. from DSO banner
    
        * csu/version.c (banner): Remove "by Roland McGrath et al.".
        * nptl/Banner: Remove "by Ulrich Drepper et al.".

commit 50c66c7acd90f257b295e58bf938ed120cbc27c7
Author: Paul Pluzhnikov <address@hidden>
Date:   Fri Sep 1 09:31:13 2017 -0700

    2017-09-01  Paul Pluzhnikov  <address@hidden>
    
        * stdlib/tst-atexit-common.c (do_test): Test support for at least
        32 atexit handlers.

commit a617bd119f1b36a7ff2d2fdecf0d2f56970d0288
Author: Zack Weinberg <address@hidden>
Date:   Fri Sep 1 11:19:47 2017 -0400

    math/math.h (HUGE_VAL): Improve commentary.

commit ce870587d5055437619680700ee5663a3cec66f6
Author: Zack Weinberg <address@hidden>
Date:   Fri Sep 1 09:31:43 2017 -0400

    Move all old ChangeLogs to a top-level ChangeLog.old directory.

commit e0d2eb5a798613f9c24ad0056da86c8cfd19043d
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jun 26 11:52:14 2017 -0300

    linux: Implement tmpfile with O_TMPFILE (BZ#21530)
    
    This patch adds O_TMPFILE support to tmpfile on Linux.  This is
    similar to the previous suggestion by Andreas Schwab [1] with the
    difference the file descriptor creation is parameterized to
    compartmentalize Linux only open flags (O_TMPFILE) on sysdeps.
    
    Checked on x86_64-linux-gnu.
    
        Adhemerval Zanella  <address@hidden>
        Andreas Schwab  <address@hidden>
    
        [BZ #21530]
        * include/stdio.h (__gen_tempfd): New function.
        * stdio-common/Makefile (routines): Add gentempfd.
        * stdio-common/gentempfd.c: New file.
        * sysdeps/unix/sysv/linux/gentempfd.c: Likewise.
        * stdio-common/tmpfile.c (tmpfile): First try to use a system specific
        unnamed file first.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-06/msg01293.html

commit da162bf23403009af7a7406b9007a8141c4576ab
Author: Zack Weinberg <address@hidden>
Date:   Fri Sep 1 08:04:22 2017 -0400

    Remove obsolete notes at top level of source tree.
    
     * BUGS, CONFORMANCE, NAMESPACE, WUR-REPORT: Deleted.
     * README.pretty-printers, README.tunables: Move to manual/.

commit f4a6be2582b8dfe8adfa68da3dd8decf566b3983
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 09:34:29 2017 +0200

    getaddrinfo: Fix error handling in gethosts [BZ #21915] [BZ #21922]
    
    The old code uses errno as the primary indicator for success or
    failure.  This is wrong because errno is only set for specific
    combinations of the status return value and the h_errno variable.

commit 5f8340f583fe3d4f5734bd2371c5a45ecff2db0d
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 09:15:36 2017 +0200

    getaddrinfo: Return EAI_NODATA if gethostbyname2_r reports NO_DATA [BZ 
#21922]

commit 65329bd233db9d1b8b94e90734a564705b619260
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 08:58:07 2017 +0200

    support_chroot_create: Add support for /etc/hosts, /etc/host.conf

commit a2881ef01450295782b065f2f850f340d5c12c14
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 08:57:52 2017 +0200

    getaddrinfo: In gaih_inet, use h_errno for certain status values only
    
    h_errno is not set for NSS_STATUS_SUCCESS, so its value might not be
    accurate at this point.

commit ad816a5e00ce891a2cea8187638fa0e00f83aaf6
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 08:57:28 2017 +0200

    getaddrinfo: Properly set errno for NSS function lookup failure

commit 53250a21b81474ef4e78090a4a9a63d8471e1091
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 08:57:07 2017 +0200

    getaddrinfo: Use &h_errno has the h_errno pointer
    
    This simplifies the code because it is not necessary to propagate the
    temporary h_errno value to the thread-local variable.  It also increases
    compatibility with NSS modules which update only one of the two places.

commit 924b121c5978689001ae28cf1c8497371dad4f71
Author: Florian Weimer <address@hidden>
Date:   Fri Sep 1 08:56:46 2017 +0200

    getaddrinfo: Use &errno has the errno pointer
    
    Similar code in nss/getXXbyYY_r.c is already using &errno as the
    argument.

commit d9ff799a5b2884d2abc0a1689fb6b2c71084424c
Author: Steve Ellcey <address@hidden>
Date:   Thu Aug 31 13:38:11 2017 -0700

    ILP32 math changes
    
        * sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro.
        * sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise.
        * sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove.
        (IREG_SIZE, OREG_SIZE): New macros.
        * sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove.
        (IREG_SIZE, OREG_SIZE): New macros.
        * sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove.
        (IREG_SIZE): New macro.
        * sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove.
        (IREG_SIZE): New macro.
        * sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h):
        New includes.
        (IREG_SIZE, OREG_SIZE): Initialize if not already set.
        (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
        (__CONCATX): Handle exceptions correctly on large values that may
        set FE_INVALID.
        * sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE):
        Initialize if not already set.
            (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.

commit 102dde842ae75ddee71a413fc8c4320894e159de
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Aug 3 14:29:06 2017 -0300

    Remove NO_CANCELLATION macro
    
    The NO_CANCELLATION macro is used currently on generic headers to
    define non cancellable syscalls and on Linux fcntl to implement the non
    cancellable variation.  Former should be single-handled by not-cancel.h
    header and former could be simplified build both cancellable and non
    cancellable for default objects and alias the non-cancellable to default
    one for rtld ones (since Linux already support cancellation as default).
    
    This patch thus removes the NO_CANCELLATION macro and its usage.  The
    generic non cancellable fcntl is route to internal fcntl.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.  Also checked with
    a build again major ABIs.
    
        * sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro.
        * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
        (NO_CANCELLATION): Likewise.
        * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
        (NO_CANCELLATION): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
        (NO_CANCELLATION): Likewise.
        * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION):
        Likewise
        * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION):
        Likewise.
        * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add
        hidden prototype.
        * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only
        for !IS_IN (rtld) and remove NO_CANCELLATION usage.

commit 9eee633b68649c94b2404f65d5c9a00c3ed1f068
Author: Steve Ellcey <address@hidden>
Date:   Thu Aug 31 10:34:55 2017 -0700

    Change  argument type passed to ifunc resolvers
    
        * sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
        in resolver call.

commit 65284eb7a80fad685e1fc1898fc212ec87ed03fd
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 18:31:04 2017 +0200

    libc-symbols.h: Remove definition of internal_function

commit 41ad5ca60e45c865b6195e9e18082882076aa0dc
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 18:30:38 2017 +0200

    stdlib: Remove internal_function attribute

commit 2fa6d086d15f15f2fde50bcac5f552f652d3ef36
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 18:30:02 2017 +0200

    stdio-common: Remove internal_function attribute

commit b41bd5bc83b23f62f6f0815d20ed1e1185c58086
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 18:25:55 2017 +0200

    posix: Remove internal_function attribute

commit 83b09837ed5c106840d0f069a81eed41a646bff3
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 17:50:26 2017 +0200

    nptl: Remove internal_function attribute

commit 116ac301b1825f3e50e32d4b0974b1ad34345a14
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 17:41:25 2017 +0200

    io: Remove internal_function attribute

commit 9da93bd7c64ed38e95fe307ed3d33a73e389d6b6
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 17:35:16 2017 +0200

    inet: Remove internal_function attribute

commit c0c49d60cfeff3b2aa801d6598143a073989654a
Author: Joseph Myers <address@hidden>
Date:   Thu Aug 31 16:39:25 2017 +0000

    Simplify NAN definitions.
    
    Similar to my patches for HUGE_VAL and INFINITY. this patch eliminates
    the bits/nan.h headers.  __builtin_nanf ("") is used to define NAN for
    GCC 3.3 and later; the fallback is (0.0f / 0.0f), which is a constant
    expression for a quiet NaN of type float, but raises a spurious
    "invalid" exception outside static initializers, which seems the best
    that can be done purely in standard C.  Again, if anyone actually uses
    a compiler with its own incompatible extension for producing a
    constant quiet NaN, we can add compiler conditionals.
    
    Tested for x86_64.
    
        *  math/math.h [__USE_ISOC99] (NAN): Define directly here.  Do not
        include <bits/nan.h>.
        * math/Makefile (headers): Remove bits/nan.h.
        * bits/nan.h: Remove.
        * sysdeps/ieee754/bits/nan.h: Likewise.
        * sysdeps/mips/bits/nan.h: Likewise.

commit 5ef1b2138d4236bb3616e612c5bc4dc328a9ffb2
Author: Joseph Myers <address@hidden>
Date:   Thu Aug 31 16:12:46 2017 +0000

    Simplify INFINITY definitions.
    
    Similar to my patch for HUGE_VAL, this patch eliminates the bits/inf.h
    headers and just unconditionally uses the same definitions as the
    sysdeps/ieee754 version did (__builtin_inff () for GCC >= 3.3,
    otherwise HUGE_VALF), directly in math.h, so removing an unnecessary
    level of indirection.
    
    Tested for x86_64.
    
        * math/math.h [__USE_ISOC99] (INFINITY): Define directly here.  Do
        not include <bits/inf.h>.
        * math/Makefile (headers): Remove bits/inf.h.
        * bits/inf.h: Remove.
        * sysdeps/ieee754/bits/inf.h: Likewise.

commit a60eca2e55e2372e21f0d19b1dc5cac61a48ee50
Author: Joseph Myers <address@hidden>
Date:   Thu Aug 31 15:50:50 2017 +0000

    Simplify HUGE_VAL definitions.
    
    There are various bits/huge_val*.h headers to define HUGE_VAL and
    related macros.  All of them use __builtin_huge_val etc. for GCC 3.3
    and later.  Then there are various fallbacks, such as using a large
    hex float constant for GCC 2.96 and later, or using unions (with or
    without compound literals) to construct the bytes of an infinity, with
    this last being the reason for having architecture-specific files.
    Supporting TS 18661-3 _FloatN / _FloatNx types that have the same
    format as other supported types will mean adding more such macros;
    needing to add more headers for them doesn't seem very desirable.
    
    The fallbacks based on bytes of the representation of an infinity do
    not meet the standard requirements for a constant expression.  At
    least one of them is also wrong: sysdeps/sh/bits/huge_val.h is
    producing a mixed-endian representation which does not match what GCC
    does.
    
    This patch eliminates all those headers, defining the macros directly
    in math.h.  For GCC 3.3 and later, the built-in functions are used as
    now.  For other compilers, a large constant 1e10000 (with appropriate
    suffix) is used.  This is like the fallback for GCC 2.96 and later,
    but without using hex floats (which have no apparent advantage here).
    It is unambiguously valid standard C for all floating-point formats
    with infinities, which covers all formats supported by glibc or likely
    to be supported by glibc in future (C90 DR#025 said that if a
    floating-point format represents infinities, all real values lie
    within the range of representable values, so the constraints for
    constant expressions are not violated), but may generate compiler
    warnings and wouldn't handle the TS 18661-1 FENV_ROUND pragma
    correctly.  If someone is actually using a compiler with glibc that
    does not claim to be GCC 3.3 or later, but which has a better way to
    define the HUGE_VAL macros, we can always add compiler conditionals in
    with alternative definitions.
    
    I intend to make similar changes for INF and NAN.  The SNAN macros
    already just use __builtin_nans etc. with no fallback for compilers
    not claiming to be GCC 3.3 or later.
    
    Tested for x86_64.
    
        * math/math.h: Do not include bits/huge_val.h, bits/huge_valf.h,
        bits/huge_vall.h or bits/huge_val_flt128.h.
        (HUGE_VAL): Define directly here.
        [__USE_ISOC99] (HUGE_VALF): Likewise.
        [__USE_ISOC99] (HUGE_VALL): Likewise.
        [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (HUGE_VAL_F128): Likewise.
        * math/Makefile (headers): Remove bits/huge_val.h,
        bits/huge_valf.h, bits/huge_vall.h and bits/huge_val_flt128.h.
        * bits/huge_val.h: Remove.
        * bits/huge_val_flt128.h: Likewise.
        * bits/huge_valf.h: Likewise.
        * bits/huge_vall.h: Likewise.
        * sysdeps/ia64/bits/huge_vall.h: Likewise.
        * sysdeps/ieee754/bits/huge_val.h: Likewise.
        * sysdeps/ieee754/bits/huge_valf.h: Likewise.
        * sysdeps/m68k/m680x0/bits/huge_vall.h: Likewise.
        * sysdeps/sh/bits/huge_val.h: Likewise.
        * sysdeps/sparc/bits/huge_vall.h: Likewise.
        * sysdeps/x86/bits/huge_vall.h: Likewise.

commit 17e00cc69eac2ec10ac69a3f85db0dffc9d73845
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 16:59:37 2017 +0200

    elf: Remove internal_function attribute

commit 8d2f9410d5f93e0ca15c9efe48a97d04726152c2
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 16:16:07 2017 +0200

    gmon: Remove internal_function attribute

commit 86e4919f574f0b33db8a7de187c1291710d94f0f
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 16:12:03 2017 +0200

    dlfcn: Remove internal_function attribute

commit 59bd52b087671504bff3176e8417e56da1ca2085
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 16:07:52 2017 +0200

    resolv: Remove internal_function attribute

commit fc3d94979e1f04df2014b4c1a01c39a0a74f12c3
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 16:02:40 2017 +0200

    dirent: Remove internal_function attribute

commit 18c54facf1ba6125abab0eb6080630c1847e8819
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:33:27 2017 +0200

    Linux getcwd: Remove internal_function attribute

commit 7e01f080e8231ab38b0896a1cc66c660af4b98e9
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:58:09 2017 +0200

    time: Remove the internal_function attribute

commit d7ccc6c983632f89064e0405e724ca6e9c1b9e1e
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 15 17:52:59 2017 +0200

    iconv, intl, locale, wcsmbs: Remove internal_function
    
    Also adjust parts of the time subdirectory.

commit dab0eecef632487f01460900ede02874092c9169
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:57:00 2017 +0200

    aio: Remove internal_function function attribute

commit ab5bf7cf7628dda64701e47b149575f0f7c896bf
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:56:45 2017 +0200

    misc: Remove internal_function function attribute

commit 75b3047eac76779f4e7902a9f47a6410bfdcc32f
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:56:32 2017 +0200

    NSS: Remove internal_function function attribute

commit 0c71122c0cee483a4e6abcdbe78a1595eefe86e2
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:56:21 2017 +0200

    malloc: Remove the internal_function attribute

commit ca4ec8039628cac6600541472b068be7535d4bb4
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 15:55:36 2017 +0200

    sunrpc: Remove internal_function attribute

commit 24cffce7366c4070d8f823702a4fcec2cb732595
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 14:55:11 2017 +0200

    malloc: Resolve compilation failure in NDEBUG mode
    
    In _int_free, the locked variable is not used if NDEBUG is defined.

commit ecd0747df388f3925d4839740b0abcf43d0a9fb2
Author: H.J. Lu <address@hidden>
Date:   Thu Aug 31 06:28:31 2017 -0700

    Place $(elf-objpfx)sofini.os last [BZ #22051]
    
    Since sofini.os terminates .eh_frame section, it should be placed last.
    
        [BZ #22051]
        * Makerules (build-module-helper-objlist): Filter out
        $(elf-objpfx)sofini.os.
        (build-shlib-objlist): Append $(elf-objpfx)sofini.os if it is
        needed.

commit 5f0704b66cea73cf2ab148ec4cff645cc301fd8c
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 14:07:23 2017 +0200

    libio: Assume _LIBC, weak_alias, errno, (__set_)errno &c are defined
    
    Do not define _POSIX_SOURCE.

commit 5129873a8e913e207e5f7b4b521c72f41a1bbf6d
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 31 12:02:59 2017 +0200

    malloc: Change top_check return type to void
    
    After commit ec2c1fcefb200c6cb7e09553f3c6af8815013d83,
    (malloc: Abort on heap corruption, without a backtrace), the function
    always returns 0.

commit 8715f256302cab595eaf9589b3f4341f1dab020d
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 31 12:56:07 2017 +0200

    Fix decimal point and thousands separator in es_CU locale to agree with 
CLDR.
    
        [BZ #15332]
        * locales/es_CU (LC_MONETARY): use “,” for mon_decimal_point
        and “.” for mon_thousands_sep (to agree with CLDR)
        * locales/es_CU (LC_NUMERIC): Likewise.

commit d6e290a6ca822a42a69acde42e7b5003ae185534
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 30 19:13:45 2017 +0530

    Remove redundant data in li_BE which is identical to the data in li_NL
    
        [BZ #22044]
        * locales/li_BE (LC_TIME): copy "li_NL".

commit 4fa9b3bfe6759c82beb4b043a54a3598ca467289
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 30 22:02:04 2017 +0000

    Fix mcontext_t sigcontext namespace (bug 21457).
    
    This patch completes the ucontext.h namespace fixes by fixing issues
    related to the use of struct sigcontext as mcontext_t, and inclusion
    of <bits/sigcontext.h> even when struct sigcontext is not so used.
    
    Inclusion of <bits/sigcontext.h> by <sys/ucontext.h> is removed; the
    way to get the sigcontext structure is by including <signal.h> (in a
    context where __USE_MISC is defined); the sysdeps/generic version of
    sys/ucontext.h keeps the inclusion by necessity, with a comment about
    how this is not namespace-clean, but the only configuration that used
    it, MicroBlaze, gets its own version of the header in this patch.
    Where mcontext_t was typedefed to struct sigcontext, the contents of
    struct sigcontext are inserted (with appropriate namespace handling to
    prefix fields with __ when __USE_MISC is not defined); review should
    check that this has been done correctly in each case, whether the
    definition of struct sigcontext comes from glibc headers or from the
    Linux kernel.  This changes C++ name mangling on affected
    architectures (which do not include x86_64/x86).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
    2017-08-14  Joseph Myers  <address@hidden>
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h: Do not include <bits/sigcontext.h>.
        * sysdeps/generic/sys/ucontext.h: Add comment about use of struct
        sigcontext and namespace requirements.
        * sysdeps/i386/sys/ucontext.h: Do not include <bits/sigcontext.h>.
        * sysdeps/m68k/sys/ucontext.h: Likewise.
        * sysdeps/mips/sys/ucontext.h: Likewise.  Include <bits/types.h>.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use
        __glibc_reserved1 instead of __reserved.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): New macro.
        (struct __ia64_fpreg_mcontext): New type.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        (_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext.
        (uc_sigmask): Define using __ctx.
        (uc_stack): Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.  Include <bits/types.h>.
        * conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove.
        (test-xfail-XPG42/sys/wait.h/conform): Likewise.
        (test-xfail-XPG42/ucontext.h/conform): Likewise.
        (test-xfail-UNIX98/signal.h/conform): Likewise.
        (test-xfail-UNIX98/sys/wait.h/conform): Likewise.
        (test-xfail-UNIX98/ucontext.h/conform): Likewise.
        (test-xfail-XOPEN2K/signal.h/conform): Likewise.
        (test-xfail-XOPEN2K/sys/wait.h/conform): Likewise.
        (test-xfail-XOPEN2K/ucontext.h/conform): Likewise.
        (test-xfail-POSIX2008/signal.h/conform): Likewise.
        (test-xfail-POSIX2008/sys/wait.h/conform): Likewise.
        (test-xfail-XOPEN2K8/signal.h/conform): Likewise.
        (test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise.

commit 5898f4548efdcd7c0fd437a74eeb80facc51a117
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 30 20:10:56 2017 +0200

    dynarray: Set errno on overflow-induced allocation failure
    
    This allows the caller to return directly on such an error, with an
    appropriate errno value.

commit a9da0bb2667ab20f1dbcd0a9ae6846db02fbc96a
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 30 17:16:08 2017 +0200

    malloc: Remove corrupt arena flag
    
    This is no longer needed because we now abort immediately
    once heap corruption is detected.

commit ac3ed168d0c0b2b702319ac0db72c9b475a8c72e
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 30 19:29:38 2017 +0200

    malloc: Remove check_action variable [BZ #21754]
    
    Clean up calls to malloc_printerr and trim its argument list.
    
    This also removes a few bits of work done before calling
    malloc_printerr (such as unlocking operations).
    
    The tunable/environment variable still enables the lightweight
    additional malloc checking, but mallopt (M_CHECK_ACTION)
    no longer has any effect.

commit 44bcba80f309b7517f8f954b0389e60eb421373b
Author: Steve Ellcey <address@hidden>
Date:   Wed Aug 30 09:25:51 2017 -0700

    aarch64: Fix tst-makecontext3 in ILP32 mode.
    
        * sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext):
        Use pointer to uint64_t instead of long int for sp.

commit ec2c1fcefb200c6cb7e09553f3c6af8815013d83
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 30 16:39:41 2017 +0200

    malloc: Abort on heap corruption, without a backtrace [BZ #21754]
    
    The stack trace printing caused deadlocks and has been itself been
    targeted by code execution exploits.

commit 9ce673b69e82578044958f66d93dcaddb23f6e95
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 30 16:20:20 2017 +0200

    Do not scale NPTL tests with available number of CPUs
    
    On very large multi-processor systems, creating hundreds of threads
    runs into a test time out.  The tests do not seem to benefit from
    massive over-scheduling.

commit 8a0e619652cd6846e04a55cb380d7a7205b65e27
Author: Mike FABIAN <address@hidden>
Date:   Wed Aug 30 15:19:39 2017 +0200

    Use “.” in thousands_sep in the ca_ES locale
    
        [BZ #16148]
        * locales/ca_ES (LC_NUMERIC): Use “.” in thousands_sep.
        And make it more readable by using ASCII.

commit 5f9409b787c5758fc277f8d1baf7478b752b775d
Author: Mike FABIAN <address@hidden>
Date:   Wed Aug 30 15:01:44 2017 +0530

    Add country_name for mni_IN
    
        [BZ #22022]
        * locales/mni_IN (LC_ADDRESS): Add country_name.

commit 232d9190611b7eb7cdb84034ef73724a718ffee6
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 30 14:09:02 2017 +0530

    Fix abbreviated weeks and months for Somali to agree with CLDR
    
        [BZ #22038]
        * locales/so_DJ (LC_TIME): Fix abday, abmon and
        make t_fmt in the comment agree with the value of t_fmt.
        * locales/so_ET (LC_TIME): Fix abday (From Axa to Axd)
        * locales/so_KE (LC_TIME): Fix abday (From Axa to Axd)
        * locales/so_SO (LC_TIME): Fix abday (From Axa to Axd)

commit bdbf14d12e38264dac72db00eed219ad37ceb953
Author: Wei-Lun Chao <address@hidden>
Date:   Tue Aug 29 16:52:32 2017 +0200

    Update hanzi collation by stroke
    
        [BZ #21951]
            * locales/cns11643_stroke: Update hanzi collation by stroke
            (Add license declaration, use strokes by component).

commit 2f1aef195924fe33cd9d3f8772b2688ced7244ee
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 29 21:07:51 2017 +0000

    Fix m68k bits/math-inline.h macro namespace (bug 22035).
    
    As shown by build bot failures
    <https://sourceware.org/ml/libc-testresults/2017-q3/msg00349.html> the
    m68k bits/mathinline.h is not namespace-clean: it fails to compile if
    the user has defined macros f or l before it is included, because of
    expansions of those arguments to __inline_functions.  This patch
    changes the __inline_functions definitions to take not the suffix but
    a macro that concatenates it with the function name, to avoid the
    spurious macro expansions.
    
    Tested for m68k with build-many-glibcs.py.
    
        [BZ #22035]
        * sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__inline_functions):
        Define to take a second argument that is a macro that
        concatentates a suffix, not the suffix itself.
        (__CONCAT_d): New macro.
        (__CONCAT_f): Likewise.
        (__CONCAT_l): Likewise.

commit 8325b477b14353aa62192d0fdc7e883e5ced75d1
Author: Paul Pluzhnikov <address@hidden>
Date:   Tue Aug 29 10:42:42 2017 -0700

    2017-08-29  Paul Pluzhnikov  <address@hidden>
    
        * stdlib/tst-atexit-common.c (do_test): Test handler inheritance
        by child.

commit 319cbbf633ae60d7b4b89fcbb11a734f4d7d22f0
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Aug 29 18:31:08 2017 +0100

    MIPS/o32: Fix internal_syscall5/6/7
    
    Fix a commit cc25c8b4c119 ("New pthread rwlock that is more scalable.")
    regression and prevent uncontrolled stack space usage from happening
    when a 5-, 6- or 7-argument syscall wrapper is placed in a loop.
    
    The cause of the problem is the use of `alloca' in regular MIPS/Linux
    wrappers to force the use of the frame pointer register in any function
    using one or more of these wrappers.  Using the frame pointer register
    is required so as not to break frame unwinding as the the stack pointer
    is lowered within the inline asm used by these wrappers to make room for
    the stack arguments, which 5-, 6- and 7-argument syscalls use with the
    o32 ABI.
    
    The regular MIPS/Linux wrappers are macros however, expanded inline, and
    stack allocations made with `alloca' are not discarded until the return
    of the function they are made in.  Consequently if called in a loop,
    then virtual memory is wasted, and if the loop goes through enough
    iterations, then ultimately available memory can get exhausted causing
    the program to crash.
    
    Address the issue by replacing the inline code with standalone assembly
    functions, which rely on the compiler arranging syscall arguments
    according to the o32 function calling convention, which MIPS/Linux
    syscalls also use, except for the syscall number passed and the error
    flag returned.  This way there is no need to fiddle with the stack
    pointer anymore and all that has to be handled in the new standalone
    functions is the special handling of the syscall number and the error
    flag.
    
    Redirect 5-, 6- or 7-argument MIPS16/Linux syscall wrappers to these new
    functions as well, so as to avoid an unnecessary double call the
    existing wrappers would cause with the new arrangement.
    
        [BZ #21956]
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
        [subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
        `mips16-syscall6' and `mips16-syscall7'.
        (CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
        (CFLAGS-mips16-syscall7.c): Remove.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
        Remove `__mips16_syscall5', `__mips16_syscall6' and
        `__mips16_syscall7'.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
        (__mips16_syscall0): Rename `__mips16_syscall_return' to
        `__mips_syscall_return'.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
        (__mips16_syscall1): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
        (__mips16_syscall2): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
        (__mips16_syscall3): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
        (__mips16_syscall4): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
        Remove.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
        Remove.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
        Remove.
        * sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
        (__mips16_syscall5): Expand to `__mips_syscall5' rather than
        `__mips16_syscall5'.  Remove prototype.
        (__mips16_syscall6): Expand to `__mips_syscall6' rather than
        `__mips16_syscall6'.  Remove prototype.
        (__mips16_syscall7): Expand to `__mips_syscall7' rather than
        `__mips16_syscall7'.  Remove prototype.
        (__nomips16, __mips16_syscall_return): Move to...
        * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
        (__nomips16, __mips_syscall_return): ... here.
        [__mips16] (INTERNAL_SYSCALL_NCS): Rename
        `__mips16_syscall_return' to `__mips_syscall_return'.
        [__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
        `internal_syscall##nr'.
        [!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
        `internal_syscall##nr'.
        (FORCE_FRAME_POINTER): Remove.
        (__mips_syscall5): New prototype.
        (internal_syscall5): Rewrite to call `__mips_syscall5'.
        (__mips_syscall6): New prototype.
        (internal_syscall6): Rewrite to call `__mips_syscall6'.
        (__mips_syscall7): New prototype.
        (internal_syscall7): Rewrite to call `__mips_syscall7'.
        * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
        * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
        * sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
        * sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
        (sysdep_routines): Add libc-do-syscall.
        * sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
        `__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.

commit 01b87c656f670863ce437421b8e9278200965d38
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Aug 28 11:24:35 2017 -0300

    ia64: Fix thread stack allocation permission set (BZ #21672)
    
    This patch fixes ia64 failures on thread exit by madvise the required
    area taking in consideration its disjoing stacks
    (NEED_SEPARATE_REGISTER_STACK).  Also the snippet that setup the
    madvise call to advertise kernel the area won't be used anymore in
    near future is reallocated in allocatestack.c (for consistency to
    put all stack management function in one place).
    
    Checked on x86_64-linux-gnu and i686-linux-gnu for sanity (since
    it is not expected code changes for architecture that do not
    define NEED_SEPARATE_REGISTER_STACK) and also got a report that
    it fixes ia64-linux-gnu failures from Sergei Trofimovich
    <address@hidden>.
    
        [BZ #21672]
        * nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
        Set to use !NEED_SEPARATE_REGISTER_STACK as well.
        (advise_stack_range): New function.
        * nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
        stack non required to advise_stack_range at allocatestack.c

commit 16f138a49ad1815e113d2b5b7a87f26999ade811
Author: Szabolcs Nagy <address@hidden>
Date:   Tue Aug 29 16:31:08 2017 +0100

    [AArch64] Fix procfs.h not to expose stdint.h types
    
    Commit 39e7a5a66828a60008543db5f03f46dc7081668b added stdint.h
    to sys/procfs.h, but it is included into signal.h by default and
    there is code that does not expect stdint.h to be visible there,
    so use __uint64_t instead of uint64_t.

commit 251bccfa1fcb3568e43546b0df33e052889406c1
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 29 17:33:58 2017 +0200

    iconv_open: Fix heap corruption on gconv_init failure [BZ #22026]
    
    Also mangle the __end_fct function pointer on the error handling
    path.

commit e7c18b9d0aacb02f9d6edffdf4d1e26a54fbfb84
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 29 16:51:20 2017 +0200

    iconv: Mangle __btowc_fct even without __init_fct [BZ #22025]

commit 7daada0319613fec8c2a10b28eed911f4d359a6a
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 29 14:15:37 2017 +0000

    Fix bits/math-finite.h _MSUF_ expansion namespace (bug 22028).
    
    The current bits/math-finite.h approach to defining functions for
    different types, involving math.h defining _MSUF_ and _MSUFTO_ for the
    function suffixes involved, is not namespace-clean if one of those
    suffixes (f, l, f128) is defined as a macro by the user before math.h
    is included; too many levels of macro expansion occur.  Instead, those
    suffixes should appear directly in the expansion of the macro using ##
    so they don't get expanded even if defined as macros by the user (that
    is, math.h should be defining __REDIRFROM_X and __REDIRTO_X directly
    to use those suffixes rather than suffixes being passed as an argument
    by macro callers).  This patch makes that change.
    
    Tested for x86_64.
    
        [BZ #22028]
        * math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
        (_MSUF_): Remove macro.
        [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_):
        Likewise.
        [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
        (__REDIRFROM_X): New macro.
        [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X):
        Likewise.
        * math/bits/math-finite.h (__REDIRFROM_X): Remove macro.
        (__REDIRTO_X): Likewise.
        (__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro
        arguments.
        (__MATH_REDIRCALL_2): Likewise.
        (__MATH_REDIRCALL_INTERNAL): Likewise.
        (__REDIRFROM (lgamma, , _MSUF_)): Likewise.
        (__REDIRFROM (gamma, , _MSUF_)): Likweise.
        (__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise.
        (__REDIRFROM (tgamma, , _MSUF_)): Likewise.
        * math/test-finite-macros.c: New file.
        * math/Makefile (tests): Add test-finite-macros.
        (CFLAGS-test-finite-macros.c): New variable.

commit 1cf1232cd4721dc155a5cf7d571e5b1dae506430
Author: Patsy Franklin <address@hidden>
Date:   Tue Aug 29 15:53:28 2017 +0200

    gconv: Consistently mangle NULL function pointers [BZ #22025]
    
    Not mangling NULL pointers is not safe because with very low
    probability, a non-NULL function pointer can turn into a NULL pointer
    after mangling.

commit f11f2f6e145d6fc6b52f6b0733599f8b96595733
Author: Mike FABIAN <address@hidden>
Date:   Tue Aug 29 13:39:18 2017 +0200

    Use “,” as mon_decimal_point for ru_RU and os_RU locales (follow CLDR)
    
        [BZ #13805]
        * locales/ru_RU (LC_MONETARY): Use “,” for mon_decimal_point
        (to agree with CLDR).
        * locales/ru_RU (LC_NUMERIC): Write mon_decimal_point in ASCII
        for readability.
        * locales/os_RU (LC_MONETARY): Copy from ru_RU,
        makes it agree with CLDR.

commit f8de9568d81bf47bcc85d2918d529b6cd0b19519
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 23 09:57:23 2017 +0530

    Add locale for mfe_MU
    
    Add locale for “Morisyen” which is also called “Mauritian Creole”
    and is spoken in Mauritius.
    
        [BZ #21971]
        * localedata/SUPPORTED: Add mfe_MU/UTF-8.
        * localedata/locales/mfe_MU: New File.
    
        [BZ #21971]
        * locale/iso-639.def: add Morisyen.

commit 15cf43a999857de1ad2745b838cb3d73ce45c7e1
Author: Mike FABIAN <address@hidden>
Date:   Tue Aug 29 10:54:53 2017 +0200

    Use NFC for the strings in “day”, “yesstr”, and “nostr” in the 
sgs_LT locale
    
        * locales/sgs_LT (LC_TIME): Use NFC for the strings in “day”.
        * locales/sgs_LT (LC_MESSAGES): Use NFC for “yesstr” and 
“nostr”.

commit 42496114ec0eb7d6d039d05d4262e109951c600c
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Aug 22 16:34:42 2017 -0300

    Provide a C++ version of iszero that does not use __MATH_TG (bug 21930)
    
    When signaling nans are enabled (with -fsignaling-nans), the C++ version
    of iszero uses the fpclassify macro, which is defined with __MATH_TG.
    However, when support for float128 is available, __MATH_TG uses the
    builtin __builtin_types_compatible_p, which is only available in C mode.
    
    This patch refactors the C++ version of iszero so that it uses function
    overloading to select between the floating-point types, instead of
    relying on fpclassify and __MATH_TG.
    
    Tested for powerpc64le, s390x, x86_64, and with build-many-glibcs.py.
    
        [BZ #21930]
        * math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
        (iszero): New C++ implementation that does not use
        fpclassify/__MATH_TG/__builtin_types_compatible_p, when
        signaling nans are enabled, since __builtin_types_compatible_p
        is a C-only feature.
        * math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
        defined, include ieee754_float128.h for access to the union and
        member ieee854_float128.ieee.
        [__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
        [__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
        * sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
        (CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
        options of test-math-zero on powerpc64le.

commit 56bc7f43603b5d28437496efb32df40997c62cb4
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Aug 28 12:04:04 2017 +0200

    Fix country_name in zu_ZA to agree with CLDR
    
        [BZ #21959]
        * locales/zu_ZA (LC_ADDRESS): Fix country name to agree with CLDR.

commit 5e2bc4ff3377bb94fd1baf9fef7751c61eca2118
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 28 08:45:53 2017 -0700

    x86_64 __redirect_ieee754_expf: Change double to float
    
    __redirect_ieee754_expf has type float, not double.
    
        * sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf):
        Change double to float.

commit a48c0fb4b4c322a0e0214f59516b9bb7883352f8
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 28 15:19:52 2017 +0000

    Simplify math-svid-compat code.
    
    Now there are no more assembly wrappers using _LIB_VERSION or
    __kernel_standard, the math-svid-compat code can be slighly
    simplified.  math-svid-compat.h no longer needs __ASSEMBLER__
    conditionals, and the _LIB_VERSION variable no longer needs to be
    built for static libm, since all references are now in C code that
    includes math-svid-compat.h and so gets the macro definition of
    _LIB_VERSION to _POSIX_ outside the compat case.  This patch makes
    those cleanups.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * math/math-svid-compat.h [!__ASSEMBLER__]: Make code
        unconditional.
        * sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove
        conditional code; define contents only for [LIBM_SVID_COMPAT].

commit ee17d4e99af9e49378217209d3708053ef148032
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 28 13:47:25 2017 +0200

    Remove abi-*-options compiler flags
    
    These options are no longer needed since commit
    2dba5ce7b8115d6a2789bf279892263621088e74 (<bits/syscall.h>: Use an
    arch-independent system call list on Linux).

commit 45a4f49ee520eb09b1ff58c4e9dbddb135a14b64
Author: Samuel Thibault <address@hidden>
Date:   Mon Aug 28 14:19:55 2017 +0200

    hurd: Remove duplicate symbol version
    
    * hurd/Versions (GLIBC_2.4): Remove __stack_chk_fail.
    * mach/Versions (GLIBC_2.4): Remove __stack_chk_fail.

commit 6f4fc73ec9d0d8bc7d8755ff1e54cc51257a110b
Author: Samuel Thibault <address@hidden>
Date:   Mon Aug 28 14:16:08 2017 +0200

    hurd: Fix typo
    
    * hurd/Versions: Fix typo.
    * mach/Versions: Fix typo.

commit 2dba5ce7b8115d6a2789bf279892263621088e74
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 28 11:31:23 2017 +0200

    <bits/syscall.h>: Use an arch-independent system call list on Linux
    
    This commit changes the way the list of SYS_* system call macros is
    created on Linux.  glibc now contains a list of all known system
    calls, and the generated <bits/syscall.h> file defines the SYS_ macro
    only if the correspnding __NR_ macro is defined by the kernel headers.
    
    As a result, glibc does not have to be rebuilt to pick up system calls
    if the glibc sources already know about them.  This means that glibc
    can be built with older kernel headers, and if the installed kernel
    headers are upgraded afterwards, additional SYS_ macros become
    available as long as glibc has a record for those system calls.

commit 5f3b183d198b39ca993a41aadb02bddd9fde078d
Author: Paul Pluzhnikov <address@hidden>
Date:   Sun Aug 27 19:10:40 2017 -0700

    2017-08-27  Paul Pluzhnikov  <address@hidden>
    
        * stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests.
        (tst-cxa_atexit, tst-on_exit): Likewise.
        * stdlib/Makefile (tests): Add tst-atexit, tst-at_quick_exit,
        tst-cxa_atexit, and tst-on_exit.
        * stdlib/tst-atexit-common.c: New file.
        * stdlib/tst-atexit.c: New file.
        * stdlib/tst-at_quick_exit.c: New file.
        * stdlib/tst-cxa_atexit.c: New file.
        * stdlib/tst-on_exit.c: New file.

commit 99ee4d26dc07c3eadfbf6793db26ef9dfb1551e5
Author: Samuel Thibault <address@hidden>
Date:   Sun Aug 27 22:26:49 2017 +0200

    hurd: Fix static initialization with -fstack-protector-strong
    
    When linked statically, TLS initialization is not achieved before
    mach_init and alike, so ssp accesses to tcbhead's stack_guard would
    crash.  We can just avoid using ssp in the few functions needed before
    TLS is set up.
    
        * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
        CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
        CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
        CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
        * hurd/Makefile (CFLAGS-hurdstartup.o,
        CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).

commit 97e02ad23392f929862d6a04643e7f2fd91baebc
Author: Samuel Thibault <address@hidden>
Date:   Sun Aug 27 22:10:17 2017 +0200

    hurd: fix build with -fstack-protector-strong
    
    libmachuser and libhurduser also need stack_chk_fail_local and they do not
    link against libc_nonshared.
    
           * mach/stack_chk_fail_local.c: New file.
           * hurd/stack_chk_fail_local.c: New file.
           * mach/Machrules ($(interface-library)-routines): Add
           stack_chk_fail_local.
           * mach/Versions (GLIBC_2.4): Add __stack_chk_fail.
           * hurd/Versions (GLIBC_2.4): Add __stack_chk_fail.

commit 2ef8d46913b10cb1cf8adddfe80ce8d1b57d4f46
Author: Samuel Thibault <address@hidden>
Date:   Sun Aug 27 22:00:05 2017 +0200

    hurd: Add system-specific sysmacros.h
    
    * sysdeps/mach/hurd/bits/sysmacros.h: New file.

commit 7ab70c98e87b6fbcb3c2c02075b0949ed239ad7e
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 25 10:49:04 2017 -0700

    x86: Remove assembly versions of index_cpu_*/index_arch_*
    
    Since assembly versions of HAS_CPU_FEATURE and HAS_ARCH_FEATURE have
    been removed,  assembly versions of index_cpu_* and index_arch_* can
    also be removed.
    
    Tested on i686 and x86-64 with and without --disable-multi-arch.
    
        * sysdeps/x86/cpu-features.h [__ASSEMBLER__]
        (index_cpu_*, index_arch_*): Removed.

commit 39e7a5a66828a60008543db5f03f46dc7081668b
Author: Szabolcs Nagy <address@hidden>
Date:   Fri Aug 25 18:21:35 2017 +0100

    [AArch64] Fix elf_greg_t on ILP32
    
    Use uint64_t instead of unsigned long.

commit a6ccdb0839756c00377e99ac37f9721028f5d719
Author: Joseph Myers <address@hidden>
Date:   Fri Aug 25 17:02:33 2017 +0000

    Use __HAVE_DISTINCT_FLOAT128 in tgmath.h.
    
    When _Float128 is ABI-equivalent to long double, there is no need for
    tgmath.h to have any special _Float128 handling: it's always OK to
    call the long double versions of functions for _Float128 arguments in
    that case, and the logic to determine return types is generic.  Thus,
    this patch changes the use of __HAVE_FLOAT128 to
    __HAVE_DISTINCT_FLOAT128, as a minor optimization to reduce the size
    of the macro expansions in the ABI-equivalent case.
    
    Tested for x86_64.
    
        * math/tgmath.h [__HAVE_FLOAT128]: Change conditional to
        [__HAVE_DISTINCT_FLOAT128].

commit 23761119feea282d2d209a01902e5d92049ea6b6
Author: Joseph Myers <address@hidden>
Date:   Fri Aug 25 16:11:13 2017 +0000

    Clean up bits/math-finite.h for aliasing types.
    
    This patch cleans up how bits/math-finite.h handles types that are
    ABI-aliases of other types.
    
    For such types, no __*_finite functions exist; instead,
    bits/math-finite.h must redirect calls to a the functions for a
    canonical choice of type for each floating-point format.  (For the
    actual public interfaces, symbols need exporting for each type, even
    those that are ABI-aliases, because of standard requirements that
    programs can declare the functions themselves without including
    <math.h>, but that does not apply to __*_finite.)
    
    At present, there is a special-case conditional in bits/math-finite.h
    on __MATH_DECLARING_LDOUBLE && defined __NO_LONG_DOUBLE_MATH to handle
    redirecting long double function calls to double __*_finite.  This
    patch replaces this by a more general mechanism.  math.h, before each
    inclusion of bits/math-finite.h, defines _MSUFTO_ as the suffix to use
    on the target of redirection, in addition to the existing _MSUF_.
    This way, __MATH_DECLARING_LDOUBLE can go away, as can the special
    conditional in bits/math-finite.h.  With this patch, math.h is now
    prepared for the case of supporting float128 functions as aliases of
    long double ones on platforms where long double is binary128, with
    _MSUFTO_ appropriately defined for that case, and appropriate _MSUFTO_
    definitions can easily be included when supporting _Float32 / _Float64
    / _Float32x / _Float64x (which will always be ABI-aliases of another
    type when supported).
    
    Tested for x86_64, and did a compilation test for ARM with
    build-many-glibcs.py to cover the long double = double case.
    
        * math/math.h (_MSUFTO_): Define and undefine for each inclusion
        of <bits/math-finite.h>.
        (__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
        inclusion of <bits/math-finite.h>.
        * math/bits/math-finite.h (__REDIRTO_X): Do not define
        conditionally on [__MATH_DECLARING_LDOUBLE && defined
        __NO_LONG_DOUBLE_MATH].
        (__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call.
        (__MATH_REDIRCALL_2): Likewise.
        (__MATH_REDIRCALL_INTERNAL): Likewise.
        (__REDIRFROM (lgamma, , _MSUF_)): Likewise.
        (__REDIRFROM (gamma, , _MSUF_)): Likewise.
        (__REDIRFROM (tgamma, , _MSUF_)): Likewise.

commit bba5c930947e2b440b7d1eafdd3c9e7ff2d28978
Author: Joseph Myers <address@hidden>
Date:   Fri Aug 25 11:33:04 2017 +0000

    Remove powerpc32 sqrt wrappers.
    
    This patch removes the powerpc32-specific wrappers for sqrt and sqrtf.
    
    These wrappers, by adding architecture-specific uses of _LIB_VERSION
    and __kernel_standard, unnecessarily complicate cleanups of libm error
    handling.  They also do not serve a useful optimization purpose.  GCC
    knows about sqrt as a built-in function, and can generate direct calls
    to a hardware square root instruction, either on its own, in the
    -fno-math-errno case, or together with an inline check for the
    argument being negative and a call to the out-of-line sqrt function
    for error handling only in that case (and has been able to do so for a
    long time).  Thus in practice the wrapper will only be called only in
    the case of negative arguments, which is not a case it is useful to
    optimize for.
    
    Tested with build-many-glibcs.py for powerpc-linux-gnu-power4.
    
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-power5.S:
        Remove file.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-ppc32.S:
        Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat.c:
        Likewise.
        * 
sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-power5.S:
        Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-ppc32.S:
        Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat.c:
        Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
        (libm-sysdep-routines): Remove w_sqrt_compat-power5,
        w_sqrt_compat-ppc32, w_sqrtf_compat-power5 and
        w_sqrtf_compat-ppc32.

commit 3d7b66f66cb223e899a7ebc0f4c20f13e711c9e0
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Wed Aug 23 10:16:54 2017 -0300

    Fix the C++ version of issignaling when __NO_LONG_DOUBLE_MATH is defined
    
    When __NO_LONG_DOUBLE_MATH is defined, __issignalingl is not available,
    thus issignaling with long double argument should call __issignaling,
    instead.
    
    Tested for powerpc64le.
    
        * math/math.h [defined __cplusplus] (issignaling): In the long
        double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH
        is not defined.  Call __issignaling, otherwise.

commit ebd6f0076a83bb25a9853773fbfbcff00b4c9a32
Author: Adhemerval Zanella <address@hidden>
Date:   Thu Nov 12 14:01:36 2015 -0200

    Remove cancellation support for syscall generation
    
    This patch removes the cancellation mark from the auto-generation syscall
    script.  Now all the cancellable syscalls are done throught C code using
    the SYSCALL_CANCEL macro.  It simplifies the assembly required to each
    architecture port, since the SYSCALL_CANCEL uses the already defined
    INLINE_SYSCALL macros, and allows a more straigh fix on cancellation
    machanism (since no more specific assembly fixes will be required).
    
    Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
    aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.A
    Also with build-many-glibc.py with remaning touched architectures.
    
        * sysdeps/unix/make-syscalls.sh: Remove cancellable tagging for
        syscall definitions.
        * sysdeps/unix/syscall-template.S (SYSCALL_CANCELLABLE): Remove
        definition.
        * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (__local_enable_asynccancel): Likewise.
        [IS_IN (libpthread)] (__local_disable_asynccancel): Likewise.
        [IS_IN (libc)] (__local_enable_asynccancel): Likewise.
        [IS_IN (libc)] (__local_enable_asynccancel): Likewise.
        [IS_IN (librt)] (__local_disable_asynccancel): Likewise.
        [IS_IN (librt)] (__local_disable_asynccancel): Likewise.
        (CENABLE): Likewise.
        (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Remove
        defintion.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h (PSEUDO):
        Remove definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Remove file.
        * sysdeps/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: New file.
        * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Remove file.
        * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: New file.
        * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Remove
        definition.
        (PSEUDO_END): Likewise.
        [IS_IN (libpthread)] (CENABLE): Likewise.
        [IS_IN (libpthread)] (CDISABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (libc)] (CENABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [IS_IN (librt)] (CDISABLE): Likewise.
        [__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.

commit 8aa48656bb00074f3f422d805f15d07d786970ba
Author: Szabolcs Nagy <address@hidden>
Date:   Thu Aug 24 15:56:11 2017 +0100

    Fix CFLAGS override in sysdeps/ieee754/dbl-64
    
    Use += instead of = to avoid overriding target specific CFLAGS settings.
    Ideally the settings in target Makefiles would have precedence, but the
    Makefile inclusion order does not allow that, with this fix at least the
    target settings are not dropped.

commit fcaaca412fecb6097c902acd1260f585819b8b7e
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 23 09:11:41 2017 -0700

    x86-64: Regenerate libm-test-ulps for AVX512 mathvec tests
    
    Update libm-test-ulps for AVX512 mathvec tests by running
    “make regen-ulps” on Intel Xeon processor with AVX512.
    
        * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.

commit 376b40a27a6783ea7f73ae577be320df66aeb36d
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 23 08:22:52 2017 -0700

    string/stratcliff.c: Replace int with size_t [BZ #21982]
    
    Fix GCC 7 errors when string/stratcliff.c is compiled with -O3:
    
    stratcliff.c: In function ‘do_test’:
    cc1: error: assuming signed overflow does not occur when assuming that (X - 
c) <= X is always true [-Werror=strict-overflow]
    
        [BZ #21982]
        * string/stratcliff.c (do_test): Declare size, nchars, inner,
        middle and outer with size_t instead of int.  Repleace %d and
        %Zd with %zu in printf.  Update "MAX (0, nchars - 128)" and
        "MAX (outer, nchars - 64)" to support unsigned outer and
        nchars.  Also exit loop when outer == 0.

commit 2b0b9a1c85ea93a64e55bb369e79758195512fc2
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Aug 23 10:40:14 2017 -0300

    Consolidate remaning non cancellable definitions
    
    This patch consolidate the remaning non cancellable syscall definitions
    on not-cancel.h header.  They are:
    
      * __fcntl_nocancel: Moved from fcntl.h to not-cancel.h.
      * __sigsuspend_nocancel: Removed since 988f991b50 it is not used or
        defined anymore.
      * __nanosleep_nocancel: Removed since 6f33fd046b it is defined on
        not-cancel.h.
    
    Now all non-cancellable syscall definition are defined on not-cancel
    (the only exceptions is the stdio symbol __fxprintf_nocancel which
    uses non cancellable open and it is used on getopt implementation).
    
    Checked on x86_64-linux-gnu and with build-many-glibc.py.
    
        * include/fcntl.h (__fcntl_nocancel): Remove definition.
        * include/signal.h (__sigsuspend_nocancel): Likewise.
        * include/time.h (__nanosleep_nocancel): Likewise.
        * sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
        * login/utmp_file.c: Include non cancellable syscall header.
        * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
        prototype.

commit b9eaca8fa0a9628a992e0f1478aaadde576804e1
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 23 06:16:12 2017 -0700

    x86_64: Replace AVX512F .byte sequences with instructions
    
    Since binutils 2.25 or later is required to build glibc, we can replace
    AVX512F .byte sequences with AVX512F instructions.
    
    Tested on x86-64 and x32.  There are no code differences in libmvec.so
    and libmvec.a.
    
        * sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F
        .byte sequences with AVX512F instructions.
        * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Likewise.
        * sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise.
        * sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S:
        Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S:
        Likewise.

commit 5a706f649de3952271930a8340db4ca8aa50f485
Author: Steve Ellcey <address@hidden>
Date:   Tue Aug 22 16:22:05 2017 -0700

    aarch64: Use PTR_REG macro to fix ILP32 bug and make code consistent
    
        * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic):
        Use PTR_REG macro in cmp instruction.

commit b513da7e80febbbfb8e58282075018652b6f7273
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Aug 22 14:01:07 2017 -0300

    Fix remaining return type of ifunc resolver declaration
    
    Since Martin Sebor's commit
    
    commit ee4e992ebe5f9712faedeefe8958b67d61eaa0f2
    Author: Martin Sebor <address@hidden>
    Date:   Tue Aug 22 09:35:23 2017 -0600
    
        Declare ifunc resolver to return a pointer to the same type as the 
target
        function to help GCC detect incompatibilities between the two when it's
        enhanced to do so.
    
    builds for powerpc64le fail in the declaration of some ifunc resolvers,
    because the ifunc is declared with unmatching return types.  One of the
    declarations comes from the __ifunc_resolver macro, which was patched by
    the aforementioned commit:
    
        /* Helper / base  macros for indirect function symbols.  */
        #define __ifunc_resolver(type_name, name, expr, arg, init, classifier) \
          classifier inhibit_stack_protector                                   \
          __typeof (type_name) *name##_ifunc (arg)                             \
    
    whereas the other comes from the unpatched __ifunc macro when
    HAVE_GCC_IFUNC is not defined:
    
        # define __ifunc(type_name, name, expr, arg, init)                     \
          extern __typeof (type_name) name;                                    \
          void *name##_ifunc (arg) __asm__ (#name);                            \
    
    This patch changes the return type of the ifunc resolver in the __ifunc
    macro, so that it matches the return type of the target function,
    similarly to what the aforementioned commit does.
    
    Tested for powerpc64le and s390x with unpatched GCC.
    
        * include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc):
        Change the return type of the ifunc resolver to match the return
        type of the target function.

commit b70b6026a05c18e76f7f0640feb88cd69cbae2de
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Jul 19 10:23:49 2016 -0300

    Remove p{read,write}{v} and fallocate from x86 auto-generation list
    
    With {INLINE,INTERNAL}_SYSCALL macros fixed for 64-bits arguments on x32,
    we can remove the p{read,write}{v} from auto-generation list.
    
    Tested on x86_64 and x32.
    
        * sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove.
        (preadv64): Likewise.
        (pwrite64(: Likewise.
        (pwritev64): Likewise.

commit 78ca091cdd2ca1db94cc5ff27613f75237b8bc8f
Author: Adhemerval Zanella <address@hidden>
Date:   Wed Jul 13 10:50:05 2016 +0100

    Fix {INLINE,INTERNAL}_SYSCALL macros for x32
    
    The problem for x32 is the {INTERNAL,INLINE}_SYSCALL C macros explicit
    cast the arguments to 'long int', thus passing as 32 bits arguments
    that should be passed to 64 bits.
    
    Previous x32 implementation uses the auto-generated syscalls from
    assembly macros (syscalls.list), so the {INTERNAL,INLINE}_SYSCALL
    macros are never used with 64 bit argument in x32 (which are
    internally broken for this ILP).
    
    To fix it I used a strategy similar to MIPS64n32 (although both
    ABI differs for some syscalls on how top pass 64-bits arguments)
    where argument types for kernel call are defined using GCC extension
    'typeof' with a arithmetic operation.  This allows 64-bits arguments
    to be defined while 32-bits argument will still passed as 32-bits.
    
    I also cleanup the {INLINE,INTERNAL}_SYSCALL definition by defining
    'inline_syscallX' instead of constructing the argument passing using
    macros (it adds some readability) and removed the ununsed
    INTERNAL_SYSCALL_NCS_TYPES define (since the patch idea is exactly to
    avoid requiric explicit types passing).
    
    Tested on x86_64 and x32.
    
        * sysdeps/unix/sysv/linux/x86_64/sysdep.h
        (INTERNAL_SYSCALL_NCS_TYPES): Remove define.
        (LOAD_ARGS_0): Likewise.
        (LOAD_ARGS_1): Likewise.
        (LOAD_ARGS_2): Likewise.
        (LOAD_ARGS_3): Likewise.
        (LOAD_ARGS_4): Likewise.
        (LOAD_ARGS_5): Likewise.
        (LOAD_ARGS_6): Likewise.
        (LOAD_REGS_0): Likewise.
        (LOAD_REGS_1): Likewise.
        (LOAD_REGS_2): Likewise.
        (LOAD_REGS_3): Likewise.
        (LOAD_REGS_4): Likewise.
        (LOAD_REGS_5): Likewise.
        (LOAD_REGS_6): Likewise.
        (ASM_ARGS_0): Likewise.
        (ASM_ARGS_1): Likewise.
        (ASM_ARGS_2): Likewise.
        (ASM_ARGS_3): Likewise.
        (ASM_ARGS_4): Likewise.
        (ASM_ARGS_5): Likewise.
        (ASM_ARGS_6): Likewise.
        (LOAD_ARGS_TYPES_1): Likewise.
        (LOAD_ARGS_TYPES_2): Likewise.
        (LOAD_ARGS_TYPES_3): Likewise.
        (LOAD_ARGS_TYPES_4): Likewise.
        (LOAD_ARGS_TYPES_5): Likewise.
        (LOAD_ARGS_TYPES_6): Likewise.
        (LOAD_REGS_TYPES_1): Likewise.
        (LOAD_REGS_TYPES_2): Likewise.
        (LOAD_REGS_TYPES_3): Likewise.
        (LOAD_REGS_TYPES_4): Likewise.
        (LOAD_REGS_TYPES_5): Likewise.
        (LOAD_REGS_TYPES_6): Likewise.
        (TYPEFY): New define.
        (ARGIFY): Likewise.
        (internal_syscall0): Likewise.
        (internal_syscall1): Likewise.
        (internal_syscall2): Likewise.
        (internal_syscall3): Likewise.
        (internal_syscall4): Likewise.
        (internal_syscall5): Likewise.
        (internal_syscall6): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/x32/times.c
        (INTERNAL_SYSCALL_NCS): Remove define.
        (internal_syscall1): Add define.

commit 453a493d2b61b1eb3cadee544e6791dab45c167a
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Aug 22 11:14:15 2017 -0300

    Remove duplicate inclusion of header math-svid-compat.h
    
    The header math-svid-compat.h has been unintentionally included twice in
    the wrappers for the remainder functions.  This patch removes the
    duplicate inclusions.
    
        * math/w_remainder_compat.c: Remove duplicate inclusion of
        math-svid-compat.h.
        * math/w_remainderf_compat.c: Likewise.
        * math/w_remainderl_compat.c: Likewise.

commit f2f048a533bd490013820a8037a3043c0737e216
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Tue Aug 8 18:52:03 2017 -0300

    powerpc: Shrink ULPs for float128
    
    During the development of float128 on powerpc64le, the ulps have been
    generated since early versions of the patches.  On those versions, the
    functions gamma and pow10 were mistakenly thought to be part of the API.
    After review, the functions were removed, however the ulps for them were
    carried in the ulps file.
    
    This patch removes such entries from the ulps file, as well as it
    shrinks the ulps for the cpow and lgamma functions.
    
    Tested for powerpc64le.
    
        * sysdeps/powerpc/fpu/libm-test-ulps: Update.

commit d9bef9c0a41bc3ca4036542cbf2a7d2d0cf60237
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 22 17:55:42 2017 +0000

    Fix tgmath.h handling of complex integers (bug 21684).
    
    The tgmath.h macros return a real type not a complex type when an
    argument is of complex integer type (a GNU extension) and there are no
    arguments of complex floating type.  It seems clear that just as real
    integers are mapped to double for tgmath.h, so complex integers should
    be mapped to _Complex double.
    
    This patch implements such a mapping.  The main complication in fixing
    this bug is that the tgmath.h macros expand their arguments a large
    number of times, resulting in exponential blowup of the size of the
    expansion when calls to tgmath.h macros are used in the arguments of
    such macros; it would be unfortunate for fixing a bug with a fairly
    obscure extension to make the macros expand their arguments even more
    times.  Thus, this patch optimizes the definitions of the relevant
    macros.  __tgmath_real_type previously expanded its argument 7 times
    and now expands it 3 times.  __tgmath_complex_type, used in place of
    __tgmath_real_type only for functions that might return either real or
    complex types, not for complex functions that always return real types
    or always return complex types, expands its argument 5 times.  So the
    sizes of the macro expansions from nested macro calls are
    correspondingly reduced (remembering that each tgmath.h macro expands
    __tgmath_real_type, or sometimes now __tgmath_complex_type, several
    times).
    
    Sometimes the real return type resulted from calling a complex
    function and converting the result to a real type; sometimes it
    resulted from calling a real function, because the logic for
    determining whether arguments were real or complex, based on sizeof,
    was confused by integer promotions applying to e.g. short int but not
    _Complex short int.  The relevant tests are converted to use a new
    macro __expr_is_real, which, by calling __builtin_classify_type rather
    than comparing the results of two calls to sizeof, also reduces the
    number of times macros expand their arguments.
    
    Although there are reductions in the number of times macros expand
    their arguments, I do not consider this to fix bug 21660, since a
    proper fix means each macro expanding its arguments only once (via
    using new compiler features designed for that purpose).
    
    Tested for x86_64.
    
        [BZ #21684]
        * math/tgmath.h (__floating_type): Simplify definitions.
        (__real_integer_type): New macro.
        (__complex_integer_type): Likewise.
        (__expr_is_real): Likewise.
        (__tgmath_real_type_sub): Update comment to describe handling of
        complex types.
        (__tgmath_complex_type_sub): New macro.
        (__tgmath_complex_type): Likewise.
        [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (__TGMATH_CF128): Use __expr_is_real.
        (__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and
        __expr_is_real.
        (__TGMATH_BINARY_REAL_IMAG): Likewise.
        (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real.
        * math/gen-tgmath-tests.py (Type.create_type): Create complex
        integer types.

commit 988f991b5069f09d793c887618e84a196b100416
Author: Adhemerval Zanella <address@hidden>
Date:   Tue Aug 22 10:09:52 2017 -0300

    Remove non cancellable sigsuspend definition
    
    There is no current internal usage for non cancellable sigsuspend calls.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (sigsuspend_not_cancel): remove
        macro.
        * sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): remove
        alias.
        * sysdeps/unix/sysv/linux/not-cancel.h (sigsuspend_not_cancel):
        likewise.

commit 6f33fd046b8e8746e2abc19db2fdfd9c668750e9
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:54:02 2017 -0300

    Consolidate non cancellable nanosleep call
    
    This patch consolidates all the non cancellable nanosleep calls to use
    the __nanosleep_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Replace
        nanosleep_not_cancel with __nanosleep_nocancel.
        * sysdeps/generic/not-cancel.h (nanosleep_not_cancel): Remove macro.
        (__nanosleep_nocancel): New macro.
        * sysdeps/unix/sysv/linux/nanosleep.c (__nanosleep_nocancel): New
        function.
        * sysdeps/unix/sysv/linux/not-cancel.h (nanosleep_not_cancel): Remove
        macro.
        (__nanosleep_nocancel): New prototype.

commit 08d6eb46caf13f46ce052d2be34522068c5a6d33
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Aug 21 17:23:56 2017 -0300

    Consolidate non cancellable pause call
    
    This patch consolidates all the non cancellable pause calls to use
    the __pause_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Replace
        pause_not_cancel with __pause_nocancel.
        * sysdeps/generic/not-cancel.h (pause_not_cancel): Remove macro.
        (__pause_nocancel): New macro.
        * sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): Remove
        macro.
        (__pause_nocancel): New prototype.
        * sysdeps/unix/sysv/linux/pause.c (__pause_nocancel): New function.

commit ee4e992ebe5f9712faedeefe8958b67d61eaa0f2
Author: Martin Sebor <address@hidden>
Date:   Tue Aug 22 09:35:23 2017 -0600

    Declare ifunc resolver to return a pointer to the same type as the target
    function to help GCC detect incompatibilities between the two when it's
    enhanced to do so.

commit 20962acbea349b372311a727621c860006be3fab
Author: H.J. Lu <address@hidden>
Date:   Tue Aug 22 07:47:34 2017 -0700

    Hide internal printf functions [BZ #18822/21986]
    
    Hide internal printf functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.
    
    Since __guess_grouping has been changed to take 2 arguments by
    
    commit a1d84548c8aa7023cd039c85f81b831eef6d4a4c
    Author: Ulrich Drepper <address@hidden>
    Date:   Fri Feb 11 18:50:36 2000 +0000
    
    the third argument passed to __guess_grouping is removed.
    
        [BZ #18822]
        [BZ #21986]
        * include/printf.h (__printf_fphex): Add attribute_hidden.
        (__guess_grouping): New prototype.
        * stdio-common/printf_fp.c (__guess_grouping): Removed.
        * stdio-common/reg-printf.c (__register_printf_specifier): Add
        libc_hidden_proto and libc_hidden_def.
        * stdlib/strfmon_l.c (__guess_grouping): Removed.
        (__vstrfmon_l): Remove the third argument passed to
        __guess_grouping.

commit a16e8bc08edca84d507715c66d6cddbbc7ed3b62
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Aug 14 13:46:15 2017 -0300

    Provide a C++ version of issignaling that does not use __MATH_TG
    
    The macro __MATH_TG contains the logic to select between long double and
    _Float128, when these types are ABI-distinct.  This logic relies on
    __builtin_types_compatible_p, which is not available in C++ mode.
    
    On the other hand, C++ function overloading provides the means to
    distinguish between the floating-point types.  The overloading
    resolution will match the correct parameter regardless of type
    qualifiers, i.e.: const and volatile.
    
    Tested for powerpc64le, s390x, and x86_64.
    
        * math/math.h [defined __cplusplus] (issignaling): Provide a C++
        definition for issignaling that does not rely on __MATH_TG,
        since __MATH_TG uses __builtin_types_compatible_p, which is only
        available in C mode.
        (CFLAGS-test-math-issignaling.cc): New variable.
        * math/Makefile [CXX] (tests): Add test-math-issignaling.
        * math/test-math-issignaling.cc: New test for C++ implementation
        of type-generic issignaling.
        * sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
        (CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build
        options of test-math-issignaling on powerpc64le.

commit 8d2ec553295a16ca94fe0285d6307e3b00a402d6
Author: H.J. Lu <address@hidden>
Date:   Tue Aug 22 13:49:14 2017 +0200

    Add hidden visibility to internal function prototypes
    
    Add hidden visibility to internal function prototypes to allow direct
    access to internal functions within libc.a without using GOT when the
    compiler defaults to -fPIE.
    
    Size comparison of elf/ldconfig when the compiler defaults to -fPIE:
    
    On x86-64:
            text           data     bss     dec     hex
    Before: 619646        20132    5488  645266   9d892
    After : 619502        20132    5488  645122   9d802
    On i686:
            text           data     bss     dec     hex
    Before: 550333        10748    3060  564141   89bad
    After : 546453        10732    3060  560245   88c75
    
        * include/libc-symbols.h (__hidden_proto_hiddenattr): New for
        building libc.a.
        (hidden_proto): Likewise.
        (hidden_tls_proto): Likewise.
        (__hidden_proto): Likewise.
    
    (Reapplied after the revert in df1deda60050cc8a68156cf6c81ad42363647a29.)

commit a4d57b79478f214cdf535eb941abdd71e0071edc
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 22 12:45:16 2017 +0200

    math: Statically link tests of internal functionality

commit 80f91666fed71fa3dd5eb5618739147cc731bc89
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 22 00:59:43 2017 +0000

    Fix sparc32 bits/long-double.h (bug 21987).
    
    My refactoring of long double information
    
    commit 0acb8a2a855395c25b1feef2470f4d7ca4bed589
    Author: Joseph Myers <address@hidden>
    Date:   Wed Dec 14 18:27:56 2016 +0000
    
        Refactor long double information into bits/long-double.h.
    
    resulted in sparc32 configurations installing the ldbl-opt version of
    bits/long-double.h instead of the intended
    sysdeps/unix/sysv/linux/sparc version.
    
    For sparc32 by itself, this is not a problem, since the ldbl-opt
    version is correct for sparc32.  However, both sparc32 and sparc64 are
    supposed to install sets of headers that work for both of them, so
    that a single sysroot, whichever order the libraries are built and
    installed in, works for both.  The effect of having the wrong version
    installed is that you end up with a miscompiled sparc64 libstdc++
    which fails glibc's configure tests for the C++ compiler.
    
    This patch moves the header from sysdeps/unix/sysv/linux/sparc to
    separate copies of the same file for sparc32 and sparc64, to ensure it
    comes before ldbl-opt in the sysdeps directory ordering.
    
    Tested with build-many-glibcs.py for sparc64-linux-gnu and
    sparcv9-linux-gnu.
    
        [BZ #21987]
        * sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Remove file
        and copy to ...
        * sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h:
        ... here.
        * sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h:
        ... and here.

commit 75dfe623df945db7dd3c12a206d743c45c16b5ed
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 22 00:30:51 2017 +0000

    Fix position of tests-unsupported definition in assert/Makefile.
    
    tests-unsupported has to be defined before the inclusion of Rules in a
    subdirectory Makefile; otherwise it is ineffective.  This patch fixes
    the ordering in assert/Makefile, where a recent test addition put
    tests-unsupported too late (resulting in build failures when the C++
    compiler was missing or broken, and thereby showing up the unrelated
    bug 21987).
    
    Incidentally, I don't see why these tests depend on
    $(have-cxx-thread_local) rather than just a working C++ compiler.
    
    Tested in such a configuration (broken compiler/libstdc++) with
    build-many-glibcs.py.
    
        * assert/Makefile [$(have-cxx-thread_local)]: Move conditional
        variable definitions above inclusion of ../Rules.

commit ea99fcd03875caf59ceda354ec8ed813bb5a5f79
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 21 21:43:32 2017 +0000

    Fix GCC 7 build of k_standard.c.
    
    This patch adds a default case to k_standard.c that calls
    __builtin_unreachable, to avoid an uninitialized variable error from
    GCC 7 (reported in
    <https://sourceware.org/ml/libc-alpha/2017-08/msg01012.html>).
    
    Tested for x86_64 (with GCC 7).
    
        * sysdeps/ieee754/k_standard.c (__kernel_standard): Add default
        case calling __builtin_unreachable.

commit a8410a5fc9305c316633a5a3033f3927b759be35
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:43:51 2017 -0300

    Consolidate non cancellable waitpid call
    
    This patch consolidates all the non cancellable waitpid calls to use
    the __waitpid_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with
        __waitpid_nocancel.
        * sysdeps/generic/not-cancel.h (waitpid_not_cancel): Remove macro.
        (__waitpid_nocancel): New macro.
        * sysdeps/unix/sysv/linux/not-cancel.h (waitpid_not_cancel): Remove
        macro.
        (__waitpid_nocancel): Replace macro with a function.
        * sysdeps/unix/sysv/linux/waitpid.c (__waitpid_nocancel): New
        function.

commit 7369800c04f3c0fb9fb15821feb10a7976425aca
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:37:16 2017 -0300

    Consolidate non cancellable fcntl call
    
    This patch consolidates all the non cancellable fcntl calls to use
    the __fcntl_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Since its prototype is already defined at internal fcntl.h header, it
    is removed from not-cancel.h one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with
        __fcntl_nocancel.
        * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro.
        * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise.

commit 19926de954bf89feb443aadd4db47a4e912b97b1
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:33:23 2017 -0300

    Consolidate non cancellable writev call
    
    This patch consolidates all the non cancellable writev calls to use
    the __writev_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * gmon/gmon.c (write_hist): Replace writev_not_cancel_no_status with
        __writev_nocancel_nostatus.
        (write_call_graph): Likewise.
        (write_bb_counts): Likewise.
        * resolv/herror.c (herror): Likewise.
        * sysdeps/generic/not-cancel.h (writev_not_cancel_no_status): Remove
        macro.
        (__writev_nocancel_nostatus): New macro.
        * sysdeps/unix/sysv/linux/not-cancel.h (writev_not_cancel_no_status):
        Remove macro.
        (__writev_nocancel_nostatus): New function.

commit df1deda60050cc8a68156cf6c81ad42363647a29
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 21 17:52:05 2017 +0000

    Revert "Add hidden visibility to internal function prototypes".
    
    The commit
    
    commit 568ff4296c72534e49c8d9c83c33f3a0069cccc7
    Author: H.J. Lu <address@hidden>
    Date:   Mon Aug 21 05:50:38 2017 -0700
    
        Add hidden visibility to internal function prototypes
    
    breaks the build of the testsuite for many platforms:
    
    https://sourceware.org/ml/libc-testresults/2017-q3/msg00300.html
    
    The errors are of the following form, building math/atest-exp:
    
    [...]
    
/scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc/stdlib/rshift.o: 
In function `__mpn_rshift':
    
/scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc-src/stdlib/rshift.c:45:
 undefined reference to `__assert_fail'
    
/scratch/jmyers/glibc-bot/install/compilers/aarch64-linux-gnu/lib/gcc/aarch64-glibc-linux-gnu/7.2.1/../../../../aarch64-glibc-linux-gnu/bin/ld:
 /scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc/math/atest-exp: 
hidden symbol `__assert_fail' isn't defined
    
/scratch/jmyers/glibc-bot/install/compilers/aarch64-linux-gnu/lib/gcc/aarch64-glibc-linux-gnu/7.2.1/../../../../aarch64-glibc-linux-gnu/bin/ld:
 final link failed: Bad value
    
    This test is using various objects from the build of libc.  Some of
    those objects contain references to __assert_fail.  Because those
    references are hidden, they cannot refer to __assert_fail from
    libc.so.  Given the tests using internal objects those symbols in
    libc.a can't safely be made hidden, so this patch reverts the problem
    commit until any alternative approach that doesn't break the build can
    be found.

commit 831bbd55271eacc0190a13954bd347f0a521b096
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 21 17:46:34 2017 +0000

    Remove SPARC sqrt wrappers (bug 21973).
    
    This patch removes the SPARC-specific wrappers for sqrt and sqrtf.
    
    These wrappers, by adding architecture-specific uses of _LIB_VERSION
    and __kernel_standard, unnecessarily complicate cleanups of libm error
    handling.  They also do not serve a useful optimization purpose.  GCC
    knows about sqrt as a built-in function, and can generate direct calls
    to a hardware square root instruction, either on its own, in the
    -fno-math-errno case, or together with an inline check for the
    argument being negative and a call to the out-of-line sqrt function
    for error handling only in that case (and has been able to do so for a
    long time).  Thus in practice the wrapper will only be called only in
    the case of negative arguments, which is not a case it is useful to
    optimize for.
    
    The removal of the wrappers also uncovers, and fixes, an old bug.
    32-bit SPARC libm used (checked with glibc 2.8 binaries) to have a
    sqrtl compat symbol, version GLIBC_2.0, for old binaries when sqrtl
    was an alias of sqrt (I don't have pre-glibc-2.4 binaries for SPARC to
    hand to check for the sqrtl symbol in those).  This disappeared,
    probably with:
    
    commit 8847f0377003fbfe9cbe951ce9f8717d74f26247
    Author: David S. Miller <address@hidden>
    Date:   Tue Feb 28 22:37:58 2012 -0800
    
        Add sparc optimized sqrt{,f}.
    
    Removing the wrappers brings back the generic ldbl-opt logic for
    creating such compat symbols, and so restores the compat symbol that
    should be there.  This could of course also be fixed in the wrappers -
    but as noted above, the wrappers are optimizing a case it's not useful
    to optimize, so the bug of the missing compat symbol serves to
    illustrate the risks involved with the extra complexity of
    architecture-specific function versions where not needed.
    
    Tested with build-many-glibcs.py.
    
        [BZ #21973]
        * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
        * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
        GLIBC_2.0 sqrtl symbol.

commit 813378e9fe17e029caf627cab76fe23eb46815fa
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 21 17:45:10 2017 +0000

    Obsolete matherr, _LIB_VERSION, libieee.a.
    
    This patch obsoletes support for SVID libm error handling (the system
    where a user-defined function matherr is called on a libm function
    error; only enabled if you also set _LIB_VERSION = _SVID_ or
    _LIB_VERSION = _XOPEN_) and the use of the _LIB_VERSION global
    variable to control libm error handling.  matherr and _LIB_VERSION are
    made into compat symbols, not supported for new ports or for static
    linking.  The libieee.a object file (which sets _LIB_VERSION = _IEEE_,
    so disabling errno setting for some functions) is also removed, and
    all the related definitions are removed from math.h.
    
    The manual already recommends against using matherr, and it's already
    not supported for _Float128 functions (those use new wrappers that
    don't support matherr, only errno) - this patch means that it becomes
    possible to e.g. add sinf32 as an alias to sinf without that resulting
    in undesired matherr support in sinf32 for existing glibc ports.
    matherr support is not part of any standard supported by glibc (it was
    removed in XPG4).
    
    Because matherr is a function to be defined by the user, of course
    user programs defining such a function will still continue to link; it
    just quietly won't be used.  If they try to write to the library's
    copy of _LIB_VERSION to enable SVID error handling, however, they will
    get a link error (but if they define their own _LIB_VERSION variable,
    they won't).
    
    I expect the most likely case of build failures from this patch to be
    programs with unconditional cargo-culted uses of -lieee (based on a
    notion of "I want IEEE floating point", not any actual requirement for
    that library).
    
    Ideally, the new-port-or-static-linking case would use the new
    wrappers used for _Float128.  This is not implemented in this patch,
    because of the complication of architecture-specific (powerpc32 and
    sparc) sqrt wrappers that use _LIB_VERSION and __kernel_standard
    directly.  Thus, the old wrappers and __kernel_standard are still
    built unconditionally, and _LIB_VERSION still exists in static libm.
    But when the old wrappers and __kernel_standard are built in the
    non-compat case, _LIB_VERSION and matherr are defined as macros so
    code to support those features isn't actually built into static libm
    or new ports' shared libm after this patch.
    
    I intend to move to the new wrappers for static libm and new ports in
    followup patches.  I believe the sqrt wrappers for powerpc32 and sparc
    can reasonably be removed.  GCC already optimizes the normal case of
    sqrt by generating code that uses a hardware instruction and only
    calls the sqrt function if the argument was negative (if
    -fno-math-errno, of course, it just uses the hardware instruction
    without any check for negative argument being needed).  Thus those
    wrappers will only actually get called in the case of negative
    arguments, which is not a case it makes sense to optimize for.  But
    even without removing the powerpc32 and sparc wrappers it should still
    be possible to move to the new wrappers for static libm and new ports,
    just without having those dubious architecture-specific optimizations
    in static libm.
    
    Everything said about matherr equally applies to matherrf and matherrl
    (IA64-specific, undocumented), except that the structure of IA64 libm
    means it won't be converted to using the new wrappers (it doesn't use
    the old ones either, but its own error-handling code instead).
    
    As with other tests of compat symbols, I expect test-matherr and
    test-matherr-2 to need to become appropriately conditional once we
    have a system for disabling such tests for ports too new to have the
    relevant symbols.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py.
    
        * math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
        [__USE_MISC] (_LIB_VERSION): Likewise.
        [__USE_MISC] (struct exception): Likewise.
        [__USE_MISC] (matherr): Likewise.
        [__USE_MISC] (DOMAIN): Likewise.
        [__USE_MISC] (SING): Likewise.
        [__USE_MISC] (OVERFLOW): Likewise.
        [__USE_MISC] (UNDERFLOW): Likewise.
        [__USE_MISC] (TLOSS): Likewise.
        [__USE_MISC] (PLOSS): Likewise.
        [__USE_MISC] (HUGE): Likewise.
        [__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
        * math/math-svid-compat.h: New file.
        * conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
        and matherrl.
        * include/math.h [!_ISOMAC] (__matherr): Remove.
        * manual/arith.texi (FP Exceptions): Do not document matherr.
        * math/Makefile (tests): Change test-matherr to test-matherr-3.
        (tests-internal): New variable.
        (install-lib): Do not add libieee.a.
        (non-lib.a): Likewise.
        (extra-objs): Do not add libieee.a and ieee-math.o.
        (CPPFLAGS-s_lib_version.c): Remove variable.
        ($(objpfx)libieee.a): Remove rule.
        ($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
        * math/ieee-math.c: Remove.
        * math/libm-test-support.c (matherr): Remove.
        * math/test-matherr.c: Use <support/test-driver.c>.  Add copyright
        and license notices.  Include <math-svid-compat.h> and
        <shlib-compat.h>.
        (matherr): Undefine as macro.  Use compat_symbol_reference.
        (_LIB_VERSION): Likewise.
        * math/test-matherr-2.c: New file.
        * math/test-matherr-3.c: Likewise.
        * sysdeps/generic/math_private.h (__kernel_standard): Remove
        declaration.
        (__kernel_standard_f): Likewise.
        (__kernel_standard_l): Likewise.
        * sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
        <math_private.h>.  Include <math-svid-compat.h>.
        (_LIB_VERSION): Undefine as macro.
        (_LIB_VERSION_INTERNAL): Always initialize to _POSIX_.  Define
        only if [LIBM_SVID_COMPAT || !defined SHARED].  If
        [LIBM_SVID_COMPAT], use compat_symbol.
        * sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
        <math_private.h>.  Include <math-svid-compat.h>.
        (matherr): Undefine as macro.
        (__matherr): Define only if [LIBM_SVID_COMPAT].  Use
        compat_symbol.
        * sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
        [_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
        compat_symbol_reference.
        [_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
        [_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
        [_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
        * sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
        (MATHERR_D): Remove declaration.
        [!_LIBC] (_LIB_VERSION_TYPE): Likewise
        [!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
        [LIBM_BUILD] (pmatherrf): Likewise.
        [LIBM_BUILD] (pmatherr): Likewise.
        [LIBM_BUILD] (pmatherrl): Likewise.
        (DOMAIN): Likewise.
        (SING): Likewise.
        (OVERFLOW): Likewise.
        (UNDERFLOW): Likewise.
        (TLOSS): Likewise.
        (PLOSS): Likewise.
        * sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
        (__matherrf): Define only if [LIBM_SVID_COMPAT].  Use
        compat_symbol.
        * sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
        (__matherrl): Define only if [LIBM_SVID_COMPAT].  Use
        compat_symbol.
        * math/lgamma-compat.h: Include <math-svid-compat.h>.
        * math/w_acos_compat.c: Likewise.
        * math/w_acosf_compat.c: Likewise.
        * math/w_acosh_compat.c: Likewise.
        * math/w_acoshf_compat.c: Likewise.
        * math/w_acoshl_compat.c: Likewise.
        * math/w_acosl_compat.c: Likewise.
        * math/w_asin_compat.c: Likewise.
        * math/w_asinf_compat.c: Likewise.
        * math/w_asinl_compat.c: Likewise.
        * math/w_atan2_compat.c: Likewise.
        * math/w_atan2f_compat.c: Likewise.
        * math/w_atan2l_compat.c: Likewise.
        * math/w_atanh_compat.c: Likewise.
        * math/w_atanhf_compat.c: Likewise.
        * math/w_atanhl_compat.c: Likewise.
        * math/w_cosh_compat.c: Likewise.
        * math/w_coshf_compat.c: Likewise.
        * math/w_coshl_compat.c: Likewise.
        * math/w_exp10_compat.c: Likewise.
        * math/w_exp10f_compat.c: Likewise.
        * math/w_exp10l_compat.c: Likewise.
        * math/w_exp2_compat.c: Likewise.
        * math/w_exp2f_compat.c: Likewise.
        * math/w_exp2l_compat.c: Likewise.
        * math/w_fmod_compat.c: Likewise.
        * math/w_fmodf_compat.c: Likewise.
        * math/w_fmodl_compat.c: Likewise.
        * math/w_hypot_compat.c: Likewise.
        * math/w_hypotf_compat.c: Likewise.
        * math/w_hypotl_compat.c: Likewise.
        * math/w_j0_compat.c: Likewise.
        * math/w_j0f_compat.c: Likewise.
        * math/w_j0l_compat.c: Likewise.
        * math/w_j1_compat.c: Likewise.
        * math/w_j1f_compat.c: Likewise.
        * math/w_j1l_compat.c: Likewise.
        * math/w_jn_compat.c: Likewise.
        * math/w_jnf_compat.c: Likewise.
        * math/w_jnl_compat.c: Likewise.
        * math/w_lgamma_main.c: Likewise.
        * math/w_lgamma_r_compat.c: Likewise.
        * math/w_lgammaf_main.c: Likewise.
        * math/w_lgammaf_r_compat.c: Likewise.
        * math/w_lgammal_main.c: Likewise.
        * math/w_lgammal_r_compat.c: Likewise.
        * math/w_log10_compat.c: Likewise.
        * math/w_log10f_compat.c: Likewise.
        * math/w_log10l_compat.c: Likewise.
        * math/w_log2_compat.c: Likewise.
        * math/w_log2f_compat.c: Likewise.
        * math/w_log2l_compat.c: Likewise.
        * math/w_log_compat.c: Likewise.
        * math/w_logf_compat.c: Likewise.
        * math/w_logl_compat.c: Likewise.
        * math/w_pow_compat.c: Likewise.
        * math/w_powf_compat.c: Likewise.
        * math/w_powl_compat.c: Likewise.
        * math/w_remainder_compat.c: Likewise.
        * math/w_remainderf_compat.c: Likewise.
        * math/w_remainderl_compat.c: Likewise.
        * math/w_scalb_compat.c: Likewise.
        * math/w_scalbf_compat.c: Likewise.
        * math/w_scalbl_compat.c: Likewise.
        * math/w_sinh_compat.c: Likewise.
        * math/w_sinhf_compat.c: Likewise.
        * math/w_sinhl_compat.c: Likewise.
        * math/w_sqrt_compat.c: Likewise.
        * math/w_sqrtf_compat.c: Likewise.
        * math/w_sqrtl_compat.c: Likewise.
        * math/w_tgamma_compat.c: Likewise.
        * math/w_tgammaf_compat.c: Likewise.
        * math/w_tgammal_compat.c: Likewise.
        * sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
        * sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
        * sysdeps/ieee754/k_standard.c: Likewise.
        * sysdeps/ieee754/k_standardf.c: Likewise.
        * sysdeps/ieee754/k_standardl.c: Likewise.
        * sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
        * sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
        Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
        * sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.

commit 4504783c0f65b7074204c6126c6255ed89d6594e
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 21 19:28:54 2017 +0200

    benchtests: Do not compile benchmark objects as libc modules [BZ #21864]
    
    Otherwise, this will lead to link failures due to hidden symbol
    references.

commit b5889d25e9bf944a89fdd7bcabf3b6c6f6bb6f7c
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 21 13:03:29 2017 +0200

    assert: Support types without operator== (int) [BZ #21972]

commit 41e673c1e771075f413f8e8ecd9e108f5ae096d9
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:58:39 2017 -0700

    x86-64: Mark internal symbols with attribute_hidden [BZ #18822]
    
    Since __syscall_clock_gettime and __start_context are internal symbols
    for Linux/x86-64, mark them with attribute_hidden.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/x86_64/init-first.c
        (__syscall_clock_gettime): Add attribute_hidden.
        * sysdeps/unix/sysv/linux/x86_64/makecontext.c
        (__start_context): Likewise.

commit 568ff4296c72534e49c8d9c83c33f3a0069cccc7
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:50:38 2017 -0700

    Add hidden visibility to internal function prototypes
    
    Add hidden visibility to internal function prototypes to allow direct
    access to internal functions within libc.a without using GOT when the
    compiler defaults to -fPIE.
    
    Size comparison of elf/ldconfig when the compiler defaults to -fPIE:
    
    On x86-64:
            text           data     bss     dec     hex
    Before: 619646        20132    5488  645266   9d892
    After : 619502        20132    5488  645122   9d802
    On i686:
            text           data     bss     dec     hex
    Before: 550333        10748    3060  564141   89bad
    After : 546453        10732    3060  560245   88c75
    
        * include/libc-symbols.h (__hidden_proto_hiddenattr): New for
        building libc.a.
        (hidden_proto): Likewise.
        (hidden_tls_proto): Likewise.
        (__hidden_proto): Likewise.

commit 7c41b4a1315fc4415e468bbac94f77ecdb74f4c8
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:47:10 2017 -0700

    Enable hidden visibility in libc.a compiled with PIE
    
    When building libc.a with PIE, enable hidden visibility to allow direct
    access to definitions within libc.a without using GOT.
    
    Size comparison of elf/ldconfig when the compiler defaults to -fPIE:
    
    On x86-64:
            text           data     bss     dec     hex
    Before: 619206        20132    5488  644826   9d6da
    After : 619062        20132    5488  644682   9d64a
    On i686:
            text           data     bss     dec     hex
    Before: 556305        10816    3056  570177   8b341
    After : 553688        10756    3056  567500   8a8cc
    
        * include/libc-symbols.h (attribute_hidden): Enable hidden
        visibility in libc.a compiled with PIE.

commit 483d70687919ab42c3c6498a99e51b210e5f45ca
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:40:33 2017 -0700

    x86: Mark VDSO_SYMBOL(getcpu) with attribute_hidden [BZ #18822]
    
    VDSO_SYMBOL(getcpu) is defined as hidden in Linux/x86_64 init-first.c
    and unused for Linux/i386.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)):
        Add attribute_hidden.

commit 7b3ce39538c890442a2e46b57bf1911ef7ab8ff8
Author: H.J. Lu <address@hidden>
Date:   Sat Jul 29 21:04:09 2017 -0700

    Don't compile non-lib modules as lib modules [BZ #21864]
    
    Some programs have more than one source files.  These non-lib modules
    should not be compiled with -DMODULE_NAME=libc.  This patch puts these
    non-lib modules in $(others-extras) and adds $(others-extras) to
    all-nonlib.
    
        [BZ #21864]
        * Makerules (all-nonlib): Add $(others-extras).
        * catgets/Makefile (others-extras): New.
        * elf/Makefile (others-extras): Likewise.
        * nss/Makefile (others-extras): Likewise.

commit 54e4b8f21590d57ec9a2f2ad81a17c57e3b3984f
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:32:21 2017 -0700

    Mark __libc_multiple_libcs with attribute_hidden [BZ #18822]
    
    Since __libc_multiple_libcs is defined as hidden symbol in init-first.c,
    it should be always marked with attribute_hidden.
    
        [BZ #18822]
        * csu/libc-start.c (__libc_multiple_libcs): Removed.
        * elf/dl-open.c: Include <libc-internal.h>.
        (__libc_multiple_libcs): Removed.
        * elf/dl-sysdep.c: Include <libc-internal.h> instead of
        <hp-timing.h>.
        * include/libc-internal.h (__libc_multiple_libcs): New.
        * misc/sbrk.c: Include <libc-internal.h>.
        (__libc_multiple_libcs): Removed.

commit 1dbbb1ec7af9026bbdc6dd265525de0c3958406c
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 21 05:31:02 2017 -0700

    Mark internal nss symbols with attribute_hidden [BZ #18822]
    
    Mark internal nss symbols with attribute_hidden to allow direct access
    within libc.so and libc.a without using GOT nor PLT.
    
    Tested on x86-64 with and without --disable-nscd.
    
        [BZ #18822]
        * grp/initgroups.c (__nss_group_database): Removed.
        (__nss_initgroups_database): Likewise.
        * nscd/gai.c (__nss_hosts_database): Likewise.
        * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
        * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
        * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
        * posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
        * sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise.
        * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add
        attribute_hidden.
        * nss/nsswitch.c (__nss_database_custom): Define only if
        USE_NSCD is defined.
        (__nss_configure_lookup): Use __nss_database_custom only if
        USE_NSCD is defined.
        * nss/nsswitch.h (__nss_database_custom): Declare only if
        USE_NSCD is defined.  Add attribute_hidden.
        (__nss_setent): Add attribute_hidden.
        (__nss_endent): Likewise.
        (__nss_getent_r): Likewise.
        (__nss_getent): Likewise.
        (DEFINE_DATABASE): Declare __nss_##arg##_database.

commit 2585d7b839559e665d5723734862fbe62264b25d
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 10:46:47 2017 -0700

    i386: Hide __old_glob64 [BZ #18822]
    
    Hide internal __old_glob64 function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add
        libc_hidden_proto and libc_hidden_def.

commit c8dfa99c984e4bdc7b5363e23ff0d1e8b26da6e5
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 10:45:58 2017 -0700

    i386: Hide __old_readdir64 [BZ #18822]
    
    Hide internal __old_readdir64 function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64):
        Add libc_hidden_proto.
        * sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64):
        Add libc_hidden_def.

commit 91695eb14cadbfbb2ab0f5dddd59fd4e077a04b5
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 06:50:59 2017 -0700

    Remove sysdeps/alpha/bb_init_func.S
    
    Since the generic __bb_init_func has been removed by commit 7ed87317c7fb,
    there is no need for sysdeps/alpha/bb_init_func.S.
    
        [BZ #21974]
        * sysdeps/alpha/bb_init_func.S: Removed.

commit 9476b9047069d89211e06c0bab671b6f41216f5c
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 06:45:25 2017 -0700

    Update ChangeLog

commit 7ed87317c7fb08990e943698ed06c75377320ab0
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 06:39:10 2017 -0700

    Remove __bb_init_func and __bb_exit_func [BZ #21974]
    
    __bb_init_func and __bb_exit_func have been removed from GCC 3.3 in
    2002 by
    
    https://gcc.gnu.org/ml/gcc-patches/2002-09/msg00499.html
    
    which also recommended that they should also be removed from glibc. These
    functions exist only in libc.a and are used for gcov from versions of GCC
    older than GCC 3.3.
    
        [BZ #21974]
        * gmon/Makefile (routines): Remove bb_init_func and
        bb_exit_func.
        (elide-routines.os): Removed.
        * include/sys/gmon.h (__bb): Likewise.
        (__bb_init_func): Likewise.
        (__bb_exit_func): Likewise.

commit 94e6ba153b80a91e97386594729cd36eab69f507
Author: H.J. Lu <address@hidden>
Date:   Sun Aug 20 06:30:29 2017 -0700

    Move ____longjmp_chk prototype to include/setjmp.h
    
    Move ____longjmp_chk prototype to include/setjmp.h and add
    attribute_hidden.
    
        * debug/longjmp_chk.c (____longjmp_chk): Moved to ...
        * include/setjmp.h (____longjmp_chk): Here.  Add
        attribute_hidden.

commit 7550717ed747c90afe49fcd590c4acc3ccade56a
Author: H.J. Lu <address@hidden>
Date:   Sat Aug 19 16:46:33 2017 -0700

    Mark internal SSE2 functions with attribute_hidden [BZ #18822]
    
    Mark internal SSE2 functions with attribute_hidden to allow direct
    access within libc.so and libc.a without using GOT nor PLT.
    
        [BZ #18822]
        * sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add
        attribute_hidden.
        (__strspn_sse2): Likewise.

commit c181840c93d3a8fcb50991b2326c40f34eb5e82b
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:22:58 2017 -0300

    Consolidate non cancellable close call
    
    This patch consolidates all the non cancellable close calls to use
    the __close_nocancel{_nostatus} identifier.  For non cancellable targets
    it will be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Also, since it is used on libcrypto it is also exported in GLIBC_PRIVATE
    namespace.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro.
        (close_not_cancel_no_status): Likewise.
        (__close_nocancel): New macro.
        (__close_nocancel_no_status): Likewise.
        * sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove
        macro.
        (close_not_cancel): Likewise.
        (close_not_cancel_no_status): Likewise.
        (__close_nocancel): New prototype.
        (__close_nocancel_no_status): New function.
        * sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function.
        * catgets/open_catalog.c (__open_catalog): Replace
        close_not_cancel{_no_status) with __close_nocancel{_nostatus}.
        * gmon/gmon.c (write_gmon): Likewise.
        * iconv/gconv_cache.c (__gconv_load_cache): Likewise.
        * intl/loadmsgcat.c (close): Likewise.
        * io/ftw.c (open_dir_stream): Likewise.
        (ftw_startup): Likewise.
        * libio/fileops.c (_IO_file_open): Likewise.
        (_IO_file_close_mmap): Likewise.
        (_IO_file_close): Likewise.
        * libio/iopopen.c (_IO_dup2): Likewise.
        * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
        * locale/loadlocale.c (_nl_load_locale): Likewise.
        * login/utmp_file.c (pututline_file): Likewise.
        (endutent_file): Likewise.
        * misc/daemon.c (daemon): Likewise.
        * nscd/nscd_getai.c (__nscd_getai): Likewise.
        * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
        * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
        * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
        * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
        * nscd/nscd_helper.c (open_socket): Likewise.
        (__nscd_open_socket): Likewise.
        * nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
        * nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise.
        (__nscd_innetgr): Likewise.
        * nss/nss_db/db-open.c (internal_setent): Likewise.
        * resolv/res-close.c (__res_iclose): Likewise.
        * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
        * sysdeps/posix/closedir.c (__closedir): Likewise.
        * sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise.
        * sysdeps/posix/getcwd.c (__getcwd): Likewise.
        * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
        (opendir_tail): Likewise.
        * sysdeps/posix/spawni.c (__spawni_child): Likewise.
        * sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise.
        * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise.
        * sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise.
        * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
        (gethostid): Likewise.
        * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
        * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
        Likewise.
        * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
        * sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise.
        * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
        * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
        Likewise.
        * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise.
        * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise.
        * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
        Likewise.
        * sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise.
        * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
        Likewise.
        * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
        Likewise.
        * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
        * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.

commit 0bb2fabcb3bcac064a3d89917c0736353cdac2f4
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 15:00:26 2017 -0300

    Consolidate non cancellable openat call
    
    This patch consolidates all the non cancellable openat{64} calls to use
    the __openat{64}_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (openat_not_cancel): Remove macro.
        (openat_not_cancel_3): Likewise.
        (openat64_not_cancel_3): Likewise).
        (openat_not_cancel_3): Likewise).
        * sysdeps/unix/sysv/linux/not-cancel.h (openat_not_cancel): Remove
        macro.
        (openat_not_cancel_3): Likewise.
        (openat64_not_cancel): Likewise.
        (openat64_not_cancel_3): Likewise.
        * sysdeps/unix/sysv/linux/openat.c (__openat_nocancel): New function.
        * sysdeps/unix/sysv/linux/openat64.c (__openat64_nocancel): Likewise.
        * io/ftw.c (open_dir_stream): Replace openat{64}_not_cancel{_3} with
        __open{64}_nocancel.
        * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
        * sysdeps/posix/getcwd.c (__getcwd): Likewise.
        * sysdeps/posix/opendir.c (__opendirat): Likewise.

commit 65a086db91d4e06074b461b8e99efcebe1416a3f
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 18 09:31:19 2017 -0700

    Mark internal argz functions with attribute_hidden [BZ #18822]
    
    Move internal argz function prototypes to include/argz.h and mark them
    with attribute_hidden to allow direct access within libc.so and libc.a
    without using GOT nor PLT.  This also brings string/argz.h closer to the
    gnulib version.
    
        [BZ #18822]
        * include/argz.h (__argz_create_sep): New function prototype.
        (__argz_append): Likewise.
        (__argz_add): Likewise.
        (__argz_add_sep): Likewise.
        (__argz_delete): Likewise.
        (__argz_insert): Likewise.
        (__argz_replace): Likewise.
        * string/argz.h (__argz_create_sep): Removed.
        (__argz_append): Likewise.
        (__argz_add): Likewise.
        (__argz_add_sep): Likewise.
        (__argz_delete): Likewise.
        (__argz_insert): Likewise.
        (__argz_replace): Likewise.

commit 62753d2c09108550650ab83a69e99ca28d8bde3b
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 18 08:49:07 2017 -0700

    Add NT_GNU_PROPERTY_TYPE_0 macros
    
    Add macros used in GNU .note.gnu.property notes (NT_GNU_PROPERTY_TYPE_0).
    
        * elf/elf.h (NT_GNU_PROPERTY_TYPE_0): New.
        (NOTE_GNU_PROPERTY_SECTION_NAME): Likewise.
        (GNU_PROPERTY_STACK_SIZE): Likewie.
        (GNU_PROPERTY_NO_COPY_ON_PROTECTED): Likewie.
        (GNU_PROPERTY_LOPROC): Likewise.
        (GNU_PROPERTY_HIPROC): Likewise.
        (GNU_PROPERTY_LOUSER): Likewise.
        (GNU_PROPERTY_HIUSER): Likewise.
        (GNU_PROPERTY_X86_ISA_1_USED): Likwise.
        (GNU_PROPERTY_X86_ISA_1_NEEDED): Likwise.
        (GNU_PROPERTY_X86_FEATURE_1_AND): Likwise.
        (GNU_PROPERTY_X86_ISA_1_486): Likwise.
        (GNU_PROPERTY_X86_ISA_1_586): Likwise.
        (GNU_PROPERTY_X86_ISA_1_686): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSE): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSE2): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSE3): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSSE3): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likwise.
        (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX2): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512F): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likwise.
        (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likwise.
        (GNU_PROPERTY_X86_FEATURE_1_IBT): Likwise.
        (GNU_PROPERTY_X86_FEATURE_1_SHSTK): Likwise.

commit 6913ad65e00bb32417ad39c41d292b976171e27e
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Aug 14 17:51:51 2017 -0300

    Do not use generic selection in C++ mode
    
    The logic to protect the use of generic selection (_Generic) does not
    check for C or C++ mode, however, generic selection is a C-only
    feature.
    
    Tested for powerpc64le.
    
        * misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if
        in C++ mode.

commit 47a67213a9f51c5f8816d240500b10db605d8b77
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Fri Aug 11 14:29:06 2017 -0300

    Do not use __builtin_types_compatible_p in C++ mode (bug 21930)
    
    The logic to define isinf for float128 depends on the availability of
    __builtin_types_compatible_p, which is only available in C mode,
    however, the conditionals do not check for C or C++ mode.  This lead to
    an error in libstdc++ configure, as reported by bug 21930.
    
    This patch adds a conditional for C mode in the definition of isinf for
    float128.  No definition is provided in C++ mode, since libstdc++
    headers undefine isinf.
    
    Tested for powerpc64le (glibc test suite and libstdc++-v3 configure).
    
        [BZ #21930]
        * math/math.h (isinf): Check if in C or C++ mode before using
        __builtin_types_compatible_p, since this is a C mode feature.

commit c647fb885cb678471f6b6a66f394b4ca5515a016
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 14:39:52 2017 -0300

    Consolidate non cancellable write call
    
    This patch consolidates all the non cancellable write calls to use
    the __write_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (write_not_cancel): Remove macro.
        (__write_nocancel): New macro.
        * sysdeps/unix/sysv/linux/not-cancel.h (__write_nocancel):
        Rewrite as a function prototype.
        (write_not_cancel): Remove macro.
        * sysdeps/unix/sysv/linux/write.c (__write_nocancel): New function.
        * gmon/gmon.c (ERR): Replace write_not_cancel with __write_nocancel.
        (write_gmon): Likewise.
        * libio/fileops.c (_IO_new_file_write): Likewise.
        * login/utmp_file.c (pututline_file): Likewise.
        (updwtmp_file): Likewise.
        * stdio-common/psiginfo.c (psiginfo): Likewise.
        * sysdeps/posix/spawni.c (__spawni_child): Likewise.
        * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
        * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
        Likewise.
        * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
        Likewise.

commit a748eb31c137e9b69c3d81765271a544f93f8fe5
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 14:20:46 2017 -0300

    Consolidate non cancellable read call
    
    This patch consolidates all the non cancellable read calls to use
    the __read_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    Also, since it is used on libcrypto it is also exported in GLIBC_PRIVATE
    namespace.
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro.
        (__read_nocancel): New macro.
        * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
        __read_nocancel.
        * sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove
        macro.
        (__read_nocancel): New prototype.
        * sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function.
        * catgets/open_catalog.c (__open_catalog): Replace read_not_cancel
        with __read_nocancel.
        * intl/loadmsgcat.c (read): Likewise.
        * libio/fileops.c (_IO_file_read): Likewise.
        * locale/loadlocale.c (_nl_load_locale): Likewise.
        * login/utmp_file.c (getutent_r_file): Likewise.
        (internal_getut_r): Likewise.
        (getutline_r_file): Likewise.
        * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
        * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
        * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
        * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
        Likewise.
        * sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise.
        * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
        * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
        Likewise.
        * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
        Likewise.
        * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
        Likewise.
        * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
        Likewise.
        * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.

commit 098b9dd46814f7e624e42a8844c169f3edc67052
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 18 06:18:55 2017 -0700

    x86-64: Check FMA_Usable in ifunc-mathvec-avx2.h [BZ #21966]
    
    Since the AVX2 version of mathvec functions uses FMA, it can only be
    used when FMA is usable.
    
        [BZ #21966]
        * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h
        (IFUNC_SELECTOR): Don't use the AVX2 version if FMA isn't
        usable.

commit 486afa6d27156665959e59b86e7aad18c3832cbe
Author: Mike FABIAN <address@hidden>
Date:   Fri Aug 18 13:41:34 2017 +0200

    Use the range notation in charmaps/UTF-8 for all ranges of neighbouring 
characters with the same width
    
        [BZ #21750]
        * charmaps/UTF-8: Use the range notation for all ranges
        of neighbouring characters with the same width.

commit a3fe6a20bf81ef6a97a761dac9050517e7fd7a1f
Author: DJ Delorie <address@hidden>
Date:   Thu Aug 17 17:58:25 2017 -0400

    Update nss tests to new skeleton
    
    * bug17079.c: Update to new test harness.
    * test-digits-dots.c: Likewise.
    * test-netdb.c: Likewise.
    * tst-field.c: Likewise.
    * tst-nss-getpwent.c: Likewise.
    * tst-nss-static.c: Likewise.
    * tst-nss-test1.c: Likewise.
    * tst-nss-test2.c: Likewise.
    * tst-nss-test3.c: Likewise.
    * tst-nss-test4.c: Likewise.
    * tst-nss-test5.c: Likewise.

commit c22845744cd931267e0d7cb2e2b35a0da9c9510a
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 3 11:11:24 2017 -0300

    Consolidate non cancellable open call
    
    This patch consolidates all the non cancellable open calls to use
    the __open_nocancel identifier.  For non cancellable targets it will
    be just a macro to call the default respective symbol while on Linux
    will be a internal one.
    
    To be consistent with the following non cancellable openat call, a
    new __open64_nocancel is also added (although not currently used).
    
    Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
    
        * sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro.
        (open_not_cancel_2): Likewise.
        (open_nocancel): New macro.
        (open64_nocancel): Likewise.
        * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro.
        (open_not_cancel_2): Likewise.
        (__open_nocancel): New prototype.
        (__open64_nocancel): Likewise.
        * sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
        __open_nocancel.
        * sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function.
        * sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise.
        * catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2}
        with __open_nocancel.
        * csu/check_fds.c (check_one_fd): Likewise.
        * gmon/gmon.c (write_gmon): Likewise.
        * iconv/gconv_cache.c (__gconv_load_cached): Likewise.
        * intl/loadmsgcat.c (open): Likewise.
        * libio/fileops.c (_IO_file_open): Likewise.
        * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
        * locale/loadlocale.c (_nl_load_locale): Likewise.
        * login/utmp_file.c (setutent_file): Likewise.
        * misc/daemon.c (daemon): Likewise.
        * nss/nss_db/db-open.c (internal_setent): Likewise.
        * sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
        * sysdeps/posix/libc_fatal.c (__libc_message): Likewise.
        * sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
        (__opendir): Likewise.
        * sysdeps/posix/spawni.c (__spawni_child): Likewise.
        * sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
        * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
        (gethostid): Likewise.
        * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
        * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
        Likewise.
        * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
        * sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise.
        * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
        * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
        Likewise.
        * sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
        Likewise.
        * sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
        Likewise.
        * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq):
        Likewise.
        * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
        Likewise.
        * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
        Likewise.
        * sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
        * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.

commit d4505b895f2aa577a6b974ab4bd0a1fd0db60ceb
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Aug 17 16:27:20 2017 +0100

    Add math benchmark latency test
    
    This patch further improves math function benchmarking by adding a latency
    test in addition to throughput.  This enables more accurate comparisons of 
the
    math functions. The latency test works by creating a dependency on the 
previous
    iteration: func_res = F (func_res * zero + input[i]). The multiply by zero
    avoids changing the input.
    
    It reports reciprocal throughput and latency in nanoseconds (depending on 
the
    timing header used) and max/min throughput in iterations per second:
    
       "workload-spec2006.wrf": {
        "reciprocal-throughput": 100,
        "latency": 200,
        "max-throughput": 1.0e+07,
        "min-throughput": 5.0e+06
       }
    
        * benchtests/bench-skeleton.c (main): Add support for
        latency benchmarking.
        * benchtests/scripts/bench.py: Add support for latency benchmarking.

commit 34d6a3cbf2be45aa039a7eb9f0084a4b710437b8
Author: H.J. Lu <address@hidden>
Date:   Thu Aug 17 04:55:44 2017 -0700

    Support mcount/gprof test with GCC defaulting to PIE
    
    The mcount/gprof test should be linked with gcrt1.o, not Scrt1.o.
    
        * Makeconfig (+link-pie-before-libc): Add CRT-* hook to override
        the startup object.

commit bb6274ee1293a6bc76d9d7c889783303de181295
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 16 15:33:58 2017 +0530

    Fix abmon for bem_ZM
    
    Until now the abbreviated month names were in English.
    
        [BZ #21960]
        * locales/bem_ZM (LC_TIME): Fix abmon, make it agree with CLDR.

commit c14b84baae83bfb73f7cd00ba7c24964ad1c712c
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 16 18:01:53 2017 +0530

    Fix country name for xh_ZA
    
        [BZ #21959]
        * locales/xh_ZA (LC_ADDRESS): Fix country name.

commit 7a79e321c6f85b204036c33d85f6b2aa794e7c76
Author: Thorsten Glaser <address@hidden>
Date:   Fri Jul 14 14:02:50 2017 +0200

    Refresh generated charmap data and ChangeLog
    
        [BZ #21750]
        * charmaps/UTF-8: Refresh.

commit 267ee5d7ab57591a6b1bc2d2a010c88188427063
Author: Thorsten Glaser <address@hidden>
Date:   Fri Jul 14 14:02:46 2017 +0200

    Resolve some historically special cases of ambiguous width
    
    [BZ #21750]
    * unicode-gen/utf8_gen.py (U+00AD): Set width to 1.
    * unicode-gen/utf8_gen.py (U+1160..U+11FF): Set width to 0.
    * unicode-gen/utf8_gen.py (U+3248..U+324F): Set width to 2.
    * unicode-gen/utf8_gen.py (U+4DC0..U+4DFF): Likewise.

commit 41b6f0ce85d98c62739b04863e8c38a1f4154e80
Author: Thorsten Glaser <address@hidden>
Date:   Fri Jul 14 14:02:44 2017 +0200

    Handle more cases of combining characters
    
    [BZ #21750]
    * unicode-gen/utf8_gen.py: Treat category Me and Mn as combining.

commit 580be3035d2e0f479c4ac955bf719b0bf936f5cf
Author: Thorsten Glaser <address@hidden>
Date:   Fri Jul 14 14:02:37 2017 +0200

    UnicodeData has precedence over EastAsianWidth
    
    [BZ #19852]
    [BZ #21750]
    * unicode-gen/utf8_gen.py: Process EastAsianWidth lines before
      UnicodeData lines so the latter have precedence; remove hack
      to group output by EastAsianWidth ranges.

commit 038d1cafafb3094a9fbebd35f4aa8d0ebae0e55b
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 17 10:18:04 2017 +0200

    __opensock: Remove internal_function attribute

commit 67f0aff0c63e5deaade7f6cc7758f5cb63344fb8
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 16 20:33:59 2017 +0000

    Fix sigval namespace (bug 21944).
    
    XPG4.2 defines the siginfo_t type, but not union sigval or its
    contents (which were added in the 1993 edition of POSIX.1), resulting
    in namespace violations for sigval, sival_int and sival_ptr for
    signal.h and sys/wait.h for that standard because those headers
    incorrectly expose those names in that case.
    
    This patch fixes this problem.  The public type in this case is union
    sigval, but various places in the headers use the sigval_t name for
    it; direct uses of union sigval are already properly guarded or in
    headers not in XPG4.2.  Now, sigval_t, although not a standard name,
    does seem to be widely used outside glibc.  The approach taken by this
    patch is to make installed headers use the name __sigval_t instead.
    __sigval_t is then defined to either union sigval or union __sigval
    (where union __sigval has __-prefixed member names as well), depending
    on whether there are any namespace issues with the union sigval name
    and its members.  In the case where union __sigval is used, sigval_t
    is not defined at all, to avoid the problem of sigval_t having a C++
    mangled name that depends on feature test macros.  sigval_t is still
    defined by signal.h if __USE_MISC (reflecting the nonstandard nature
    of that name).
    
    Tested for x86_64.
    
        [BZ #21944]
        * signal/bits/types/__sigval_t.h: New file.
        * signal/Makefile (headers): Add bits/types/__sigval_t.h.
        * signal/bits/types/sigval_t.h: Include <bits/types/__sigval_t.h>
        and define sigval_t using __sigval_t.
        * include/bits/types/__sigval_t.h: New file.
        * bits/types/sigevent_t.h: Include <bits/types/__sigval_t.h>
        instead of <bits/types/__sigval_t.h>.
        (struct sigevent): Use __sigval_t instead of sigval_t.
        * bits/types/siginfo_t.h: Include <bits/types/__sigval_t.h>
        instead of <bits/types/__sigval_t.h>.
        (siginfo_t): Use __sigval_t instead of sigval_t.
        * sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include
        <bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
        (struct sigevent): Use __sigval_t instead of sigval_t.
        * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include
        <bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
        (siginfo_t): Use __sigval_t instead of sigval_t.
        * signal/signal.h [__USE_MISC]: Include <bits/types/sigval_t.h>.

commit 87e7bf4d36af0a4622dc2687730f26d7d53003fe
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 16 11:05:55 2017 -0700

    Remove "[Add new features here]" for 2.27
    
        * NEWS: Remove "[Add new features here]" for 2.27.

commit 5047057ffa1c737cc432eec3113ae6fcd327adf4
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 16 17:01:27 2017 +0000

    Allow abort PLT references in libc.so for SH.
    
    Given my patch
    <https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00965.html> for the
    ICEs building a glibc string function test for SH, the testsuite can
    build completely for SH with GCC 7 and mainline.  However, there is a
    test failure that does not appear for GCC 6: check-localplt fails
    because of an abort PLT reference in libc.so.
    
    Given the lack of a trap insn pattern for SH, it seems unavoidable
    that the compiler might sometimes generate abort calls, and such abort
    calls (generated from __builtin_trap when there is no trap insn
    pattern) will be unaffected by the normal mapping to __GI_abort for
    calls within glibc.  Thus, this patch allows (but does not require) an
    abort PLT reference in libc.so for SH.
    
    Tested for sh4-linux-gnu with build-many-glibcs.py (GCC 7, with my
    patch applied).
    
        * sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in
        libc.so.

commit 20c7b195d0f67eeb55bad1b1879250f277ac7eb6
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 16 09:17:34 2017 -0700

    Mention x86-64 FMA optimization in NEWS
    
        * NEWS: Mention x86-64 FMA optimization.

commit 24a2e6588d2e0c91b4003878b0625d4a9360e8f3
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 16 08:43:35 2017 -0700

    x86-64: Optimize e_expf with FMA [BZ #21912]
    
    FMA optimized e_expf improves performance by more than 50% on Skylake.
    
        [BZ #21912]
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_expf-fma.
        * sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file.
        * sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise.

commit 403143e1df85dadd374f304bd891be0cd7573e3b
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 16 16:47:20 2017 +0200

    Add ChangeLog reference to bug 16750/CVE-2009-5064

commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c
Author: Andreas Schwab <address@hidden>
Date:   Wed Aug 16 15:59:55 2017 +0200

    ldd: never run file directly

commit f59f7adb4a00b7784cab1becdf257366104587b7
Author: H.J. Lu <address@hidden>
Date:   Tue Aug 15 14:04:59 2017 -0700

    x86-64: Align L(SP_RANGE)/L(SP_INF_0) to 8 bytes [BZ #21955]
    
    sysdeps/x86_64/fpu/e_expf.S has
    
            lea     L(SP_RANGE)(%rip), %rdx /* load over/underflow bound */
            cmpl    (%rdx,%rax,4), %ecx     /* |x|<under/overflow bound ? */
    ...
            /* Here if |x| is Inf */
            lea     L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
            movss   (%rdx,%rax,4), %xmm0    /* return zero or Inf */
            ret
    ...
             .section .rodata.cst8,"aM",@progbits,8
    ...
            .p2align 2
    L(SP_RANGE): /* single precision overflow/underflow bounds */
            .long   0x42b17217      /* if x>this bound, then result overflows */
            .long   0x42cff1b4      /* if x<this bound, then result underflows 
*/
            .type L(SP_RANGE), @object
            ASM_SIZE_DIRECTIVE(L(SP_RANGE))
    
            .p2align 2
    L(SP_INF_0):
            .long   0x7f800000      /* single precision Inf */
            .long   0               /* single precision zero */
            .type L(SP_INF_0), @object
            ASM_SIZE_DIRECTIVE(L(SP_INF_0))
    
    Since L(SP_RANGE) and L(SP_INF_0) are in .rodata.cst8 section, they must
    be aligned to 8 bytes.
    
        [BZ #21955]
        * sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes.
        (L(SP_INF_0)): Likewise.

commit 6b11a6ad714e7f2bb83556c77d2306e55a94ca54
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 15 18:35:42 2017 +0200

    gmon: Run tst-gmon-prof only for run-built-tests=yes

commit bbf5c4388acdd83fe651c82c6af5e1958202101f
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 15 17:28:37 2017 +0200

    aio: Remove support for BROKEN_THREAD_SIGNALS
    
    This was originally added to support LinuxThreads and is not needed for
    NPTL.

commit 6014c65de2ac75ac4ef147754d80c7992f07ece8
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 15 15:49:40 2017 +0200

    gmon: Add test for basic mcount/gprof functionality

commit ee72219a497b6317c49dc0a9a02308fe408c8c5e
Author: Gustavo Romero <address@hidden>
Date:   Tue Aug 15 10:17:30 2017 -0300

    powerpc: Add values from Linux 4.8 to <elf.h>
    
    Add powerpc specific note sections available since Linux v4.8.
    
        * elf/elf.h A (NT_PPC_TAR): New macro.
        (NT_PPC_PPR): Likewise.
        (NT_PPC_DSCR): Likewise.
        (NT_PPC_EBB): Likewise.
        (NT_PPC_PMU): Likewise.
        (NT_PPC_TM_CGPR): Likewise.
        (NT_PPC_TM_CFPR): Likewise.
        (NT_PPC_TM_CVMX): Likewise.
        (NT_PPC_TM_CVSX): Likewise.
        (NT_PPC_TM_SPR): Likewise.
        (NT_PPC_TM_CTAR): Likewise.
        (NT_PPC_TM_CPPR): Likewise.
        (NT_PPC_TM_CDSCR): Likewise.

commit 4ebf934e34c947ed50d0a3ff68c40bc72e50ecc9
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 15 14:46:19 2017 +0200

    i386: Replace internal_function attribute for __mcount_internal
    
    __mcount_internal is called from assembler code.  Use an explicit
    regparm attribute to pass both arguments in registers, to match what
    used to happen with internal_function before commit
    fbdc1e3e8de7f49e439b6e274d3e7e07da78416e (i386: Do not set
    internal_function).

commit e9f57484aa18dff76dcad7a3943f08bb7affb840
Author: Stefan Liebler <address@hidden>
Date:   Tue Aug 15 14:00:07 2017 +0200

    S390: Add new s390 platform z14.
    
    The new IBM z14 is added to platform string array.
    The macro _DL_PLATFORMS_COUNT is incremented.
    
    ChangeLog:
    
        * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14.
        * sysdeps/s390/dl-procinfo.h (_DL_PLATFORMS_COUNT): Increased.

commit 54d68f5f61fc016b18101a822f9343a612ad1bc0
Author: Mike FABIAN <address@hidden>
Date:   Mon Aug 14 19:48:27 2017 +0200

    Change language name in LC_IDENTIFICATION of bn_BD and bn_IN from 
“Bengali” to “Bangla”
    
        [BZ #14925]
        * locales/bn_BD (LC_IDENTIFICATION): Change language name in
        “title” and “language” from Bengali to Bangla.
        * locales/bn_IN (LC_IDENTIFICATION): Likewise.

commit dbb488ff46f6657dd21d4f492a841cdcf52d65fa
Author: Mike FABIAN <address@hidden>
Date:   Mon Aug 14 19:05:17 2017 +0200

    Use “copy "i18n"” in km_KH locale
    
    The custom stuff which was in LC_CTYPE of the km_KH locale seems
    to be a very incomplete subset of what one gets by using
    “copy "i18n"”. I cannot find anything special there which is not
    in “copy "i18n"”, only lots of stuff which is missing.
    
        [BZ #20008]
        * locales/km_KH (LC_CTYPE): Use “copy "i18n"”.

commit 88ff4d5561f3ee0472b47cabf3741fb083bd27e8
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 14 17:05:55 2017 +0000

    conformtest: Disable si_value expectation for XPG42.
    
    This patch corrects the conform/ expectations for sys/wait.h not to
    expect si_value for XPG4.2.
    
    Tested for x86_64.
    
        * conform/data/sys/wait.h-data (si_value): Do not expect for
        XPG42.

commit c88ffc239e8d8820f6d1d4e185984e6093a1e4d7
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 14 17:12:05 2017 +0200

    NSS: Replace exported NSS lookup functions with stubs [BZ #21962]
    
    Commit 384ca551743318bd9c9e24a496d6397f2e3f2a49 from 2007 added this to
    nss/XXX-lookup.c:
    
    +#ifndef NO_COMPAT
    +int
    +internal_function attribute_compat_text_section
    +DB_COMPAT_FCT (service_user **ni, const char *fct_name, void **fctp)
    +{
    +  return DB_LOOKUP_FCT (ni, fct_name, NULL, fctp);
    +}
    +#endif
    
    That is, it adds a pseudo-compat function with an internal_function
    attribute.  The function it was supposed to replace did not have the
    attribute:
    
     extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name,
    -                     void **fctp) internal_function;
    +                     const char *fct2_name, void **fctp)
    +  internal_function;
    
    This changed the calling convention on i386 for the following
    functions in the public ABI:
    
      __nss_passwd_lookup
      __nss_group_lookup
      __nss_hosts_lookup
    
    This commit replaces the functions with always-failing stubs,
    with true compat symbols.  Due to a happy accident, the calling
    convention of the stub is identical for the internal_function
    and non-internal_function case on i386.
    
    In addition, this commit auto-generates the __nss_*_lookup2
    function declarations as part of <nsswitch.h>.

commit 2a124c616384f140a21ee675b3e6799f8e0e7592
Author: Mike FABIAN <address@hidden>
Date:   Mon Aug 14 17:12:37 2017 +0200

    Use two letter abbreviations in abday in all German locales.
    
        [BZ #20482]
        * locales/de_AT (LC_TIME): Use 2 letter abbreviations in abday.
        * locales/de_BE (LC_TIME): Use 2 letter abbreviations in abday.
        * locales/de_CH (LC_TIME): Use 2 letter abbreviations in abday.
        * locales/de_DE (LC_TIME): Use readable ASCII in abday.
        * locales/de_IT (LC_TIME): Use readable ASCII in abday.
        * locales/de_LU (LC_TIME): Use 2 letter abbreviations in abday.

commit 66ba2e4ae5ab35e1a1cf8ab32f0382dc4270d07c
Author: Julen Ruiz Aizpuru <address@hidden>
Date:   Mon Aug 14 15:56:00 2017 +0200

    Fix thousands_sep and grouping and use readable ASCII for decimal_point in 
eu_ES locale
    
        [BZ #12349]
        * locales/eu_ES (LC_NUMERIC): Fix thousands_sep and grouping
        and use readable ASCII for decimal_point.

commit 1f14d0c3ddce47f7021bbc0862fdb207891345dc
Author: Adhemerval Zanella <address@hidden>
Date:   Sun Aug 6 11:14:32 2017 -0300

    posix: Fix mmap for m68k and ia64 (BZ#21908)
    
    Default semantic for mmap2 syscall is to take the offset in 4096-byte
    units.  However m68k and ia64 mmap2 implementation take in the
    configured pageunit units and for both architecture it can be
    different values.
    
    This patch fixes the m68k runtime discover of mmap2 offset unit
    and adds the ia64 definition to find it at runtime.
    
    Checked the basic tst-mmap and tst-mmap-offset on m68k (the system
    is configured with 4k, so current code is already passing on this
    system) and a sanity check on x86_64-linux-gnu (which should not be
    affected by this change).  Sergei also states that ia64 loader now
    work correctly with this change.
    
        Adhemerval Zanella  <address@hidden>
        Sergei Trofimovich  <address@hidden>
    
        * sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT):
        Rename to MMAP2_PAGE_UNIT.
        * sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff
        __OFF_T_MATCHES_OFF64_T is not defined.
        * sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as
        uint64_t.
        (MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit.
        (page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition.

commit fbdc1e3e8de7f49e439b6e274d3e7e07da78416e
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 14 13:03:34 2017 +0200

    i386: Do not set internal_function
    
    All calls to functions with the internal_function attribute
    have been removed from assembler implementations, which means that
    the definition of internal_function can be changed at the C level
    without causing ABI issues with assembler code.
    
    _dl_fixup still uses a regparm calling convention on i386, but this
    is controlled through ARCH_FIXUP_ATTRIBUTE, not internal_function.

commit b3f85fd2e43b1d69384396a6d99fa2135dbf46e3
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 14 12:57:50 2017 +0200

    _dl_init: Remove internal_function attribute
    
    The function is called from the i386 startup code, which needs minor
    adjustments due to the changed ABI.

commit 630bf4916f10bdba28a99480ef32170b977ea5fc
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 14 12:29:21 2017 +0200

    _dl_start: Remove internal_function attribute
    
    The i386 startup code needs adjusting because it calls the function
    and the ABI has changed.

commit 9fa7449b35244645acaa450046b37678f46fe0f1
Author: Florian Weimer <address@hidden>
Date:   Mon Aug 14 11:44:24 2017 +0200

    _dl_fini: Remove internal_function attribute
    
    Assembler code passes the address of _dl_fini to __libc_start_main,
    whose function pointer argument lacks the attribute.  This means
    that calls could use the wrong ABI.  Fortunately, for zero-parameter
    void-returning functions, internal_function does not change ABI
    on i386 (the only architecture which uses internal_function), so
    this inconsistency was harmless (which is why it had not been
    noticed so far).

commit 73322d5ff6ad71c65f875095c4801771cff9ab2d
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 14 05:54:25 2017 -0700

    x86: Add IBT/SHSTK bits to cpu-features
    
    Add IBT/SHSTK bits to cpu-features for Shadow Stack in Intel Control-flow
    Enforcement Technology (CET) instructions:
    
    
https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
        * sysdeps/x86/cpu-features.h (bit_cpu_BIT): New.
        (bit_cpu_SHSTK): Likewise.
        (index_cpu_IBT): Likewise.
        (index_cpu_SHSTK): Likewise.
        (reg_IBT): Likewise.
        (reg_SHSTK): Likewise.
        * sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
        Handle index_cpu_IBT and index_cpu_SHSTK.

commit dbc303ef76503793b4744004984d248346602479
Author: Mike FABIAN <address@hidden>
Date:   Mon Aug 14 09:25:56 2017 +0200

    Fix spelling mistake in fr.po
    
        [BZ #19982]
        * po/fr.po: Fix spelling mistake.

commit 3012cfb0d26653cbd6ee0c8e4875d3df806bd473
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:11:54 2017 +0200

    ld.so: Remove internal_function attribute from various functions
    
    These functions are invoked from other DSOs and should therefore
    use the standard calling convention.

commit 52bcdf267b2c97c90852f1598c8c29d0494cb3b5
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:11:47 2017 +0200

    Remove internal_function attribute from string-to-float functions
    
    These are called across DSO boundaries and should therefore use
    the standard calling convention.

commit e1d2ae8d217e50551802f3906099c8adc9f0811e
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:11:38 2017 +0200

    NPTL: Remove internal_function from stack marking functions
    
    These are called across DSO boundaries and therefore should use
    the ABI calling convention.

commit c4ce038287c907495d589104e497991185d43c89
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:11:28 2017 +0200

    __netlink_assert_response: Remove internal_function attribute
    
    This function is called from nscd and should not use a non-standard
    calling convention.

commit c4d767f7f35efa43f072d494185f1cea4a7bd871
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:11:06 2017 +0200

    __libc_rpc_getport: Remove internal_function attribute
    
    This function has a hidden alias and is therefore expected to be
    called across DSO boundaries.

commit b22974092d09a61fdb371b28837175bb616e78cf
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:10:56 2017 +0200

    NSS: Do not use internal_function for functions with hidden aliases
    
    Such functions are called across DSO boundaries and should not
    use a non-standard ABI.

commit 1b0bfc6946b460bcebe9db19a015f2cac711f7f5
Author: Florian Weimer <address@hidden>
Date:   Sun Aug 13 21:10:44 2017 +0200

    __fortify_fail: Remove internal_function attribute
    
    __fortify_fail is called across DSO boundaries, so it should not
    use a non-standard calling convention.

commit a6bd872286b981b08577218c00e1ea693bad6095
Author: Mike FABIAN <address@hidden>
Date:   Sat Aug 12 17:15:25 2017 +0200

    Adapt test case data to the changes in the thousands separators
    
        [BZ #20756]
        * localedata/tst-langinfo.sh: Adapt test case data.
        * stdlib/tst-strfmon_l.c: Likewise.
        * stdlib/tst-strtod4.c: Likewise.
        * stdlib/tst-strtod5i.c: Likewise.

commit d68b451903acfa1f8c64bb168b2cbe78beeacb3d
Author: Mike FABIAN <address@hidden>
Date:   Sat Aug 12 15:34:36 2017 +0200

    Use U+202F instead of U+2009 as thousands_sep for es_MX
    
    See also [BZ #20756].
    
    U+202F NARROW NO-BREAK SPACE: a narrow form of a no-break space,
    typically the width of a thin space or a mid space.
    
    U+2009 THIN SPACE.

commit 70a6707fa15e63591d991761be025e26e8d02bb6
Author: Stanislav Brabec <address@hidden>
Date:   Wed Nov 2 16:52:58 2016 +0100

    Locales: Use Unicode wise thousands separator
    
    Many languages use small gap as thousands separator.
    
    Thousands separator should not be a plain space, but a narrow space.
    And additionally, it is not allowed to wrap line in the middle of the
    number.
    
    Locale data were created in a deep age of 8-bit encodings, so most of
    them use space (incorrect: it allows wrapping the line in the middle
    of the number), or NBSP (better, but typographically incorrect: space
    between groups is too wide).
    
    Now UNICODE is widely supported, so we should leave legacy characters
    in favor of correct UNICODE character.
    
    UNICODE has a dedicated character for this purpose:
    
    NNBSP
    U+202F NARROW NO-BREAK SPACE: a narrow form of a no-break space,
    typically the width of a thin space or a mid space
    
    The NNBSP exists since Unicode 3.0.
    
    Use of NNBSP will prevent line wrapping in the midle of number and
    improve readability of numbers.
    
        [BZ #20756]
        * locales/aa_DJ (LC_MONETARY): Replace space by NNBSP as thousands 
separator.
        * locales/az_AZ (LC_MONETARY): Likewise.
        * locales/be_BY (LC_MONETARY): Likewise.
        * locales/address@hidden (LC_MONETARY): Likewise.
        * locales/bg_BG (LC_MONETARY): Likewise.
        * locales/bs_BA (LC_MONETARY): Likewise.
        * locales/ce_RU (LC_MONETARY): Likewise.
        * locales/crh_UA (LC_MONETARY): Likewise.
        * locales/cs_CZ (LC_MONETARY): Likewise.
        * locales/cs_CZ (LC_NUMERIC): Likewise.
        * locales/cv_RU (LC_MONETARY): Likewise.
        * locales/de_AT (LC_MONETARY): Likewise.
        * locales/eo (LC_MONETARY): Likewise.
        * locales/es_CR (LC_MONETARY): Likewise.
        * locales/es_CR (LC_NUMERIC): Likewise.
        * locales/es_CU (LC_MONETARY): Likewise.
        * locales/et_EE (LC_MONETARY): Likewise.
        * locales/et_EE (LC_NUMERIC): Likewise.
        * locales/fi_FI (LC_MONETARY): Likewise.
        * locales/fi_FI (LC_NUMERIC): Likewise.
        * locales/fr_CA (LC_MONETARY): Likewise.
        * locales/fr_FR (LC_MONETARY): Likewise.
        * locales/fr_FR (LC_NUMERIC): Likewise.
        * locales/fr_LU (LC_MONETARY): Likewise.
        * locales/fr_LU (LC_NUMERIC): Likewise.
        * locales/hr_HR (LC_MONETARY): Likewise.
        * locales/ht_HT (LC_NUMERIC): Likewise.
        * locales/kk_KZ (LC_MONETARY): Likewise.
        * locales/kk_KZ (LC_NUMERIC): Likewise.
        * locales/ky_KG (LC_MONETARY): Likewise.
        * locales/ky_KG (LC_NUMERIC): Likewise.
        * locales/lv_LV (LC_MONETARY): Likewise.
        * locales/lv_LV (LC_NUMERIC): Likewise.
        * locales/mg_MG (LC_MONETARY): Likewise.
        * locales/mhr_RU (LC_MONETARY): Likewise.
        * locales/mk_MK (LC_MONETARY): Likewise.
        * locales/mk_MK (LC_NUMERIC): Likewise.
        * locales/mn_MN (LC_MONETARY): Likewise.
        * locales/nb_NO (LC_MONETARY): Likewise.
        * locales/nb_NO (LC_NUMERIC): Likewise.
        * locales/nl_AW (LC_MONETARY): Likewise.
        * locales/nl_NL (LC_MONETARY): Likewise.
        * locales/nn_NO (LC_MONETARY): Likewise.
        * locales/os_RU (LC_MONETARY): Likewise.
        * locales/pap_AW (LC_MONETARY): Likewise.
        * locales/pap_CW (LC_MONETARY): Likewise.
        * locales/ru_RU (LC_MONETARY): Likewise.
        * locales/ru_RU (LC_NUMERIC): Likewise.
        * locales/ru_UA (LC_MONETARY): Likewise.
        * locales/sk_SK (LC_MONETARY): Likewise.
        * locales/sk_SK (LC_NUMERIC): Likewise.
        * locales/sl_SI (LC_MONETARY): Likewise.
        * locales/sl_SI (LC_NUMERIC): Likewise.
        * locales/sq_MK (LC_MONETARY): Likewise.
        * locales/sv_SE (LC_MONETARY): Likewise.
        * locales/sv_SE (LC_NUMERIC): Likewise.
        * locales/tg_TJ (LC_MONETARY): Likewise.
        * locales/tt_RU (LC_MONETARY): Likewise.
        * locales/address@hidden (LC_MONETARY): Likewise.
        * locales/uk_UA (LC_MONETARY): Likewise.
        * locales/uk_UA (LC_NUMERIC): Likewise.
        * locales/unm_US (LC_MONETARY): Likewise.
        * locales/unm_US (LC_NUMERIC): Likewise.
        * locales/wo_SN (LC_MONETARY): Likewise.

commit 8b2c63e4e2ad1fd161f80004ed30624f2a37b57b
Author: Florian Weimer <address@hidden>
Date:   Fri Aug 11 15:36:08 2017 +0200

    assert: Suppress pedantic warning caused by statement expression

commit 86c6519ee77d241575653206f33dbe1d4c8436cf
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Aug 11 12:17:46 2017 +0530

    benchtests: Print json in memmove benchmark
    
    Make the memmove benchmarks (bench-memmove and bench-memmove-large)
    print their output in JSON so that they can be evaluated using the
    compare_strings.py script.
    
        * benchtests/bench-memmove-large.c: Print output in JSON
        format.
        * benchtests/bench-memmove.c: Likewise.

commit 61c982910da9b60f7ac48eb1caaac1f4b013dbb1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Fri Aug 11 12:17:24 2017 +0530

    benchtests: Remove verification runs from benchmark tests
    
    The test run is unnecessary and interferes with the benchmark.  The
    tests are done during make check, so they're unnecessary here.
    
        * benchtests/bench-memccpy.c (do_one_test): Remove checks.
        * benchtests/bench-memchr.c (do_one_test): Likewise.
        * benchtests/bench-memcpy-large.c (do_one_test): Likewise.
        * benchtests/bench-memcpy.c (do_one_test): Likewise.
        * benchtests/bench-memmove-large.c (do_one_test): Likewise.
        * benchtests/bench-memmove.c (do_one_test): Likewise.
        * benchtests/bench-memset-large.c (do_one_test): Likewise.
        * benchtests/bench-memset.c (do_one_test): Likewise.
        * benchtests/bench-string.h (test_init): Remove memsets.

commit 925733a913ff7087e56f6ffebd2998f683212e78
Author: Rical Jasan <address@hidden>
Date:   Thu Jul 27 05:04:48 2017 -0700

    manual: Rewrite the section on widths of integer types.
    
    The manual contradicted itself by saying the number of bits in an
    integer type needed to be computed, and then listing a number of
    macros that later standards provided for exactly that.  The entire
    section has been reworked to provide those macros first, while
    preserving the documentation of CHAR_BIT and the associated examples
    within that context.
    
        * manual/lang.texi
        (Computing the Width of an Integer Data Type): Rename section
        to "Width of an Integer Type".  Remove inaccurate statement
        regarding lack of C language facilities for determining width
        of integer types, and reorder content to improve flow and
        context of discussion.

commit 4fcdfbfcf9d5c5a313da43f78309aa2745b2dc32
Author: Rical Jasan <address@hidden>
Date:   Tue Jun 20 03:46:24 2017 -0700

    manual: Update @standards for [__]va_copy.
    
    The ISO version in which va_copy was introduced is made explicit, and
    __va_copy is given @standards.  The description is updated to be more
    clear about the origins of each macro, and the reader is informed
    these macros are now provided by the compiler (information previously
    embedded in a Texinfo @comment).
    
        * lang.texi (va_copy): Change standard from ISO to C99.
        (__va_copy): Add standard and header annotation.
        Update description for clarity of origins and current use.

commit 4d98ace9de3183309cb394cd0110eda5ad2d2531
Author: Gabriel F. T. Gomes <address@hidden>
Date:   Mon Aug 7 09:14:14 2017 -0300

    powerpc: Restrict xssqrtqp operands to Vector Registers (bug 21941)
    
    POWER ISA 3.0 introduces the xssqrtqp instructions, which expects
    operands to be in Vector Registers (Altivec/VMX), even though this
    instruction belongs to the Vector-Scalar Instruction Set.
    
    In GCC's Extended Assembly for POWER, the 'wq' register constraint is
    provided for use with IEEE 754 128-bit floating-point values.  However,
    this constraint does not limit the register allocation to Vector
    Registers (Altivec/VMX) and could assign a Vector-Scalar Register (VSX)
    to the operands of the instruction.
    
    This patch changes the register constraint used in sqrtf128 from 'wq' to
    'v', in order to request a Vector Register (Altivec/VMX) for use with
    the xssqrtqp instruction.
    
    Tested for powerpc64le and --with-cpu=power9.
    
        [BZ #21941]
        * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since
        xssqrtqp requires operands to be in Vector Registers
        (Altivec/VMX), replace the register constraint 'wq' with 'v'.
        * sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c
        (__ieee754_sqrtf128): Likewise.

commit 922369032c604b4dcfd535e1bcddd4687e7126a5
Author: Wilco Dijkstra <address@hidden>
Date:   Thu Aug 10 17:00:38 2017 +0100

    [AArch64] Optimized memcmp.
    
    This is an optimized memcmp for AArch64.  This is a complete rewrite
    using a different algorithm.  The previous version split into cases
    where both inputs were aligned, the inputs were mutually aligned and
    unaligned using a byte loop.  The new version combines all these cases,
    while small inputs of less than 8 bytes are handled separately.
    
    This allows the main code to be sped up using unaligned loads since
    there are now at least 8 bytes to be compared.  After the first 8 bytes,
    align the first input.  This ensures each iteration does at most one
    unaligned access and mutually aligned inputs behave as aligned.
    After the main loop, process the last 8 bytes using unaligned accesses.
    
    This improves performance of (mutually) aligned cases by 25% and
    unaligned by >500% (yes >6 times faster) on large inputs.
    
        * sysdeps/aarch64/memcmp.S (memcmp):
        Rewrite of optimized memcmp.

commit 2449ae7b2da24c9940962304a3e44bc80e389265
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 10 13:40:22 2017 +0200

    ld.so: Introduce struct dl_exception
    
    This commit separates allocating and raising exceptions.  This
    simplifies catching and re-raising them because it is no longer
    necessary to make a temporary, on-stack copy of the exception message.

commit f87cc2bfba9b844da48a63441c6099342b1551c7
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 10 16:06:52 2017 +0200

    __inet6_scopeid_pton: Remove attribute_hidden, internal_function
    
    The hidden attribute was overridden by libc_hidden_proto on GNU/Linux.
    It is incorrect because the function is used from nscd.
    
    internal_function is not supposed to be used across DSO boundaries,
    so this commit removes it (again, due to the use in nscd).

commit eac43cbb8d808a40004aa0a4a286f5c5155beccb
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 10 15:58:28 2017 +0200

    malloc: Avoid optimizer warning with GCC 7 and -O3

commit bd80111ed9cb93b2d56720dcd1d1f259616c27ae
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 10 12:16:29 2017 +0200

    Fix stdlib/tst-strfmon_l.c test case to agree with the changes in Indian 
monetary formatting
    
    The test cases should expose non-standard grouping and the trailing
    space after the currency sign. After the changes to the Indian
    monetary formatting, the Indian formatting still shows the
    non-standard grouping. To test the trailing space after the currency
    sign I chose the hr_HR locale.
    
    See:
    
        commit 82b3124268bec0609b337dd993e771c93e44cbf2
        Author: Akhilesh Kumar <address@hidden>
    
            Remove redundant data for LC_MONETARY for Indian locales

commit 4169825556bcc23ced731e711be91819465d4a83
Author: Akhilesh Kumar <address@hidden>
Date:   Wed Aug 9 18:27:14 2017 +0530

    Remove redundant data for LC_MONETARY for Indian locales
    
        Reference is taken from
        https://en.wikipedia.org/wiki/Indian_numbering_system
        https://en.wikipedia.org/wiki/Indian_rupee
    
        CLDR has the currency format pattern “¤#,##,##0.00”.
    
        [BZ #21836]
        * locales/ar_IN (LC_MONETARY) : copy "hi_IN"
        * locales/as_IN (LC_MONETARY) : copy "hi_IN"
        * locales/bhb_IN (LC_MONETARY): copy "hi_IN"
        * locales/bn_IN (LC_MONETARY) : copy "hi_IN"
        * locales/en_IN (LC_MONETARY) : copy "hi_IN"
        * locales/gu_IN (LC_MONETARY) : copy "hi_IN"
        * locales/hi_IN (LC_MONETARY) : Fix mon_grouping,
        p_sep_by_space and n_sep_by_space
        * locales/kn_IN (LC_MONETARY) : copy "hi_IN"
        * locales/kok_IN(LC_MONETARY) : copy "hi_IN"
        * locales/ks_IN (LC_MONETARY) : copy "hi_IN"
        * locales/ml_IN (LC_MONETARY) : copy "hi_IN"
        * locales/mr_IN (LC_MONETARY) : copy "hi_IN"
        * locales/or_IN (LC_MONETARY) : copy "hi_IN"
        * locales/pa_IN (LC_MONETARY) : copy "hi_IN"
        * locales/sa_IN (LC_MONETARY) : copy "hi_IN"
        * locales/sd_IN (LC_MONETARY) : copy "hi_IN"
        * locales/ta_IN (LC_MONETARY) : copy "hi_IN"
        * locales/tcy_IN(LC_MONETARY) : copy "hi_IN"
        * locales/te_IN (LC_MONETARY) : copy "hi_IN"
        * locales/ur_IN (LC_MONETARY) : copy "hi_IN"

commit 38dbcacb606f70ad0a35fbcacb6f3cbff5f34d94
Author: Wei-Lun Chao <address@hidden>
Date:   Wed Aug 9 12:19:44 2017 +0200

    cmn_TW: add hanzi collation
    
        [BZ #17563]
        [BZ #16905]
        * locales/cmn_TW (LC_COLLATE): Use cns11643_stroke file for sorting.
        * locales/cmn_TW (LC_TIME): Improve time and date formats.
        * locales/cmn_TW (LC_MESSAGES): Add  yesstr and nostr.
        * locales/cns11643_stroke: New file, stroke count collation for
        traditional Chinese.

commit 68dc02d1dcbfb37ee22327d6a3c43f528d593035
Author: Dmitry V. Levin <address@hidden>
Date:   Thu Aug 10 01:28:58 2017 +0000

    aarch64/sys/ptrace.h: fix typo in comment
    
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request):
    Fix typo in comment.

commit 60e2846e2633a990bdf474004a373bde54c0bc5f
Author: Dmitry V. Levin <address@hidden>
Date:   Tue Jul 18 09:23:38 2017 +0000

    sys/ptrace.h: remove obsolete Linux PTRACE_SEIZE_DEVEL constant [BZ #21928]
    
    Remove enum __ptrace_flags along with the only constant it contains,
    PTRACE_SEIZE_DEVEL, from Linux's sys/ptrace.h files.
    
    This temporary development constant shouldn't have been added to
    sys/ptrace.h in the first place.  It was introduced in Linux by commit
    v3.1-rc1~308^2~28 as a temporary part of new experimental PTRACE_SEIZE
    interface.  Later, as PTRACE_SEIZE stabilized and lost its experimental
    status, this flag was removed from Linux by commit v3.4-rc1~109^2~20.
    
    * sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags,
    PTRACE_SEIZE_DEVEL): Remove.
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
    * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.

commit 24d9f53ab0233bc385233c584abaeecbb75b04d1
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 9 18:10:52 2017 +0000

    Remove __qaddr_t.
    
    bits/types.h defines a type __qaddr_t that is not used anywhere in
    glibc.  It doesn't appear to be widely used outside glibc either
    (judging by codesearch.debian.net, where hits are generally copies of
    definitions of this type, not uses), so it seems appropriate to remove
    this type, which this patch does.
    
    Tested for x86_64.
    
        * posix/bits/types.h (__qaddr_t): Remove.

commit 3d452dabd1f063bdf251825a3ba5d68461921def
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 9 17:51:26 2017 +0000

    Fix uc_* namespace (bug 21457).
    
    The standard members of ucontext_t, in all standard versions with that
    type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
    
    The uc_* namespace is mostly reserved for additions to the structure.
    However, in XPG4.2, it's only reserved when <ucontext.h> is included,
    not when <signal.h> is included, while <signal.h> is required to
    define ucontext_t (but not allowed to make visible other symbols from
    <ucontext.h>).  Thus, nonstandard members should avoid uc_* names.
    Some already do use __uc_*, but others don't; most architectures (all
    except ia64, I think) have a member uc_flags and some have additional
    members beyond that.
    
    This patch makes nonstandard members have an __ prefix unless
    __USE_MISC is defined.  Members whose names indicate they are solely
    padding / reserved for future use are renamed unconditionally to use
    the __glibc_reserved1 naming convention.
    
    This is part of the preparation for a revised version of the
    mcontext_t / sigcontext patch to be able to eliminate all 13 of the
    miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
    as at present (at least one further fix on top of this one will be
    needed for that as well).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
        (ucontext_t): Use __ctx with uc_flags.  Rename uc_filler to
        __glibc_reserved1.
        * sysdeps/generic/sys/ucontext.h (__ctx): New macro.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
        (__ctxt): Likewise.
        (ucontext_t): Use __ctx with uc_flags.  Rename uc_filler to
        __glibc_reserved1.
        * sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
        (ucontext_t): Use __ctx with uc_flags.  Rename uc_filler to
        __glibc_reserved1.
        * sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
        (ucontext_t): Use __ctx with uc_flags.  Rename uc_filler to
        __glibc_reserved1.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
        macro.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
        (ucontext_t): Use __ctx with uc_flags and uc_regspace.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
        undefine further down.
        (ucontext_t): Use __ctx with uc_flags.  Rename uc_filler to
        __glibc_reserved1.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
        undefine further down.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
        undefine further down.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
        __ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
        Rename uc_pad to __glibc_reserved1.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
        undefine further down.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
        further down.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
        __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
        (ucontext_t): Use __ctx with uc_flags.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
        __ctx with uc_flags.

commit 3016149819268b14660f791b971910ccc2cc13e5
Author: Florian Weimer <address@hidden>
Date:   Wed Aug 9 17:46:04 2017 +0200

    nss: Call __resolv_context_put before early return in get*_r [BZ #21932]
    
    This corrects an oversight introduced in commit
    352f4ff9a268b81ef5d4b2413f582565806e4790 (resolv: Introduce struct
    resolv_context).

commit 756d1699896e62445196c3137a982a990a8e8847
Author: Akhilesh Kumar <address@hidden>
Date:   Tue Aug 8 11:21:38 2017 +0530

    Fix p_cs_precedes, n_cs_precedes, and n_sign_posn for mt_MT
    
    Positive Currency Format: €500.00
    Negative Currency Format: -€500.00
    References:
    
http://www.kunsilltalmalti.gov.mt/filebank/documents/rapportdwarlismijiettalmunitaewropea.pdf,
 page 7, top right.
    CLDR has “¤#,##0.00” as the currency format pattern.
    
        [BZ #21920]
        * locales/mt_MT (LC_MONETARY): Fix p_cs_precedes/n_cs_precedes.
        * locales/mt_MT (LC_MONETARY): Fix n_sign_posn.

commit 39b20aae21e4635296f4ebc4d80f4eb6c1cb4cbe
Author: Mike FABIAN <address@hidden>
Date:   Mon Aug 7 17:19:07 2017 +0200

    Remove “% Charset: ...” comments from locale sources
    
    These comments are useless and only confusing.  The encodings used to
    create binary locales from source locales are listed in the
    localedata/SUPPORTED file.  The source files itself are ASCII or UTF-8
    encoded where non-ASCII UTF-8 is currently only used in comments. If
    all locale source files are UTF-8 anyway, there is no need to specify
    that in a special comment.

commit e119dfcfd674b37b6c2b6a3414fe055ba675975a
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 28 11:05:54 2017 +0530

    Added new locale en_SC
    
    New locale is added for the Seychelles which is a member of the African
    Union. English is an offical language for the Seychelles.
    
        [BZ #21854]
        * locales/en_SC: New file.
        * localedata/SUPPORTED : Add en_SC/UTF-8.

commit 139237a4f9f8bc5aaa3856e0df6f0a1a507d708f
Author: Andreas Schwab <address@hidden>
Date:   Wed Aug 9 10:58:58 2017 +0200

    Add BZ reference

commit 5797b410a87f6f6f6d3661d730fac320cbd5f270
Author: Andreas Schwab <address@hidden>
Date:   Wed Aug 9 10:36:08 2017 +0200

    Fix s390 version of pt-longjmp.c

commit 40c06a3d0450365e9675fe26f34fc56ce8497325
Author: Andreas Schwab <address@hidden>
Date:   Tue Aug 8 17:44:32 2017 +0200

    Add test for bug 21041

commit 0e02b5107e17830d19e83cb2208103f79666af31
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 9 12:57:17 2017 +0530

    memcpy_falkor: Fix code style in comments

commit 36ada5f681d86d4abe7b3b47d653d69e5ab2a6fd
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 9 06:32:17 2017 +0530

    aarch64: Optimized memcpy for Qualcomm Falkor processor
    
    This is an optimized implementation of the memcpy routine that gives a
    significant gain in performance for all sizes of copies on the
    Qualcomm Falkor processor.  A detailed rationale of the implementation
    is written in a comment in the patch.
    
    This implementation improves time for copies up to 128 bytes by up to
    15% and for larger copies by up to 35% in the glibc
    microbenchmark. The memcpy-random benchmark sees improvements in all
    sizes in the range of 13%-18%.
    
    Here are the full numbers extracted from the glibc microbenchmark
    using the commands:
    
    ../benchtests/scripts/compare_strings.py benchtests/bench-memcpy.out \
                ../benchtests/scripts/benchout_strings.schema.json \
                -base=__memcpy_generic length align1 align2
    
    ../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-large.out \
                ../benchtests/scripts/benchout_strings.schema.json \
                -base=__memcpy_generic length align1 align2
    
    ../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-random.out 
\
                ../benchtests/scripts/benchout_strings.schema.json \
                -base=__memcpy_generic max-size
    
    Function: memcpy
    __memcpy_thunderx       __memcpy_falkor __memcpy_generic
    Variant: default
    
================================================================================
    length=1,align1=0,align2=0:     33.59 (-115.00%)        15.62 (0.00%)   
15.62
    length=1,align1=0,align2=0:     16.41 (-10.53%) 14.06 (5.26%)   14.84
    length=1,align1=0,align2=0:     14.84 (0.00%)   14.84 (0.00%)   14.84
    length=1,align1=0,align2=0:     15.62 (-5.26%)  14.06 (5.26%)   14.84
    length=2,align1=0,align2=0:     15.62 (-5.26%)  14.06 (5.26%)   14.84
    length=2,align1=1,align2=0:     15.62 (-5.26%)  14.06 (5.26%)   14.84
    length=2,align1=0,align2=1:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=2,align1=1,align2=1:     14.84 (-5.56%)  14.06 (0.00%)   14.06
    length=4,align1=0,align2=0:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=4,align1=2,align2=0:     14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=4,align1=0,align2=2:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=4,align1=2,align2=2:     14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=8,align1=0,align2=0:     14.84 (-5.56%)  13.28 (5.56%)   14.06
    length=8,align1=3,align2=0:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=8,align1=0,align2=3:     13.28 (0.00%)   13.28 (0.00%)   13.28
    length=8,align1=3,align2=3:     13.28 (-6.25%)  13.28 (-6.25%)  12.50
    length=16,align1=0,align2=0:    13.28 (0.00%)   13.28 (0.00%)   13.28
    length=16,align1=4,align2=0:    13.28 (0.00%)   12.50 (5.88%)   13.28
    length=16,align1=0,align2=4:    13.28 (0.00%)   13.28 (0.00%)   13.28
    length=16,align1=4,align2=4:    13.28 (-6.25%)  12.50 (0.00%)   12.50
    length=32,align1=0,align2=0:    14.06 (0.00%)   12.50 (11.11%)  14.06
    length=32,align1=5,align2=0:    13.28 (0.00%)   12.50 (5.88%)   13.28
    length=32,align1=0,align2=5:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=32,align1=5,align2=5:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=64,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=64,align1=6,align2=0:    13.28 (0.00%)   13.28 (0.00%)   13.28
    length=64,align1=0,align2=6:    14.06 (5.26%)   14.06 (5.26%)   14.84
    length=64,align1=6,align2=6:    14.84 (-11.77%) 14.06 (-5.88%)  13.28
    length=128,align1=0,align2=0:   17.19 (-4.76%)  14.84 (9.52%)   16.41
    length=128,align1=7,align2=0:   16.41 (4.55%)   15.62 (9.09%)   17.19
    length=128,align1=0,align2=7:   16.41 (0.00%)   14.06 (14.29%)  16.41
    length=128,align1=7,align2=7:   16.41 (4.55%)   15.62 (9.09%)   17.19
    length=256,align1=0,align2=0:   21.88 (-3.70%)  21.09 (0.00%)   21.09
    length=256,align1=8,align2=0:   21.09 (-3.85%)  21.09 (-3.85%)  20.31
    length=256,align1=0,align2=8:   20.31 (-4.00%)  20.31 (-4.00%)  19.53
    length=256,align1=8,align2=8:   21.88 (-7.69%)  20.31 (0.00%)   20.31
    length=512,align1=0,align2=0:   28.91 (-2.78%)  28.91 (-2.78%)  28.12
    length=512,align1=9,align2=0:   30.47 (-2.63%)  30.47 (-2.63%)  29.69
    length=512,align1=0,align2=9:   29.69 (0.00%)   29.69 (0.00%)   29.69
    length=512,align1=9,align2=9:   28.12 (-2.86%)  28.12 (-2.86%)  27.34
    length=1024,align1=0,align2=0:  44.53 (0.00%)   44.53 (0.00%)   44.53
    length=1024,align1=10,align2=0:         50.00 (0.00%)   50.00 (0.00%)   
50.00
    length=1024,align1=0,align2=10:         49.22 (1.56%)   50.78 (-1.56%)  
50.00
    length=1024,align1=10,align2=10:        44.53 (-1.79%)  43.75 (0.00%)   
43.75
    length=2048,align1=0,align2=0:  77.34 (-1.02%)  76.56 (0.00%)   76.56
    length=2048,align1=11,align2=0:         89.84 (0.00%)   89.84 (0.00%)   
89.84
    length=2048,align1=0,align2=11:         89.84 (0.00%)   89.84 (0.00%)   
89.84
    length=2048,align1=11,align2=11:        75.78 (0.00%)   75.78 (0.00%)   
75.78
    length=4096,align1=0,align2=0:  141.41 (-0.56%) 140.62 (0.00%)  140.62
    length=4096,align1=12,align2=0:         171.09 (-0.46%) 170.31 (0.00%)  
170.31
    length=4096,align1=0,align2=12:         170.31 (0.00%)  170.31 (0.00%)  
170.31
    length=4096,align1=12,align2=12:        140.62 (0.00%)  140.62 (0.00%)  
140.62
    length=8192,align1=0,align2=0:  278.91 (-0.28%) 275.78 (0.84%)  278.12
    length=8192,align1=13,align2=0:         338.28 (0.23%)  335.94 (0.92%)  
339.06
    length=8192,align1=0,align2=13:         338.28 (0.00%)  455.47 (-34.64%)    
    338.28
    length=8192,align1=13,align2=13:        278.12 (-0.28%) 275.78 (0.56%)  
277.34
    length=16384,align1=0,align2=0:         535.94 (-0.15%) 531.25 (0.73%)  
535.16
    length=16384,align1=14,align2=0:        659.38 (0.12%)  659.38 (0.12%)  
660.16
    length=16384,align1=0,align2=14:        659.38 (0.00%)  657.03 (0.36%)  
659.38
    length=16384,align1=14,align2=14:       535.16 (0.44%)  532.81 (0.87%)  
537.50
    length=32768,align1=0,align2=0:         1260.94 (10.68%)        1121.88 
(20.53%)        1411.72
    length=32768,align1=15,align2=0:        1368.75 (10.02%)        1376.56 
(9.50%) 1521.09
    length=32768,align1=0,align2=15:        1333.59 (10.91%)        1373.44 
(8.25%) 1496.88
    length=32768,align1=15,align2=15:       1256.25 (13.96%)        1125.78 
(22.90%)        1460.16
    length=65536,align1=0,align2=0:         2853.91 (30.11%)        2589.06 
(36.60%)        4083.59
    length=65536,align1=16,align2=0:        2850.00 (30.14%)        2589.84 
(36.52%)        4079.69
    length=65536,align1=0,align2=16:        2853.12 (30.60%)        2589.84 
(37.00%)        4110.94
    length=65536,align1=16,align2=16:       2850.78 (30.07%)        2589.06 
(36.49%)        4076.56
    length=0,align1=0,align2=0:     15.62 (-5.26%)  16.41 (-10.53%) 14.84
    length=0,align1=0,align2=0:     14.84 (-5.56%)  14.84 (-5.56%)  14.06
    length=0,align1=0,align2=0:     14.84 (0.00%)   14.84 (0.00%)   14.84
    length=0,align1=0,align2=0:     16.41 (-16.67%) 14.84 (-5.56%)  14.06
    length=1,align1=0,align2=0:     15.62 (4.76%)   15.62 (4.76%)   16.41
    length=1,align1=1,align2=0:     15.62 (0.00%)   14.84 (5.00%)   15.62
    length=1,align1=0,align2=1:     14.84 (0.00%)   14.84 (0.00%)   14.84
    length=1,align1=1,align2=1:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=2,align1=0,align2=0:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=2,align1=2,align2=0:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=2,align1=0,align2=2:     14.84 (-5.56%)  14.06 (0.00%)   14.06
    length=2,align1=2,align2=2:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=3,align1=0,align2=0:     14.84 (0.00%)   14.84 (0.00%)   14.84
    length=3,align1=3,align2=0:     14.84 (-5.56%)  14.06 (0.00%)   14.06
    length=3,align1=0,align2=3:     15.62 (-11.11%) 14.06 (0.00%)   14.06
    length=3,align1=3,align2=3:     14.84 (0.00%)   14.06 (5.26%)   14.84
    length=4,align1=0,align2=0:     17.97 (-27.78%) 14.06 (0.00%)   14.06
    length=4,align1=4,align2=0:     13.28 (5.56%)   14.06 (0.00%)   14.06
    length=4,align1=0,align2=4:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=4,align1=4,align2=4:     13.28 (5.56%)   13.28 (5.56%)   14.06
    length=5,align1=0,align2=0:     13.28 (5.56%)   13.28 (5.56%)   14.06
    length=5,align1=5,align2=0:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=5,align1=0,align2=5:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=5,align1=5,align2=5:     14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=6,align1=0,align2=0:     14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=6,align1=6,align2=0:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=6,align1=0,align2=6:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=6,align1=6,align2=6:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=7,align1=0,align2=0:     14.84 (-11.77%) 14.06 (-5.88%)  13.28
    length=7,align1=7,align2=0:     13.28 (0.00%)   14.06 (-5.88%)  13.28
    length=7,align1=0,align2=7:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=7,align1=7,align2=7:     14.06 (0.00%)   14.06 (0.00%)   14.06
    length=8,align1=0,align2=0:     14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=8,align1=8,align2=0:     14.06 (0.00%)   13.28 (5.56%)   14.06
    length=8,align1=0,align2=8:     13.28 (0.00%)   13.28 (0.00%)   13.28
    length=8,align1=8,align2=8:     14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=9,align1=0,align2=0:     13.28 (0.00%)   13.28 (0.00%)   13.28
    length=9,align1=9,align2=0:     13.28 (0.00%)   13.28 (0.00%)   13.28
    length=9,align1=0,align2=9:     13.28 (0.00%)   14.06 (-5.88%)  13.28
    length=9,align1=9,align2=9:     14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=10,align1=0,align2=0:    14.06 (0.00%)   13.28 (5.56%)   14.06
    length=10,align1=10,align2=0:   14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=10,align1=0,align2=10:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=10,align1=10,align2=10:  14.06 (0.00%)   13.28 (5.56%)   14.06
    length=11,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=11,align1=11,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=11,align1=0,align2=11:   13.28 (0.00%)   13.28 (0.00%)   13.28
    length=11,align1=11,align2=11:  13.28 (0.00%)   13.28 (0.00%)   13.28
    length=12,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=12,align1=12,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=12,align1=0,align2=12:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=12,align1=12,align2=12:  14.06 (0.00%)   13.28 (5.56%)   14.06
    length=13,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=13,align1=13,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=13,align1=0,align2=13:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=13,align1=13,align2=13:  13.28 (0.00%)   13.28 (0.00%)   13.28
    length=14,align1=0,align2=0:    13.28 (0.00%)   13.28 (0.00%)   13.28
    length=14,align1=14,align2=0:   13.28 (5.56%)   13.28 (5.56%)   14.06
    length=14,align1=0,align2=14:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=14,align1=14,align2=14:  14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=15,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=15,align1=15,align2=0:   14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=15,align1=0,align2=15:   13.28 (0.00%)   13.28 (0.00%)   13.28
    length=15,align1=15,align2=15:  13.28 (0.00%)   14.06 (-5.88%)  13.28
    length=16,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=16,align1=16,align2=0:   13.28 (5.56%)   14.06 (0.00%)   14.06
    length=16,align1=0,align2=16:   14.84 (-11.77%) 13.28 (0.00%)   13.28
    length=16,align1=16,align2=16:  13.28 (-6.25%)  12.50 (0.00%)   12.50
    length=17,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=17,align1=17,align2=0:   14.84 (-11.77%) 12.50 (5.88%)   13.28
    length=17,align1=0,align2=17:   14.84 (-5.56%)  12.50 (11.11%)  14.06
    length=17,align1=17,align2=17:  14.84 (-11.77%) 12.50 (5.88%)   13.28
    length=18,align1=0,align2=0:    14.06 (0.00%)   12.50 (11.11%)  14.06
    length=18,align1=18,align2=0:   13.28 (5.56%)   12.50 (11.11%)  14.06
    length=18,align1=0,align2=18:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=18,align1=18,align2=18:  14.06 (0.00%)   12.50 (11.11%)  14.06
    length=19,align1=0,align2=0:    14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=19,align1=19,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=19,align1=0,align2=19:   14.84 (-5.56%)  12.50 (11.11%)  14.06
    length=19,align1=19,align2=19:  14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=20,align1=0,align2=0:    14.84 (-11.77%) 12.50 (5.88%)   13.28
    length=20,align1=20,align2=0:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=20,align1=0,align2=20:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=20,align1=20,align2=20:  14.06 (0.00%)   13.28 (5.56%)   14.06
    length=21,align1=0,align2=0:    14.84 (-5.56%)  12.50 (11.11%)  14.06
    length=21,align1=21,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=21,align1=0,align2=21:   14.84 (-11.77%) 12.50 (5.88%)   13.28
    length=21,align1=21,align2=21:  13.28 (5.56%)   13.28 (5.56%)   14.06
    length=22,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=22,align1=22,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=22,align1=0,align2=22:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=22,align1=22,align2=22:  14.06 (0.00%)   12.50 (11.11%)  14.06
    length=23,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=23,align1=23,align2=0:   14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=23,align1=0,align2=23:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=23,align1=23,align2=23:  14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=24,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=24,align1=24,align2=0:   14.06 (0.00%)   13.28 (5.56%)   14.06
    length=24,align1=0,align2=24:   14.84 (-11.77%) 12.50 (5.88%)   13.28
    length=24,align1=24,align2=24:  14.06 (-5.88%)  13.28 (0.00%)   13.28
    length=25,align1=0,align2=0:    14.06 (0.00%)   12.50 (11.11%)  14.06
    length=25,align1=25,align2=0:   14.06 (0.00%)   13.28 (5.56%)   14.06
    length=25,align1=0,align2=25:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=25,align1=25,align2=25:  13.28 (0.00%)   13.28 (0.00%)   13.28
    length=26,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=26,align1=26,align2=0:   14.06 (0.00%)   13.28 (5.56%)   14.06
    length=26,align1=0,align2=26:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=26,align1=26,align2=26:  14.06 (0.00%)   13.28 (5.56%)   14.06
    length=27,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=27,align1=27,align2=0:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=27,align1=0,align2=27:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=27,align1=27,align2=27:  14.06 (0.00%)   12.50 (11.11%)  14.06
    length=28,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=28,align1=28,align2=0:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=28,align1=0,align2=28:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=28,align1=28,align2=28:  14.84 (-11.77%) 13.28 (0.00%)   13.28
    length=29,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=29,align1=29,align2=0:   13.28 (0.00%)   12.50 (5.88%)   13.28
    length=29,align1=0,align2=29:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=29,align1=29,align2=29:  13.28 (5.56%)   12.50 (11.11%)  14.06
    length=30,align1=0,align2=0:    14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=30,align1=30,align2=0:   13.28 (5.56%)   12.50 (11.11%)  14.06
    length=30,align1=0,align2=30:   14.06 (-5.88%)  12.50 (5.88%)   13.28
    length=30,align1=30,align2=30:  13.28 (0.00%)   12.50 (5.88%)   13.28
    length=31,align1=0,align2=0:    13.28 (0.00%)   12.50 (5.88%)   13.28
    length=31,align1=31,align2=0:   14.06 (0.00%)   12.50 (11.11%)  14.06
    length=31,align1=0,align2=31:   13.28 (0.00%)   12.50 (5.88%)   13.28
    length=31,align1=31,align2=31:  14.06 (0.00%)   12.50 (11.11%)  14.06
    length=48,align1=0,align2=0:    14.06 (0.00%)   14.06 (0.00%)   14.06
    length=48,align1=3,align2=0:    14.06 (0.00%)   14.06 (0.00%)   14.06
    length=48,align1=0,align2=3:    14.06 (-5.88%)  14.06 (-5.88%)  13.28
    length=48,align1=3,align2=3:    13.28 (5.56%)   14.06 (0.00%)   14.06
    length=80,align1=0,align2=0:    15.62 (-11.11%) 14.84 (-5.56%)  14.06
    length=80,align1=5,align2=0:    15.62 (-11.11%) 16.41 (-16.67%) 14.06
    length=80,align1=0,align2=5:    14.06 (0.00%)   15.62 (-11.11%) 14.06
    length=80,align1=5,align2=5:    15.62 (-5.26%)  17.19 (-15.79%) 14.84
    length=96,align1=0,align2=0:    14.06 (0.00%)   14.84 (-5.56%)  14.06
    length=96,align1=6,align2=0:    14.84 (-5.56%)  16.41 (-16.67%) 14.06
    length=96,align1=0,align2=6:    14.06 (0.00%)   14.84 (-5.56%)  14.06
    length=96,align1=6,align2=6:    14.84 (-5.56%)  17.19 (-22.22%) 14.06
    length=112,align1=0,align2=0:   17.19 (-4.76%)  14.06 (14.29%)  16.41
    length=112,align1=7,align2=0:   17.19 (0.00%)   16.41 (4.55%)   17.19
    length=112,align1=0,align2=7:   16.41 (0.00%)   14.84 (9.52%)   16.41
    length=112,align1=7,align2=7:   17.19 (0.00%)   17.19 (0.00%)   17.19
    length=144,align1=0,align2=0:   17.19 (-10.00%) 17.97 (-15.00%) 15.62
    length=144,align1=9,align2=0:   17.19 (-4.76%)  18.75 (-14.29%) 16.41
    length=144,align1=0,align2=9:   20.31 (-8.33%)  18.75 (0.00%)   18.75
    length=144,align1=9,align2=9:   18.75 (-4.35%)  18.75 (-4.35%)  17.97
    length=160,align1=0,align2=0:   18.75 (-4.35%)  17.97 (0.00%)   17.97
    length=160,align1=10,align2=0:  18.75 (4.00%)   18.75 (4.00%)   19.53
    length=160,align1=0,align2=10:  19.53 (-4.17%)  17.97 (4.17%)   18.75
    length=160,align1=10,align2=10:         18.75 (-4.35%)  18.75 (-4.35%)  
17.97
    length=176,align1=0,align2=0:   18.75 (-4.35%)  17.19 (4.35%)   17.97
    length=176,align1=11,align2=0:  19.53 (0.00%)   19.53 (0.00%)   19.53
    length=176,align1=0,align2=11:  19.53 (-4.17%)  18.75 (0.00%)   18.75
    length=176,align1=11,align2=11:         18.75 (0.00%)   17.97 (4.17%)   
18.75
    length=192,align1=0,align2=0:   18.75 (0.00%)   17.97 (4.17%)   18.75
    length=192,align1=12,align2=0:  21.09 (-8.00%)  18.75 (4.00%)   19.53
    length=192,align1=0,align2=12:  18.75 (0.00%)   18.75 (0.00%)   18.75
    length=192,align1=12,align2=12:         18.75 (0.00%)   17.97 (4.17%)   
18.75
    length=208,align1=0,align2=0:   17.97 (0.00%)   20.31 (-13.04%) 17.97
    length=208,align1=13,align2=0:  19.53 (7.41%)   21.09 (0.00%)   21.09
    length=208,align1=0,align2=13:  23.44 (-11.11%) 21.09 (0.00%)   21.09
    length=208,align1=13,align2=13:         21.09 (-3.85%)  21.09 (-3.85%)  
20.31
    length=224,align1=0,align2=0:   21.09 (-8.00%)  20.31 (-4.00%)  19.53
    length=224,align1=14,align2=0:  23.44 (-11.11%) 20.31 (3.70%)   21.09
    length=224,align1=0,align2=14:  21.09 (3.57%)   20.31 (7.14%)   21.88
    length=224,align1=14,align2=14:         20.31 (0.00%)   19.53 (3.85%)   
20.31
    length=240,align1=0,align2=0:   20.31 (-4.00%)  19.53 (0.00%)   19.53
    length=240,align1=15,align2=0:  22.66 (0.00%)   20.31 (10.34%)  22.66
    length=240,align1=0,align2=15:  20.31 (-4.00%)  20.31 (-4.00%)  19.53
    length=240,align1=15,align2=15:         21.88 (0.00%)   21.09 (3.57%)   
21.88
    length=272,align1=0,align2=0:   20.31 (0.00%)   28.12 (-38.46%) 20.31
    length=272,align1=17,align2=0:  22.66 (0.00%)   27.34 (-20.69%) 22.66
    length=272,align1=0,align2=17:  25.78 (-10.00%) 28.12 (-20.00%) 23.44
    length=272,align1=17,align2=17:         22.66 (-3.57%)  27.34 (-25.00%) 
21.88
    length=288,align1=0,align2=0:   23.44 (-7.14%)  27.34 (-25.00%) 21.88
    length=288,align1=18,align2=0:  22.66 (0.00%)   27.34 (-20.69%) 22.66
    length=288,align1=0,align2=18:  23.44 (-3.45%)  25.00 (-10.35%) 22.66
    length=288,align1=18,align2=18:         22.66 (-3.57%)  21.88 (0.00%)   
21.88
    length=304,align1=0,align2=0:   21.88 (0.00%)   21.88 (0.00%)   21.88
    length=304,align1=19,align2=0:  23.44 (-3.45%)  22.66 (0.00%)   22.66
    length=304,align1=0,align2=19:  22.66 (0.00%)   22.66 (0.00%)   22.66
    length=304,align1=19,align2=19:         22.66 (-3.57%)  21.88 (0.00%)   
21.88
    length=320,align1=0,align2=0:   22.66 (-3.57%)  21.88 (0.00%)   21.88
    length=320,align1=20,align2=0:  22.66 (0.00%)   22.66 (0.00%)   22.66
    length=320,align1=0,align2=20:  22.66 (0.00%)   22.66 (0.00%)   22.66
    length=320,align1=20,align2=20:         22.66 (-3.57%)  21.88 (0.00%)   
21.88
    length=336,align1=0,align2=0:   21.88 (0.00%)   24.22 (-10.71%) 21.88
    length=336,align1=21,align2=0:  22.66 (0.00%)   25.00 (-10.35%) 22.66
    length=336,align1=0,align2=21:  25.78 (0.00%)   25.00 (3.03%)   25.78
    length=336,align1=21,align2=21:         25.00 (0.00%)   23.44 (6.25%)   
25.00
    length=352,align1=0,align2=0:   24.22 (0.00%)   24.22 (0.00%)   24.22
    length=352,align1=22,align2=0:  25.00 (0.00%)   25.00 (0.00%)   25.00
    length=352,align1=0,align2=22:  25.00 (-3.23%)  25.00 (-3.23%)  24.22
    length=352,align1=22,align2=22:         25.00 (-3.23%)  24.22 (0.00%)   
24.22
    length=368,align1=0,align2=0:   25.00 (-3.23%)  23.44 (3.23%)   24.22
    length=368,align1=23,align2=0:  25.00 (0.00%)   24.22 (3.12%)   25.00
    length=368,align1=0,align2=23:  25.00 (-3.23%)  25.00 (-3.23%)  24.22
    length=368,align1=23,align2=23:         25.00 (-6.67%)  23.44 (0.00%)   
23.44
    length=384,align1=0,align2=0:   24.22 (0.00%)   24.22 (0.00%)   24.22
    length=384,align1=24,align2=0:  25.00 (0.00%)   24.22 (3.12%)   25.00
    length=384,align1=0,align2=24:  25.00 (0.00%)   25.78 (-3.12%)  25.00
    length=384,align1=24,align2=24:         24.22 (-3.33%)  23.44 (0.00%)   
23.44
    length=400,align1=0,align2=0:   25.00 (-3.23%)  26.56 (-9.68%)  24.22
    length=400,align1=25,align2=0:  25.78 (-3.12%)  27.34 (-9.38%)  25.00
    length=400,align1=0,align2=25:  27.34 (0.00%)   27.34 (0.00%)   27.34
    length=400,align1=25,align2=25:         26.56 (0.00%)   25.78 (2.94%)   
26.56
    length=416,align1=0,align2=0:   26.56 (-3.03%)  25.78 (0.00%)   25.78
    length=416,align1=26,align2=0:  28.12 (-2.86%)  27.34 (0.00%)   27.34
    length=416,align1=0,align2=26:  27.34 (-2.94%)  28.12 (-5.88%)  26.56
    length=416,align1=26,align2=26:         25.78 (0.00%)   26.56 (-3.03%)  
25.78
    length=432,align1=0,align2=0:   27.34 (-2.94%)  25.78 (2.94%)   26.56
    length=432,align1=27,align2=0:  28.12 (-2.86%)  27.34 (0.00%)   27.34
    length=432,align1=0,align2=27:  27.34 (0.00%)   28.12 (-2.86%)  27.34
    length=432,align1=27,align2=27:         25.78 (0.00%)   25.78 (0.00%)   
25.78
    length=448,align1=0,align2=0:   26.56 (-3.03%)  25.78 (0.00%)   25.78
    length=448,align1=28,align2=0:  27.34 (0.00%)   27.34 (0.00%)   27.34
    length=448,align1=0,align2=28:  27.34 (0.00%)   28.12 (-2.86%)  27.34
    length=448,align1=28,align2=28:         25.78 (0.00%)   25.78 (0.00%)   
25.78
    length=464,align1=0,align2=0:   25.78 (0.00%)   28.12 (-9.09%)  25.78
    length=464,align1=29,align2=0:  28.12 (-2.86%)  29.69 (-8.57%)  27.34
    length=464,align1=0,align2=29:  30.47 (0.00%)   30.47 (0.00%)   30.47
    length=464,align1=29,align2=29:         28.12 (0.00%)   27.34 (2.78%)   
28.12
    length=480,align1=0,align2=0:   29.69 (-5.56%)  28.12 (0.00%)   28.12
    length=480,align1=30,align2=0:  31.25 (-2.56%)  29.69 (2.56%)   30.47
    length=480,align1=0,align2=30:  29.69 (0.00%)   30.47 (-2.63%)  29.69
    length=480,align1=30,align2=30:         28.12 (0.00%)   28.12 (0.00%)   
28.12
    length=496,align1=0,align2=0:   28.12 (0.00%)   27.34 (2.78%)   28.12
    length=496,align1=31,align2=0:  30.47 (-2.63%)  29.69 (0.00%)   29.69
    length=496,align1=0,align2=31:  29.69 (0.00%)   30.47 (-2.63%)  29.69
    length=496,align1=31,align2=31:         28.12 (-2.86%)  28.12 (-2.86%)  
27.34
    length=1024,align1=0,align2=0:  44.53 (0.00%)   44.53 (0.00%)   44.53
    length=1024,align1=32,align2=0:         44.53 (-1.79%)  44.53 (-1.79%)  
43.75
    length=1024,align1=0,align2=32:         44.53 (-1.79%)  43.75 (0.00%)   
43.75
    length=1024,align1=32,align2=32:        43.75 (1.75%)   43.75 (1.75%)   
44.53
    length=1056,align1=0,align2=0:  46.88 (-1.69%)  46.88 (-1.69%)  46.09
    length=1056,align1=33,align2=0:         53.12 (0.00%)   52.34 (1.47%)   
53.12
    length=1056,align1=0,align2=33:         52.34 (0.00%)   53.12 (-1.49%)  
52.34
    length=1056,align1=33,align2=33:        46.09 (0.00%)   46.88 (-1.69%)  
46.09
    length=1088,align1=0,align2=0:  46.88 (-1.69%)  46.09 (0.00%)   46.09
    length=1088,align1=34,align2=0:         52.34 (0.00%)   52.34 (0.00%)   
52.34
    length=1088,align1=0,align2=34:         53.12 (-3.03%)  53.12 (-3.03%)  
51.56
    length=1088,align1=34,align2=34:        46.09 (0.00%)   46.88 (-1.69%)  
46.09
    length=1120,align1=0,align2=0:  49.22 (-1.61%)  48.44 (0.00%)   48.44
    length=1120,align1=35,align2=0:         54.69 (1.41%)   55.47 (0.00%)   
55.47
    length=1120,align1=0,align2=35:         57.03 (0.00%)   55.47 (2.74%)   
57.03
    length=1120,align1=35,align2=35:        48.44 (0.00%)   49.22 (-1.61%)  
48.44
    length=1152,align1=0,align2=0:  47.66 (1.61%)   48.44 (0.00%)   48.44
    length=1152,align1=36,align2=0:         55.47 (-1.43%)  55.47 (-1.43%)  
54.69
    length=1152,align1=0,align2=36:         58.59 (-1.35%)  55.47 (4.05%)   
57.81
    length=1152,align1=36,align2=36:        48.44 (0.00%)   49.22 (-1.61%)  
48.44
    length=1184,align1=0,align2=0:  53.12 (-3.03%)  50.78 (1.52%)   51.56
    length=1184,align1=37,align2=0:         61.72 (-2.60%)  57.03 (5.19%)   
60.16
    length=1184,align1=0,align2=37:         62.50 (-1.27%)  57.03 (7.60%)   
61.72
    length=1184,align1=37,align2=37:        53.12 (-1.49%)  50.78 (2.99%)   
52.34
    length=1216,align1=0,align2=0:  53.91 (-4.55%)  50.78 (1.52%)   51.56
    length=1216,align1=38,align2=0:         60.94 (0.00%)   57.03 (6.41%)   
60.94
    length=1216,align1=0,align2=38:         60.16 (0.00%)   57.81 (3.90%)   
60.16
    length=1216,align1=38,align2=38:        52.34 (-1.52%)  50.00 (3.03%)   
51.56
    length=1248,align1=0,align2=0:  54.69 (-2.94%)  53.12 (0.00%)   53.12
    length=1248,align1=39,align2=0:         64.06 (-1.23%)  60.16 (4.94%)   
63.28
    length=1248,align1=0,align2=39:         60.94 (-2.63%)  60.16 (-1.32%)  
59.38
    length=1248,align1=39,align2=39:        53.12 (0.00%)   52.34 (1.47%)   
53.12
    length=1280,align1=0,align2=0:  52.34 (-1.52%)  52.34 (-1.52%)  51.56
    length=1280,align1=40,align2=0:         61.72 (3.66%)   59.38 (7.32%)   
64.06
    length=1280,align1=0,align2=40:         60.94 (-2.63%)  60.16 (-1.32%)  
59.38
    length=1280,align1=40,align2=40:        52.34 (-1.52%)  52.34 (-1.52%)  
51.56
    length=1312,align1=0,align2=0:  54.69 (-1.45%)  55.47 (-2.90%)  53.91
    length=1312,align1=41,align2=0:         63.28 (0.00%)   62.50 (1.23%)   
63.28
    length=1312,align1=0,align2=41:         62.50 (0.00%)   62.50 (0.00%)   
62.50
    length=1312,align1=41,align2=41:        53.91 (0.00%)   54.69 (-1.45%)  
53.91
    length=1344,align1=0,align2=0:  54.69 (0.00%)   54.69 (0.00%)   54.69
    length=1344,align1=42,align2=0:         62.50 (0.00%)   62.50 (0.00%)   
62.50
    length=1344,align1=0,align2=42:         62.50 (-1.27%)  62.50 (-1.27%)  
61.72
    length=1344,align1=42,align2=42:        53.91 (0.00%)   53.91 (0.00%)   
53.91
    length=1376,align1=0,align2=0:  65.62 (-16.67%) 68.75 (-22.22%) 56.25
    length=1376,align1=43,align2=0:         71.88 (-9.52%)  73.44 (-11.90%) 
65.62
    length=1376,align1=0,align2=43:         72.66 (-12.05%) 74.22 (-14.46%) 
64.84
    length=1376,align1=43,align2=43:        64.06 (-13.89%) 67.97 (-20.83%) 
56.25
    length=1408,align1=0,align2=0:  57.03 (-1.39%)  68.75 (-22.22%) 56.25
    length=1408,align1=44,align2=0:         65.62 (-1.20%)  73.44 (-13.25%) 
64.84
    length=1408,align1=0,align2=44:         64.84 (0.00%)   74.22 (-14.46%) 
64.84
    length=1408,align1=44,align2=44:        56.25 (-1.41%)  68.75 (-23.94%) 
55.47
    length=1440,align1=0,align2=0:  67.97 (-14.47%) 64.84 (-9.21%)  59.38
    length=1440,align1=45,align2=0:         74.22 (-10.47%) 68.75 (-2.33%)  
67.19
    length=1440,align1=0,align2=45:         72.66 (-6.90%)  69.53 (-2.30%)  
67.97
    length=1440,align1=45,align2=45:        65.62 (-13.51%) 58.59 (-1.35%)  
57.81
    length=1472,align1=0,align2=0:  66.41 (-14.86%) 58.59 (-1.35%)  57.81
    length=1472,align1=46,align2=0:         73.44 (-9.30%)  67.19 (0.00%)   
67.19
    length=1472,align1=0,align2=46:         70.31 (-4.65%)  67.97 (-1.16%)  
67.19
    length=1472,align1=46,align2=46:        57.81 (0.00%)   58.59 (-1.35%)  
57.81
    length=1504,align1=0,align2=0:  60.94 (0.00%)   60.94 (0.00%)   60.94
    length=1504,align1=47,align2=0:         71.09 (-1.11%)  70.31 (0.00%)   
70.31
    length=1504,align1=0,align2=47:         70.31 (-1.12%)  70.31 (-1.12%)  
69.53
    length=1504,align1=47,align2=47:        60.94 (-1.30%)  60.16 (0.00%)   
60.16
    length=1536,align1=0,align2=0:  62.50 (-3.90%)  60.16 (0.00%)   60.16
    length=1536,align1=48,align2=0:         60.94 (-1.30%)  60.16 (0.00%)   
60.16
    length=1536,align1=0,align2=48:         61.72 (-3.95%)  60.16 (-1.32%)  
59.38
    length=1536,align1=48,align2=48:        60.94 (-1.30%)  60.16 (0.00%)   
60.16
    length=1568,align1=0,align2=0:  80.47 (-27.16%) 63.28 (0.00%)   63.28
    length=1568,align1=49,align2=0:         86.72 (-18.09%) 72.66 (1.06%)   
73.44
    length=1568,align1=0,align2=49:         74.22 (-3.26%)  74.22 (-3.26%)  
71.88
    length=1568,align1=49,align2=49:        62.50 (0.00%)   61.72 (1.25%)   
62.50
    length=1600,align1=0,align2=0:  62.50 (-1.27%)  62.50 (-1.27%)  61.72
    length=1600,align1=50,align2=0:         73.44 (0.00%)   71.88 (2.13%)   
73.44
    length=1600,align1=0,align2=50:         72.66 (0.00%)   73.44 (-1.08%)  
72.66
    length=1600,align1=50,align2=50:        62.50 (-1.27%)  62.50 (-1.27%)  
61.72
    length=1632,align1=0,align2=0:  64.84 (0.00%)   64.84 (0.00%)   64.84
    length=1632,align1=51,align2=0:         75.78 (0.00%)   75.00 (1.03%)   
75.78
    length=1632,align1=0,align2=51:         78.91 (0.00%)   75.78 (3.96%)   
78.91
    length=1632,align1=51,align2=51:        64.84 (-2.47%)  64.84 (-2.47%)  
63.28
    length=1664,align1=0,align2=0:  64.84 (-1.22%)  64.84 (-1.22%)  64.06
    length=1664,align1=52,align2=0:         75.78 (0.00%)   75.00 (1.03%)   
75.78
    length=1664,align1=0,align2=52:         80.47 (-0.98%)  75.78 (4.90%)   
79.69
    length=1664,align1=52,align2=52:        64.06 (-1.23%)  65.62 (-3.70%)  
63.28
    length=1696,align1=0,align2=0:  69.53 (-3.49%)  72.66 (-8.14%)  67.19
    length=1696,align1=53,align2=0:         80.47 (-0.98%)  82.03 (-2.94%)  
79.69
    length=1696,align1=0,align2=53:         80.47 (0.96%)   82.03 (-0.96%)  
81.25
    length=1696,align1=53,align2=53:        68.75 (-2.33%)  72.66 (-8.14%)  
67.19
    length=1728,align1=0,align2=0:  67.97 (0.00%)   72.66 (-6.90%)  67.97
    length=1728,align1=54,align2=0:         80.47 (-0.98%)  82.81 (-3.92%)  
79.69
    length=1728,align1=0,align2=54:         78.91 (-1.00%)  82.03 (-5.00%)  
78.12
    length=1728,align1=54,align2=54:        68.75 (0.00%)   72.66 (-5.68%)  
68.75
    length=1760,align1=0,align2=0:  77.34 (-12.50%) 68.75 (0.00%)   68.75
    length=1760,align1=55,align2=0:         91.41 (-8.33%)  79.69 (5.56%)   
84.38
    length=1760,align1=0,align2=55:         88.28 (-10.78%) 80.47 (-0.98%)  
79.69
    length=1760,align1=55,align2=55:        77.34 (-11.24%) 68.75 (1.12%)   
69.53
    length=1792,align1=0,align2=0:  78.12 (-14.94%) 68.75 (-1.15%)  67.97
    length=1792,align1=56,align2=0:         88.28 (-4.63%)  79.69 (5.56%)   
84.38
    length=1792,align1=0,align2=56:         88.28 (-9.71%)  80.47 (0.00%)   
80.47
    length=1792,align1=56,align2=56:        77.34 (-11.24%) 68.75 (1.12%)   
69.53
    length=1824,align1=0,align2=0:  72.66 (7.92%)   70.31 (10.89%)  78.91
    length=1824,align1=57,align2=0:         85.94 (5.17%)   82.03 (9.48%)   
90.62
    length=1824,align1=0,align2=57:         82.03 (3.67%)   82.81 (2.75%)   
85.16
    length=1824,align1=57,align2=57:        70.31 (-1.12%)  70.31 (-1.12%)  
69.53
    length=1856,align1=0,align2=0:  70.31 (-1.12%)  70.31 (-1.12%)  69.53
    length=1856,align1=58,align2=0:         83.59 (-0.94%)  82.03 (0.94%)   
82.81
    length=1856,align1=0,align2=58:         178.12 (-115.09%)       82.81 
(0.00%)   82.81
    length=1856,align1=58,align2=58:        70.31 (-1.12%)  70.31 (-1.12%)  
69.53
    length=1888,align1=0,align2=0:  73.44 (-1.08%)  78.91 (-8.60%)  72.66
    length=1888,align1=59,align2=0:         85.94 (0.00%)   89.84 (-4.55%)  
85.94
    length=1888,align1=0,align2=59:         84.38 (0.00%)   89.06 (-5.56%)  
84.38
    length=1888,align1=59,align2=59:        72.66 (-1.09%)  78.12 (-8.70%)  
71.88
    length=1920,align1=0,align2=0:  72.66 (-1.09%)  78.12 (-8.70%)  71.88
    length=1920,align1=60,align2=0:         85.94 (0.00%)   89.84 (-4.55%)  
85.94
    length=1920,align1=0,align2=60:         85.16 (0.00%)   89.06 (-4.59%)  
85.16
    length=1920,align1=60,align2=60:        72.66 (-1.09%)  78.91 (-9.78%)  
71.88
    length=1952,align1=0,align2=0:  75.00 (-1.05%)  75.00 (-1.05%)  74.22
    length=1952,align1=61,align2=0:         88.28 (0.00%)   87.50 (0.88%)   
88.28
    length=1952,align1=0,align2=61:         87.50 (0.00%)   88.28 (-0.89%)  
87.50
    length=1952,align1=61,align2=61:        74.22 (0.00%)   74.22 (0.00%)   
74.22
    length=1984,align1=0,align2=0:  75.00 (-1.05%)  73.44 (1.05%)   74.22
    length=1984,align1=62,align2=0:         89.06 (-0.89%)  87.50 (0.88%)   
88.28
    length=1984,align1=0,align2=62:         87.50 (0.00%)   88.28 (-0.89%)  
87.50
    length=1984,align1=62,align2=62:        74.22 (0.00%)   74.22 (0.00%)   
74.22
    length=2016,align1=0,align2=0:  77.34 (-1.02%)  76.56 (0.00%)   76.56
    length=2016,align1=63,align2=0:         91.41 (-0.86%)  90.62 (0.00%)   
90.62
    length=2016,align1=0,align2=63:         89.84 (0.00%)   90.62 (-0.87%)  
89.84
    length=2016,align1=63,align2=63:        77.34 (-1.02%)  76.56 (0.00%)   
76.56
    length=4096,align1=0,align2=0:  141.41 (-0.56%) 146.88 (-4.44%) 140.62
    
    Function: memcpy
    __memcpy_thunderx       __memcpy_falkor __memcpy_generic
    Variant: large
    
================================================================================
    length=65543,align1=0,align2=0:         4018.75 (3.09%) 2634.38 (36.47%)    
    4146.88
    length=65551,align1=0,align2=3:         4425.00 (-6.47%)        3134.38 
(24.59%)        4156.25
    length=65567,align1=3,align2=0:         2909.38 (29.95%)        3134.38 
(24.53%)        4153.12
    length=65599,align1=3,align2=5:         4415.62 (-6.16%)        3134.38 
(24.64%)        4159.38
    length=131079,align1=0,align2=0:        5765.62 (30.38%)        5240.62 
(36.72%)        8281.25
    length=131087,align1=0,align2=3:        8831.25 (-6.56%)        6271.88 
(24.32%)        8287.50
    length=131103,align1=3,align2=0:        5793.75 (29.05%)        6268.75 
(23.23%)        8165.62
    length=131135,align1=3,align2=5:        5806.25 (29.97%)        6259.38 
(24.50%)        8290.62
    length=262151,align1=0,align2=0:        11850.00 (28.91%)       10762.50 
(35.43%)       16668.80
    length=262159,align1=0,align2=3:        12043.80 (27.72%)       12700.00 
(23.78%)       16662.50
    length=262175,align1=3,align2=0:        12046.90 (27.90%)       12687.50 
(24.07%)       16709.40
    length=262207,align1=3,align2=5:        11984.40 (28.08%)       12678.10 
(23.91%)       16662.50
    length=524295,align1=0,align2=0:        24825.00 (25.00%)       24268.80 
(27.34%)       33400.00
    length=524303,align1=0,align2=3:        35731.20 (-6.53%)       25678.10 
(23.44%)       33540.60
    length=524319,align1=3,align2=0:        25893.80 (22.71%)       25725.00 
(23.22%)       33503.10
    length=524351,align1=3,align2=5:        25887.50 (22.86%)       25690.60 
(23.45%)       33559.40
    length=1048583,align1=0,align2=0:       50621.90 (0.30%)        50600.00 
(0.34%)        50771.90
    length=1048591,align1=0,align2=3:       53206.20 (0.54%)        51081.20 
(4.51%)        53493.80
    length=1048607,align1=3,align2=0:       53221.90 (0.32%)        51975.00 
(2.66%)        53393.80
    length=1048639,align1=3,align2=5:       53240.60 (0.36%)        51953.10 
(2.77%)        53431.20
    length=2097159,align1=0,align2=0:       103744.00 (-2.00%)      102447.00 
(-1.00%)      102425.00
    length=2097167,align1=0,align2=3:       108588.00 (-1.00%)      105159.00 
(2.00%)       107606.00
    length=2097183,align1=3,align2=0:       107678.00 (0.00%)       105250.00 
(2.00%)       108125.00
    length=2097215,align1=3,align2=5:       107906.00 (1.00%)       105841.00 
(3.00%)       109475.00
    length=4194311,align1=0,align2=0:       202994.00 (0.00%)       202500.00 
(1.00%)       204809.00
    length=4194319,align1=0,align2=3:       213350.00 (0.00%)       205997.00 
(3.00%)       213384.00
    length=4194335,align1=3,align2=0:       212653.00 (0.00%)       206444.00 
(3.00%)       212900.00
    length=4194367,align1=3,align2=5:       213044.00 (0.00%)       206084.00 
(3.00%)       213847.00
    length=8388615,align1=0,align2=0:       401294.00 (0.00%)       401231.00 
(0.00%)       401944.00
    length=8388623,align1=0,align2=3:       480872.00 (-14.00%)     406444.00 
(3.00%)       422900.00
    length=8388639,align1=3,align2=0:       422147.00 (0.00%)       407750.00 
(3.00%)       422803.00
    length=8388671,align1=3,align2=5:       442003.00 (-5.00%)      407125.00 
(3.00%)       423509.00
    length=16777223,align1=0,align2=0:      799809.00 (0.00%)       800000.00 
(0.00%)       801756.00
    length=16777231,align1=0,align2=3:      841184.00 (0.00%)       808525.00 
(4.00%)       843775.00
    length=16777247,align1=3,align2=0:      841166.00 (0.00%)       810147.00 
(3.00%)       843147.00
    length=16777279,align1=3,align2=5:      972569.00 (-16.00%)     808588.00 
(4.00%)       843731.00
    length=33554439,align1=0,align2=0:      1842240.00 (-0.01%)     1863590.00 
(-1.17%)     1841990.00
    length=33554447,align1=0,align2=3:      2103470.00 (-2.74%)     1919460.00 
(6.25%)      2047440.00
    length=33554463,align1=3,align2=0:      2075690.00 (-1.07%)     1930040.00 
(6.02%)      2053720.00
    length=33554495,align1=3,align2=5:      2110590.00 (-2.82%)     1924440.00 
(6.25%)      2052650.00
    
    Function: memcpy
    __memcpy_thunderx       __memcpy_falkor __memcpy_generic
    Variant: random
    
================================================================================
    max-size=4096:  44061.90 (5.85%)        38568.20 (17.59%)       46799.90
    max-size=8192:  42790.90 (5.27%)        38158.90 (15.52%)       45171.50
    max-size=16384:         44912.10 (2.25%)        38710.40 (15.75%)       
45945.00
    max-size=32768:         43577.90 (1.23%)        37975.10 (13.93%)       
44120.00
    max-size=65536:         44375.50 (1.04%)        38474.20 (14.20%)       
44840.60
    
        * manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
        * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
        memcpy_falkor.
        * sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
        Bump.
        (__libc_ifunc_impl_list): Add __memcpy_falkor.
        * sysdeps/aarch64/multiarch/memcpy.c: Likewise.
        * sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
        Add falkor.
        * sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
        New macro.

commit 9995c839a01cd8db17120cb2c0a80f81d858b179
Author: Adhemerval Zanella <address@hidden>
Date:   Tue May 16 16:05:35 2017 -0300

    manual: Document getcontext uc_stack value on Linux [BZ #759]
    
    As decribed in BZ#759, Linux getcontext implementation on Linux does
    differs from other SysV system about the returned uc_stack.  This is
    true not only for i386, but for all the architecture I could actually
    check (aarch64, arm, alpha, hppa, m68k, mips, mips64, mips64n32,
    powerpc, powerpc64, powerpc64le, s390x, sh, sparc, sparc64, and x86).
    
    And I think we should not change current behavior for some reasons:
    
    1. POSIX 2008 removed this SySV interface for a good reason and changing
       this behavior adds nothing for current portable code.  POSIX 2001
       specification does states that stack should be saved [1] and current
       GLIBC code does in a arch-specific manner (inside the mcontext_t)
       which allows the setcontext to work correctly.
    
    2. Changing this behavior would potentially require compat symbols and
       I see no gain in adding compat symbols for deprecated interfaces.
    
    3. Also, for comment #2 in BZ#759, it is up to kernel do setup the contents
       for ucontext_t and currently it does not provide the stack information
       as well.  Trying to change it is also another fix that does not worth
       the possible gains.
    
    Instead my proposal is to make it clear the current interface may differ
    depending of the underlying operational system.
    
    glibc documentation and close this bug as invalid.
    
        [BZ #759]
        * manual/setjmp.texi (getcontex): Document uc_stack value on Linux.
    
    [1] http://pubs.opengroup.org/onlinepubs/009695399/functions/getcontext.html

commit f17a42333f2eb0bd7ef5194167dd52f9770a6680
Author: Joseph Myers <address@hidden>
Date:   Tue Aug 8 17:14:49 2017 +0000

    Do not use __ptr_t.
    
    sys/cdefs.h has a macro __ptr_t, which a few places in glibc use
    instead of void *.  void * is a well-understood standard type for that
    purpose and in a post-C89 context there is no need for a macro for it;
    this patch changes those places to use void * directly instead.
    
    Unlike __long_double_t, __ptr_t is widely used outside glibc (or at
    least has many hits on codesearch.debian.net).  I don't know how many
    of those uses would break if sys/cdefs.h ceased to define the macro,
    but there's enough risk that this patch leaves the definition and just
    removes the uses within glibc; removal of the definition can be
    considered separately if desired.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t.
        (old_malloc_hook): Likewise.
        (old_memalign_hook): Likewise.
        (old_realloc_hook): Likewise.
        (struct hdr): Likewise.
        (flood): Likewise.
        (freehook): Likewise.
        (mallochook): Likewise.
        (memalignhook): Likewise.
        (reallochook): Likewise.
        (mprobe): Likewise.
        * malloc/mtrace.c (mallwatch): Likewise.
        (tr_old_free_hook): Likewise.
        (tr_old_malloc_hook): Likewise.
        (tr_old_realloc_hook): Likewise.
        (tr_old_memalign_hook): Likewise.
        (tr_where): Likewise.
        (lock_and_info): Likewise.
        (tr_freehook): Likewise.
        (tr_mallochook): Likewise.
        (tr_reallochook): Likewise.
        (tr_memalignhook): Likewise.
        * misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise.
        * misc/mmap.c (__mmap): Likewise.
        * misc/mmap64.c (__mmap64): Likewise.
        * misc/mprotect.c (__mprotect): Likewise.
        * misc/msync.c (msync): Likewise.
        * misc/munmap.c (__munmap): Likewise.
        * posix/posix_madvise.c (posix_madvise): Likewise.
        * socket/send.c (__send): Likewise.
        * socket/sendto.c (__sendto): Likewise.
        * socket/setsockopt.c (__setsockopt): Likewise.
        * string/memcmp.c (__ptr_t): Remove macro.
        (MEMCMP): Use void * instead of ptr_t.
        * string/memrchr.c (__ptr_t): Remove macro.
        (__memrchr): Use void * instead of ptr_t.
        * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise.
        * sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
        * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
        * sysdeps/mach/mprotect.c (__mprotect): Likewise.
        * sysdeps/mach/msync.c (msync): Likewise.
        * sysdeps/mach/munmap.c (__munmap): Likewise.
        * sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag):
        Likewise.
        * sysdeps/posix/getcwd.c (__getcwd): Likewise.
        * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy):
        Likewise.
        * sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise.
        * sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy):
        Likewise.
        * sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise.
        * sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise.
        * sysdeps/tile/memcmp.c (__ptr_t): Remove macro.
        (MEMCMP): Use void * instead of ptr_t.
        * sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise.
        * sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.

commit 0df595b23a829c9169ec418a19eef9006b4ae801
Author: Florian Weimer <address@hidden>
Date:   Tue Aug 8 18:48:05 2017 +0200

    getaddrinfo: Remove unreachable return statement from gaih_inet

commit 086df229eef36041cae4a633c6fde6150f18d75e
Author: H.J. Lu <address@hidden>
Date:   Tue Aug 8 08:41:08 2017 -0700

    i386: Add <startup.h> [BZ #21913]
    
    On Linux/i386, there are 3 ways to make a system call:
    
    1. call *%gs:SYSINFO_OFFSET.  This requires TLS initialization.
    2. call *_dl_sysinfo.  This requires relocation of _dl_sysinfo.
    3. int $0x80.  This is slower than #2 and #3, but works everywhere.
    
    When an object file is compiled with PIC, #1 is prefered since it is
    faster than #3 and doesn't require relocation of _dl_sysinfo.  For
    dynamic executables, ld.so initializes TLS.  However, for static
    executables, before TLS is initialized by __libc_setup_tls, #3 should
    be used for system calls.
    
    This patch adds <startup.h> which defines _startup_fatal and defaults
    it to __libc_fatal.  It replaces __libc_fatal with _startup_fatal in
    static executables where it is called before __libc_setup_tls is called.
    This header file is included in all files containing functions which are
    called before __libc_setup_tls is called.  On Linux/i386, when PIE is
    enabled by default, _startup_fatal is turned into ABORT_INSTRUCTION and
    I386_USE_SYSENTER is defined to 0 so that "int $0x80" is used for system
    calls before __libc_setup_tls is called.
    
    Tested on i686 and x86-64.  Without this patch, all statically-linked
    tests will fail on i686 when the compiler defaults to -fPIE.
    
        [BZ #21913]
        * csu/libc-tls.c: Include <startup.h> first.
        (__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
        * elf/dl-tunables.c: Include <startup.h> first.
        * include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
        * sysdeps/generic/startup.h: New file.
        * sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
        * sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
        (I386_USE_SYSENTER): New.  Defined to 0.

commit fc5ad7024c620cdfe9b76e94638aac83b99c5bf8
Author: Andreas Schwab <address@hidden>
Date:   Tue Aug 8 16:21:58 2017 +0200

    Don't use IFUNC resolver for longjmp or system in libpthread (bug 21041)
    
    Unlike the vfork forwarder and like the fork forwarder as in bug 19861,
    there won't be a problem when the compiler does not turn this into a tail
    call.

commit 852d63120783fae5bf85a067320dc4ba1ed59f11
Author: Adhemerval Zanella <address@hidden>
Date:   Mon Jul 17 10:59:59 2017 -0300

    posix: Set p{read,write}v2 to return ENOTSUP (BZ#21780)
    
    Different than other architectures hppa-linux-gnu define different values
    for ENOTSUP and EOPNOTSUPP, where the later is a Linux specific one.
    This leads to tst-preadwritev{64}v2 tests failures:
    
    $ ./testrun.sh misc/tst-preadvwritev2
    error: tst-preadvwritev2-common.c:35: preadv2 failure did not set errno to 
ENOTSUP (223)
    error: 1 test failures
    
    The straightforward fix is to return the POSIX defined ENOTSUP on all
    p{read,write}v{64}v2 implementations instead of Linux specific one.
    
    Checked on x86_64-linux-gnu and the tst-preadwritev{64}v2 on
    hppa-linux-gnu (although due the installed kernel on my testing system
    the pwritev{64}v2 with an invalid flag still fails due a known kernel
    issue [1]).
    
        [BZ #21780]
        * sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of
        EOPNOTSUPP.
        * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise.
        * sysdeps/posix/pwritev2.c (pwritev2): Likewise.
        * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise.
        * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise.
        * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
        * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
        * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise.
    
    [1] https://sourceware.org/ml/libc-alpha/2017-06/msg00726.html

commit cd65836b5fba2d34a4c04c15b47723ab9237b66a
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 7 23:41:32 2017 +0000

    Fix XPG4.2 bits/sigaction.h namespace (bug 21899).
    
    For XPG4.2, sa_sigaction, SA_ONSTACK, SA_RESETHAND, SA_RESTART and
    SA_NODEFER should be defined in signal.h, but they are only defined
    for other standards at present.
    
    This patch fixes the various bits/sigaction.h headers accordingly.
    All the fixes are essentially the same, except those for SPARC and
    Tile.
    
    For SPARC, the header (a) spuriously defined various nonstandard
    macros for __USE_UNIX98 || defined __USE_XOPEN2K8 and (b) defined some
    standard macros as aliases of nonstandard ones instead of the other
    way round.  This patch fixes the SPARC header to handle these macros
    the same way and with the same conditions as those for other
    architectures, so the standard macros are the primary ones and the
    other ones are defined only for __USE_MISC and are aliases of the
    standard ones where applicable.
    
    For Tile, the header spuriously defined the nonstandard macro
    SA_NOPTRACE for __USE_UNIX98 || defined __USE_XOPEN2K8; this is moved
    to __USE_MISC.
    
    (Those nonstandard macros are in a reserved namespace, but it seems
    desirable to be consistent between architectures as far as possible,
    and so not define them in standard modes anywhere.)
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        [BZ #21899]
        * bits/sigaction.h (struct sigaction): Define sa_handler and
        sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/s390/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.  Define directly rather than as alias.
        (SA_RESETHAND): Likewise.
        (SA_INTERRUPT): Define only for [__USE_MISC].
        (SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
        (SA_ONESHOT): Define as alias of SA_RESETHAND, only for
        [__USE_MISC].
        (SA_STACK): Define only for [__USE_MISC].
        * sysdeps/unix/sysv/linux/tile/bits/sigaction.h
        (struct sigaction): Define sa_handler and sa_sigaction using union
        also for [__USE_XOPEN_EXTENDED].
        (SA_ONSTACK): Change [__USE_UNIX98] condition to
        [__USE_XOPEN_EXTENDED].
        (SA_RESTART): Likewise.
        (SA_NODEFER): Likewise.
        (SA_RESETHAND): Likewise.
        (SA_NOPTRACE): Define only for [__USE_MISC].

commit d9fee042e252b229f8f967bf36492c97ec112fa8
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 7 19:55:34 2017 +0000

    Consistently use uintN_t not u_intN_t everywhere.
    
    This patch changes the remaining uses of the old nonstandard u_intN_t
    types in glibc to use the C99 uintN_t instead, except for the
    definitions of those typedefs and the tests of them in the c++-types
    test.  This follows the previous such fix for libm, and being
    consistent in using uintN_t makes sense as a global cleanup.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t.
        * catgets/catgetsinfo.h (struct catalog_obj): Likewise.
        (struct catalog_info): Likewise.
        * inet/htontest.c (lo): Likewise.
        (foo): Likewise.
        * inet/inet_lnaof.c (inet_lnaof): Likewise.
        * inet/inet_net.c (inet_network): Likewise.
        * inet/inet_netof.c (inet_netof): Likewise.
        * inet/rcmd.c (__ivaliduser): Likewise.
        (iruserok): Likewise.
        * locale/loadlocale.c (_nl_intern_locale_data): Likewise.
        * locale/programs/locale-spec.c (locale_special): Likewise.
        * nis/nis_findserv.c (struct findserv_req): Likewise.
        (__nis_findfastest_with_timeout): Likewise.
        * nss/test-netdb.c (test_network): Likewise.
        * resolv/inet_neta.c (inet_neta): Likewise.
        * resolv/ns_date.c (ns_datetosecs): Likewise.
        (SECS_PER_DAY): Likewise.
        * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r):
        Likewise.
        * resolv/res_comp.c (__putlong): Likewise.
        (__putshort): Likewise.
        (_getlong): Likewise.
        (_getshort): Likewise.
        * resolv/res_debug.c (p_time): Likewise.
        (precsize_ntoa): Likewise.
        (precsize_aton): Likewise.
        (latlon2ul): Likewise.
        (loc_aton): Likewise.
        (loc_ntoa): Likewise.
        * resolv/res_hconf.c (struct netaddr): Likewise.
        (_res_hconf_reorder_addrs): Likewise.
        * sunrpc/clnt_tcp.c (clnttcp_call): Likewise.
        (clnttcp_control): Likewise.
        * sunrpc/clnt_udp.c (clntudp_call): Likewise.
        (clntudp_control): Likewise.
        * sunrpc/clnt_unix.c (clntunix_call): Likewise.
        (clntunix_control): Likewise.
        * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
        * sunrpc/rpc/auth.h (union des_block): Likewise.
        * sunrpc/tst-udp-nonblocking.c (do_test): Likewise.
        * sunrpc/xdr_rec.c (struct rec_strm): Likewise.
        (xdrrec_create): Likewise.
        (xdrrec_endofrecord): Likewise.
        (flush_out): Likewise.
        * sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise.
        (xdrstdio_putlong): Likewise.
        * sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err):
        Likewise.

commit 8b1647877c7f797161dfe1a6b35eab8534d98f9f
Author: Joseph Myers <address@hidden>
Date:   Mon Aug 7 19:53:17 2017 +0000

    Remove __long_double_t.
    
    sys/cdefs.h has a macro __long_double_t used in two places in glibc.
    long double is a standard part of C since C89; there is no need for
    such an alias for it.  This patch removes that macro and uses long
    double directly everywhere.  As an implementation-namespace,
    undocumented symbol, it should not be considered part of the API for
    users, and codesearch.debian.net shows no sign of it being used
    outside glibc in a way that would break with this patch.
    
    Tested for x86_64.
    
        * misc/sys/cdefs.h (__long_double_t): Remove.
        * stdio-common/printf_fp.c (__printf_fp_l): Use long double
        instead of __long_double_t,
        * stdlib/strfmon_l.c (__vstrfmon_l): Likewise.

commit dd3e86ad7cf5ea1b5a42b7962732f98882c63ff8
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Aug 8 00:56:10 2017 +0530

    benchtests: Avoid a display error when running in text terminal
    
    The compare_strings.py script generates a graph for the benchmarks it
    performs a comparison on and that fails if X is not available.  Avoid
    the error and ensure that only the graph is generated and saved as a
    PNG file.
    
        * benchtests/scripts/compare_strings.py: Avoid display error
        when generating graph.

commit b115e819af637101d9d9b0d26c3685b7236d3fb1
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Aug 8 00:55:12 2017 +0530

    benchtests: Allow selecting baseline for compare_string.py
    
    This patch allows one to provide the function name using an optional
    -base option to compare all other functions against.  This is useful
    when pitching one implementation of a string function against
    alternatives.  In the absence of this option, comparisons are done
    against the first ifunc in the list.
    
        * benchtests/scripts/compare_strings.py (main): Add an
        optional -base option.
        (process_results): New argument base_func.

commit 7ee38e6040d34bca96ee668efbbd2f56b446319d
Author: Siddhesh Poyarekar <address@hidden>
Date:   Tue Aug 8 00:44:00 2017 +0530

    benchtests: Use TEST_NAME instead of hardcoding memcpy
    
    The hardcoded 'memcpy' name turns up in other derived tests like
    mempcpy.
    
           * benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of
           hardcoding memcpy.
           * benchtests/bench-memcpy-large.c (test_name): Likewise.
           * benchtests/bench-memcpy-random.c (test_name): Likewise.

commit d5afb38503b20d67348071b9ed105238b8da0e11
Author: Andreas Schwab <address@hidden>
Date:   Mon Aug 7 17:11:10 2017 +0200

    Fix missing redirects in testsuite targets

commit 57a72fa3502673754d14707da02c7c44e83b8d20
Author: H.J. Lu <address@hidden>
Date:   Mon Aug 7 08:19:59 2017 -0700

    x86-64: Add FMA multiarch functions to libm
    
    This patch adds multiarch functions optimized with -mfma -mavx2 to libm.
    e_pow-fma.c is compiled with $(config-cflags-nofma) due to PR 19003.
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
        e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
        slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
        halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
        and mptan-fma.
        (CFLAGS-doasin-fma.c): New.
        (CFLAGS-dosincos-fma.c): Likewise.
        (CFLAGS-e_asin-fma.c): Likewise.
        (CFLAGS-e_atan2-fma.c): Likewise.
        (CFLAGS-e_exp-fma.c): Likewise.
        (CFLAGS-e_log-fma.c): Likewise.
        (CFLAGS-e_pow-fma.c): Likewise.
        (CFLAGS-halfulp-fma.c): Likewise.
        (CFLAGS-mpa-fma.c): Likewise.
        (CFLAGS-mpatan-fma.c): Likewise.
        (CFLAGS-mpatan2-fma.c): Likewise.
        (CFLAGS-mpexp-fma.c): Likewise.
        (CFLAGS-mplog-fma.c): Likewise.
        (CFLAGS-mpsqrt-fma.c): Likewise.
        (CFLAGS-mptan-fma.c): Likewise.
        (CFLAGS-s_atan-fma.c): Likewise.
        (CFLAGS-sincos32-fma.c): Likewise.
        (CFLAGS-slowexp-fma.c): Likewise.
        (CFLAGS-slowpow-fma.c): Likewise.
        (CFLAGS-s_sin-fma.c): Likewise.
        (CFLAGS-s_tan-fma.c): Likewise.
        * sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
        * sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
        * sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
        * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.

commit 219dd320d69deb9068f6b2ce46034d0eb4db888a
Author: Joseph Myers <address@hidden>
Date:   Fri Aug 4 21:32:57 2017 +0000

    Reimplement min_of_type using __MATH_TG.
    
    This patch reimplements the libm-internal min_of_type macro to use
    __MATH_TG instead of its own local type-generic implementation, so
    simplifying the code and reducing the number of different type-generic
    implementation variants in use in glibc.
    
    Tested for x86_64.
    
        * sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro.
        (min_of_type_f): New macro.
        (min_of_type_): Likewise.
        (min_of_type_l): Likewise.
        (min_of_type_f128): Likewise.
        (min_of_type): Define using __MATH_TG and taking an expression
        argument.
        (math_check_force_underflow): Pass expression instead of type to
        min_of_type.
        (math_check_force_underflow_nonneg): Likewise.

commit 64d4dea6cdcd908ea43a0eed5fc6262b1c6c205a
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 13:38:05 2017 -0700

    x86: Remove assembly versions of HAS_CPU_FEATURE/HAS_ARCH_FEATURE
    
    Since all x86 IFUNC selectors are implemented in C, assembly versions of
    HAS_CPU_FEATURE and HAS_ARCH_FEATURE can be removed.
    
        * sysdeps/x86/cpu-features.h [__ASSEMBLER__]
        (LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX,
        HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed.

commit 973da22a356ed072133562e6f1ecd833c31fa9a0
Author: H.J. Lu <address@hidden>
Date:   Wed Jul 19 06:54:03 2017 -0700

    i686: Implement IFUNC selectors in C
    
        * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
        bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
        memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
        memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
        strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
        strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
        memcpy_chk-nonshared, mempcpy_chk-nonshared,
        memmove_chk-nonshared and memset_chk-nonshared
        * sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
        * sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
        * sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/bzero.c: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
        * sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
        * sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/memchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
        * sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/memmove.c: Likewise.
        * sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
        * sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
        * sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/memset.c: Likewise.
        * sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
        * sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcat.c: Likewise.
        * sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
        * sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strlen.c: Likewise.
        * sysdeps/i386/i686/multiarch/strncase.c: Likewise.
        * sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
        * sysdeps/i386/i686/multiarch/strncat.c: Likewise.
        * sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
        * sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
        * sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
        * sysdeps/i386/i686/multiarch/strspn.c: Likewise.
        * sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
        * sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
        * sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
        * sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
        * sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
        * sysdeps/i386/i686/multiarch/bcopy.S: Removed.
        * sysdeps/i386/i686/multiarch/bzero.S: Likewise.
        * sysdeps/i386/i686/multiarch/memchr.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
        * sysdeps/i386/i686/multiarch/memmove.S: Likewise.
        * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
        * sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
        * sysdeps/i386/i686/multiarch/memset.S: Likewise.
        * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
        * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
        * sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcat.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
        * sysdeps/i386/i686/multiarch/strlen.S: Likewise.
        * sysdeps/i386/i686/multiarch/strncase.S: Likewise.
        * sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
        * sysdeps/i386/i686/multiarch/strncat.S: Likewise.
        * sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
        * sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
        * sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
        * sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
        * sysdeps/i386/i686/multiarch/strspn.S: Likewise.
        * sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
        * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
        * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
        * sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
        * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
        * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.

commit 8537e0f6cf8a1c245612fd3437789d2e16278e3b
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 13:03:44 2017 -0700

    x86-64: Implement libmathvec IFUNC selectors in C
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
        Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
        svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
        svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
        svml_d_log2_core-sse2, svml_d_log4_core-sse,
        svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
        svml_d_pow4_core-sse, svml_d_pow8_core-avx2
        svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
        svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
        svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
        svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
        svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
        svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
        svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
        svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
        svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
        svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
        svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
        svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
        * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
        * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
        * sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2v_cos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN4v_cos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN8v_cos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2v_exp): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN4v_exp): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN8v_exp): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2v_log): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN4v_log): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN8v_log): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2vv_pow): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN4vv_pow): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN8vv_pow): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2v_sin): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4v_sin): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN8v_sin): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN2vvv_sincos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN4vvv_sincos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN8vvv_sincos): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16v_cosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4v_cosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8v_cosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16v_expf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4v_expf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8v_expf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16v_logf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4v_logf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8v_logf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16vv_powf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4vv_powf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8vv_powf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16vvv_sincosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4vvv_sincosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8vvv_sincosf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVeN16v_sinf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVbN4v_sinf): Removed.
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S:  Renamed to
        ...
        * sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
        Don't include <sysdep.h> nor <init-arch.h>.
        (_ZGVdN8v_sinf): Removed.

commit 10a87ca476bfd3ada1d7ecda377569055ea2891c
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 13:01:59 2017 -0700

    x86-64: Implement libm IFUNC selectors in C
    
        * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
        Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1,
        s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1,
        s_rint-sse4_1 and s_rintf-sse4_1.
        * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file.
        * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
        * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__ceil): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__ceilf): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__floor): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__floorf): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__nearbyint): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__nearbyintf): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__rint): Removed.
        * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ...
        * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This.  Don't
        include <machine/asm.h> nor <init-arch.h>.  Include <sysdep.h>.
        (__rintf): Removed.

commit 1e8e527dd9718eaebe8417b73befb0c821b7b327
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 12:59:35 2017 -0700

    i386: Support static PIE in start.S
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.  Also avoid dynamic relocation against main in static PIE since
    _start is the entry point before the executable is relocated.
    
        * sysdeps/i386/start.S (_start): Check Check PIC instead of
        SHARED.  Avoid dynamic relocation against main in static PIE.

commit e13daad7ac81968e9aaa4a87497f898bb15f4ef8
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 12:58:01 2017 -0700

    Compile tst-prelink.c without PIE [BZ #21815]
    
    tst-prelink.c checks for conflict with GLOB_DAT relocation against stdio.
    On i386, there is no GLOB_DAT relocation against stdio with PIE.  We
    should compile tst-prelink.c without PIE.
    
        [BZ #21815]
        * elf/Makefile (CFLAGS-tst-prelink.c): New.
        (LDFLAGS-tst-prelink): Likewise.

commit 627c69c838e75d69f46a7cc7dd2bafca03adbf60
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 12:30:22 2017 -0700

    i386: Update I386_USE_SYSENTER for early PIC syscall
    
    Define I386_USE_SYSENTER to 0 or 1 so that special versions of syscalls
    with "int $0x80" can be provided for static PIE during self relocation.
    Also check PIC instead SHARED for PIC version of syscall macros.
    
        * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
        Define to I386_USE_SYSENTER to 0 or 1 if not defined.
        (ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC.
        (INTERNAL_SYSCALL_MAIN_INLINE): Likewise.
        (INTERNAL_SYSCALL_NCS): Likewise.
        (LOADARGS_1): Likewise.
        (LOADARGS_5): Likewise.
        (RESTOREARGS_1): Likewise.
        (RESTOREARGS_5): Likewise.

commit fc11ff8d0acebbf0802854156d45cb1d8bb7c079
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 12:27:00 2017 -0700

    x86-64: Use IFUNC memcpy and mempcpy in libc.a
    
    Since apply_irel is called before memcpy and mempcpy are called, we
    can use IFUNC memcpy and mempcpy in libc.a.
    
        * sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED.
        (MEMPCPY_SYMBOL): Likewise.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a.
        * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include
        in libc.a.
        * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
        * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
        Likewise.
        * sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a.
        (__hidden_ver1): Don't use in libc.a.
        * sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S
        (__mempcpy): Don't create a weak alias in libc.a.
        * sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support
        libc.a.
        * sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a.
        (__hidden_ver1): Don't use in libc.a.

commit 19f1a11e7ea2a5082bae9d9a079338c5658ba954
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 12:17:15 2017 -0700

    Check linker support for INSERT in linker script
    
    Since gold doesn't support INSERT in linker script:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21676
    
    tst-split-dynreloc fails to link with gold.  Check if linker supports
    INSERT in linker script before using it.
    
        * config.make.in (have-insert): New.
        * configure.ac (libc_cv_insert): New.  Set to yes if linker
        supports INSERT in linker script.
        (AC_SUBST(libc_cv_insert): New.
        * configure: Regenerated.
        * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
        if $(have-insert) == yes.

commit 3093fd5e5d418b91411aa9b061850b8773433cf7
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 11:47:08 2017 -0700

    Run vismain only if linker supports protected data symbol
    
    Gold doesn't support protected data symbol:
    
    configure:5672: checking linker support for protected data symbol
    configure:5682: gcc -fuse-ld=gold -nostdlib -nostartfiles 
-fno-stack-protector -fPIC -shared conftest.c -o conftest.so
    configure:5685: $? = 0
    configure:5692: gcc -fuse-ld=gold -nostdlib -nostartfiles 
-fno-stack-protector conftest.c -o conftest conftest.so
    /usr/local/bin/ld.gold: error: /tmp/ccXWoofs.o: cannot make copy relocation 
for protected symbol 'bar', defined in conftest.so
    collect2: error: ld returned 1 exit status
    
    Run vismain only if linker supports protected data symbol.
    
        * elf/Makefile (tests): Add vismain only if
        $(have-protected-data) == yes.
        (tests-pie): Likewise.

commit d2cf37c0a2a375cf2fde69f1afbcc49e45368fc4
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 11:14:19 2017 -0700

    x86-64: Use _dl_runtime_resolve_opt only with AVX512F [BZ #21871]
    
    On AVX machines with XGETBV (ECX == 1) like Skylake processors,
    
    (gdb) disass _dl_runtime_resolve_avx_opt
    Dump of assembler code for function _dl_runtime_resolve_avx_opt:
       0x0000000000015890 <+0>: push   %rax
       0x0000000000015891 <+1>: push   %rcx
       0x0000000000015892 <+2>: push   %rdx
       0x0000000000015893 <+3>: mov    $0x1,%ecx
       0x0000000000015898 <+8>: xgetbv
       0x000000000001589b <+11>:        mov    %eax,%r11d
       0x000000000001589e <+14>:        pop    %rdx
       0x000000000001589f <+15>:        pop    %rcx
       0x00000000000158a0 <+16>:        pop    %rax
       0x00000000000158a1 <+17>:        and    $0x4,%r11d
       0x00000000000158a5 <+21>:        bnd je 0x16200 
<_dl_runtime_resolve_sse_vex>
    End of assembler dump.
    
    is slower than:
    
    (gdb) disass _dl_runtime_resolve_avx_slow
    Dump of assembler code for function _dl_runtime_resolve_avx_slow:
       0x0000000000015850 <+0>: vorpd  %ymm0,%ymm1,%ymm8
       0x0000000000015854 <+4>: vorpd  %ymm2,%ymm3,%ymm9
       0x0000000000015858 <+8>: vorpd  %ymm4,%ymm5,%ymm10
       0x000000000001585c <+12>:        vorpd  %ymm6,%ymm7,%ymm11
       0x0000000000015860 <+16>:        vorpd  %ymm8,%ymm9,%ymm9
       0x0000000000015865 <+21>:        vorpd  %ymm10,%ymm11,%ymm10
       0x000000000001586a <+26>:        vpcmpeqd %xmm8,%xmm8,%xmm8
       0x000000000001586f <+31>:        vorpd  %ymm9,%ymm10,%ymm10
       0x0000000000015874 <+36>:        vptest %ymm10,%ymm8
       0x0000000000015879 <+41>:        bnd jae 0x158b0 
<_dl_runtime_resolve_avx>
       0x000000000001587c <+44>:        vzeroupper
       0x000000000001587f <+47>:        bnd jmpq 0x16200 
<_dl_runtime_resolve_sse_vex>
    End of assembler dump.
    (gdb)
    
    since xgetbv takes much more cycles than single cycle operations like
    vpord/vvpcmpeq/ptest.  _dl_runtime_resolve_opt should be used only with
    AVX512 where AVX512 instructions lead to lower CPU frequency on Skylake
    server.
    
        [BZ #21871]
        * sysdeps/x86/cpu-features.c (init_cpu_features): Set
        bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.

commit c8a0e6ec03b2646842fe3c7c59955f55175f3669
Author: H.J. Lu <address@hidden>
Date:   Fri Aug 4 10:56:40 2017 -0700

    x86: Remove __memset_zero_constant_len_parameter [BZ #21790]
    
    __memset_zero_constant_len_parameter should be removed by
    
    commit 61062f56304750c367c5c1533351621353c112a7
    Author: Ulrich Drepper <address@hidden>
    Date:   Tue Mar 1 00:35:23 2005 +0000
    
        2005-02-24  Roland McGrath  <address@hidden>
    
                * debug/Versions (libc: GLIBC_2.4): Remove
                __memset_zero_constant_len_parameter.
                * sysdeps/generic/memset_chk.c: Remove alias and warning.
                * misc/sys/cdefs.h (__warndecl): New macro.
                * debug/warning-nop.c: New file.
                * string/bits/string3.h (memset): Call __warn_memset_zero_len 
with no
                arguments, instead of calling 
__memset_zero_constant_len_parameter.
                Use __warndecl for __warn_memset_zero_len.
                * debug/Makefile (routines): Add $(static-only-routines).
                (static-only-routines): New variable.
    
    This patch removes the last emaining pieces of it.  Tested it on i586,
    i686 and x86-64.
    
        [BZ #21790]
        * sysdeps/i386/i586/memset.S
        (__memset_zero_constant_len_parameter): Removed.
        * sysdeps/i386/i686/memset.S
        (__memset_zero_constant_len_parameter): Likewise.
        * sysdeps/i386/i686/multiarch/memset_chk.S
        (__memset_zero_constant_len_parameter): Likewise.
        * sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter):
        Likewise.

commit 2b34e2716f1e84b2c3457ffc868c3dc775b55845
Author: Aurelien Jarno <address@hidden>
Date:   Thu Aug 3 22:35:48 2017 +0000

    Fix the return type of the getentropy stub
    
    The return type of the getentropy stub is wrongly defined as ssize_t,
    while both the <sys/random.h> header and the Linux implementation
    define it as int. This patch fixes that.
    
    Changelog:
        * stdlib/getentropy.c (getentropy): Change return type to int.

commit 144bdab050bdd78c327d98a79b15c5b164e1d56f
Author: Aurelien Jarno <address@hidden>
Date:   Thu Aug 3 22:33:19 2017 +0000

    i686/multiarch: Regenerate ulps
    
    This comes from running “make regen-ulps” on an AMD Opteron 2378 CPU.
    
    Changelog:
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.

commit 24ab7723b8d3ca8072cadbddc003e80d6cf7edf1
Author: Joseph Myers <address@hidden>
Date:   Thu Aug 3 19:55:04 2017 +0000

    Consistently use uintN_t not u_intN_t in libm.
    
    This patch changes libm code to make consistent use of C99 uintN_t
    types instead of sometimes using those and sometimes using the older
    nonstandard u_intN_t names.  This makes sense as a cleanup in its own
    right, and also facilitates merges to GCC's libquadmath (which gets
    the types from stdint.h and so may not have u_intN_t available at
    all).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
        * math/s_nextafter.c (__nextafter): Use uintN_t instead of
        u_intN_t.
        * math/s_nexttowardf.c (__nexttowardf): Likewise.
        * sysdeps/generic/math_private.h (ieee_double_shape_type):
        Likewise.
        (ieee_float_shape_type): Likewise.
        * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise.
        * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
        * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise.
        * sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise.
        * sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise.
        * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise.
        * sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise.
        * sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise.
        * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
        Likewise.
        * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
        * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
        (__ieee754_yn): Likewise.
        * sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
        * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
        * sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2):
        Likewise.
        * sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise.
        * sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise.
        * sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise.
        * sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise.
        (__erfc): Likewise.
        * sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise.
        * sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise.
        * sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise.
        * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise.
        * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise.
        * sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling):
        Likewise.
        * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise.
        * sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise.
        * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
        * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise.
        * sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise.
        * sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise.
        * sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise.
        * sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise.
        * sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise.
        * sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c
        (__issignaling): Likewise.
        * sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise.
        * sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise.
        * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
        Likewise.
        * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
        * sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
        * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
        * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f):
        Likewise.
        * sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf):
        Likewise.
        * sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise.
        * sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise.
        * sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise.
        * sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise.
        (__erfcf): Likewise.
        * sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise.
        * sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
        * sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise.
        * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf):
        Likewise.
        * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
        * sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf):
        Likewise.
        * sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
        * sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise.
        * sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
        * sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise.
        * sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise.
        * sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise.
        * sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise.
        * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
        (__ieee754_ynl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
        * sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise.
        * sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise.
        * sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise.
        * sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
        * sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf):
        Likewise.
        * sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise.
        * sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise.
        * sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl):
        Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
        Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
        Likewise.
        * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c
        (__ieee754_remainderl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl):
        Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf):
        Likewise.
        * sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise.
        * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
        Likewise.
        * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
        (__ieee754_y0l): Likewise.
        (pzero): Likewise.
        (qzero): Likewise.
        * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
        (__ieee754_y1l): Likewise.
        (pone): Likewise.
        (qone): Likewise.
        * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
        (__ieee754_ynl): Likewise.
        * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise.
        (__ieee754_lgammal_r): Likewise.
        * sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l):
        Likewise.
        * sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise.
        (__erfcl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl):
        Likewise.
        * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
        * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf):
        Likewise.
        * sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise.
        * sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise.
        * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf):
        Likewise.
        * sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl):
        Likewise.
        * sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise.
        * sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise.
        * sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise.

commit 08897a57a8dc494dcef8cd6a643899f327e555f2
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 3 17:29:00 2017 +0200

    Add yesstr and nostr for doi_IN, kok_IN, and sat_IN
    
        For the locales doi_IN,  kok_IN, and sat_IN, the words for
        “yes” and “no” were apparently in yesexpr and noexpr.
        Copy them from there to add yesstr and nostr.
        Also make yesexpr and noexpr more readable by using
        the POSIX portable character set.
    
        * locales/doi_IN (LC_MESSAGES): Add yesstr and nostr.
        * locales/kok_IN (LC_MESSAGES): Add yesstr and nostr.
        * locales/sat_IN (LC_MESSAGES): Add yesstr and nostr.

commit 2aad4b04ad7b17a2e6b0e66d2cb4bc559376617b
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 3 12:41:26 2017 +0200

    Revert “Fix yesexpr in en_DK locale”
    
        This reverts commit 8f75515080ee099030547ba5bcae59e800a2cc08
    
        Revert “Fix yesexpr in en_DK locale”.
    
        * locales/en_DK (LC_MESSAGES): Restore original yesexpr, noexpr,
        yesstr, nostr. Convert them to ASCII and add a comment why
        we want to have them like this.

commit 964263bb8d650f1681665c55704fb01a8e725621
Author: Florian Weimer <address@hidden>
Date:   Thu Aug 3 12:33:00 2017 +0200

    getaddrinfo: Release resolver context on error in gethosts [BZ #21885]

commit 1f22702ea29f93d6e8acc835317363c22134ba6f
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 3 11:46:45 2017 +0200

    drop redundant ([eE][sS])? and [oO]? from yesexpr and noexpr in km_KH locale
    
        * locales/km_KH (LC_MESSAGES): drop redundant ([eE][sS])? and [oO]?
        from yesexpr and noexpr

commit a0b7f996b73aabf650bd6f31c7e3a036572b6bff
Author: Mike FABIAN <address@hidden>
Date:   Thu Aug 3 11:33:00 2017 +0200

    Drop redundant .* from yesexpr and noexpr in agr_PE locale
    
    And make the expressions more readable by using the POSIX portable 
character set
    instead of Unicode code points.
    
        * locales/agr_PE (LC_MESSAGES): drop .* from yesexpr and noexpr

commit 6244070d41fe1d556c171d3f115a8f7d4f97d21c
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 28 08:55:35 2017 +0530

    Added new Locale bho_NP
    
    Bhojpuri is one of the most common languages in Nepal and India.
    
http://codefornepal.org/en/2014/02/top-10-languages-spoken-as-mother-tongues-in-nepal/
    https://en.wikipedia.org/wiki/Bhojpuri_language
    
    Added "bho_NP" locale and Reference is taken form "bho_IN".
    
        [BZ #21845]
        * locales/bho_NP: New file, Bhojpuri locale for Nepal.
        * SUPPORTED: Add bho_NP/UTF-8

commit 8f75515080ee099030547ba5bcae59e800a2cc08
Author: Akhilesh Kumar <address@hidden>
Date:   Mon Jul 31 12:05:28 2017 +0530

    Fix yesexpr in en_DK locale
    
        [BZ #21867]
        * locales/en_DK (LC_MESSAGES): Fix yesexpr

commit 1b2be2732fc9bf09d03ac830f03f3c295f3b1687
Author: Akhilesh Kumar <address@hidden>
Date:   Fri Jul 28 09:40:45 2017 +0530

    Fix abday in zh_SG
    
    Make it the same as in zh_CN and zh_TW which agrees with "narrow" in CLDR.
    
        [BZ #21853]
        * locales/zh_SG (LC_TIME): Fix abday

commit e98c925fa4f6486447eb20676755dbf9eb36a110
Author: Alan Modra <address@hidden>
Date:   Thu Aug 3 15:39:21 2017 +0930

    tst-tlsopt-powerpc as a shared lib
    
    This makes the __tls_get_addr_opt test run as a shared library, and so
    actually test that DTPMOD64/DTPREL64 pairs are processed by ld.so to
    support the __tls_get_adfr_opt call stub fast return.  After a
    2017-01-24 patch (binutils f0158f4416) ld.bfd no longer emitted
    unnecessary dynamic relocations against local thread variables,
    instead setting up the __tls_index GOT entries for the call stub fast
    return.  This meant tst-tlsopt-powerpc passed but did not check ld.so
    relocation support.  After a 2017-07-16 patch (binutils 676ee2b5fa)
    ld.bfd no longer set up the __tls_index GOT entries for the call stub
    fast return, and tst-tlsopt-powerpc failed.
    
    Compiling mod-tlsopt-powerpc.c with -DSHARED exposed a bug in
    powerpc64/tls-macros.h, which defines a __TLS_GET_ADDR macro that
    clashes with one defined in dl-tls.h.  The tls-macros.h version is
    only used in that file, so delete it and expand.
    
        * sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from
        tst-tlsopt-powerpc.c with function name change and no test harness.
        * sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test.
        Call tls_get_addr_opt_test.
        * sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define.
        (modules-names): Add mod-tlsopt-powerpc.
        (mod-tlsopt-powerpc.so-no-z-defs): Define.
        (tst-tlsopt-powerpc): Depend on .so.
        * sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't
        define.  Expand use in TLS_GD and TLS_LD.

commit 3da5756ee851c40cb7d4469f4e0ed9ff361977ad
Author: Samuel Thibault <address@hidden>
Date:   Wed Aug 2 23:07:58 2017 +0200

    Add missing include for pthread_setcancelstate
    
    * sysdeps/posix/shm_open.c: Include <pthread.h>.

commit 8ee1abdb4b2c92fb5f189aabec34d1b7d54ac332
Author: Samuel Thibault <address@hidden>
Date:   Wed Aug 2 23:29:57 2017 +0200

    [hurd]: Add __libc_init_secure stub
    
    csu/libc-start.c now insists on calling __libc_init_secure, while the Hurd
    port already implements it "very early" in dl-sysdep.c and init-first.c
    
        * sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define
        function.

commit 42df8d5921d9ce28f44694ae943efb432b5e9aa7
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 2 20:16:05 2017 +0000

    Fix tgmath.h for __int128 (bug 21686).
    
    When a tgmath.h macro is passed a double argument and an argument of
    type __int128, it generates a call to a long double function (although
    the result still gets converted to type double).  __int128 is similar
    enough to integer types that it should be handled consistently like
    them, so always like double for these macros rather than sometimes
    like double and sometimes like long double.  This patch fixes the
    logic accordingly and makes gen-tgmath-tests.py generate tests for
    __int128.
    
    Tested for x86_64 and x86.
    
        [BZ #21686]
        * math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before
        comparing size with that of double.
        (__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
        (__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
        (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
        (__TGMATH_TERNARY_REAL_ONLY): Likewise.
        (__TGMATH_BINARY_REAL_IMAG): Likewise.
        * math/gen-tgmath-tests.py (Type.init_types): Create __int128 and
        unsigned __int128 types.

commit b7f95f493b47abfd8f6320b3492b25a2beaa6aa1
Author: Steve Ellcey <address@hidden>
Date:   Wed Aug 2 12:57:58 2017 -0700

    Remove CFLAG settings that turn off warning (no longer needed).
    
    2017-08-02  Steve Ellcey  <address@hidden>
    
        * localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
        CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
        CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
        CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
        CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.

commit 5b736bc9b55115e67129e77db4de6cf193054cd2
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 2 10:27:14 2017 -0700

    x86-64: Check PIC instead of SHARED in start.S
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.
    
        * sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED.

commit dfc93c41eebef639ba2d1f304f4d52ab6b834684
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 2 10:25:11 2017 -0700

    i386: Check PIC to enable PIC setups in multiarch functions
    
    Check PIC, instead of SHARED, to enable PIC setups.
    
        * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead
        of SHARED.
        * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise.
        * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
        * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
        * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
        * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.

commit 2fee621de0776a6e729c3b18c27442e00733f2b2
Author: Joseph Myers <address@hidden>
Date:   Wed Aug 2 16:09:01 2017 +0000

    Fix tgmath.h for bit-fields (bug 21685).
    
    The tgmath.h macros produce errors for bit-field arguments, because
    they apply sizeof and typeof to the arguments.  This patch fixes them
    to use unary + systematically before using sizeof or typeof on
    arguments that might be bit-fields (note that __real__ of a bit-field
    is still a bit-field for this purpose, since it's an lvalue).
    gen-tgmath-tests.py is extended to add tests for this case.
    
    Tested for x86_64.
    
        [BZ #21685]
        * math/tgmath.h (__tgmath_real_type): Use unary + on potentially
        bit-field expressions passed to sizeof or typeof.
        [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (__TGMATH_F128): Likewise.
        [__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
        (__TGMATH_CF128): Likewise.
        (__TGMATH_UNARY_REAL_ONLY): Likewise.
        (__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
        (__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
        (__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise.
        (__TGMATH_BINARY_REAL_ONLY): Likewise.
        (__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
        (__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
        (__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
        (__TGMATH_TERNARY_REAL_ONLY): Likewise.
        (__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
        (__TGMATH_UNARY_REAL_IMAG): Likewise.
        (__TGMATH_UNARY_IMAG): Likewise.
        (__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
        (__TGMATH_BINARY_REAL_IMAG): Likewise.
        * math/gen-tgmath-tests.py (Type.init_types): Create bit_field
        type.
        (define_vars_for_type): Handle bit_field type specially.
        (Tests.__init__): Declare structure with bit-field element.

commit b358255f953943967398e19066eb266c6ea881b9
Author: H.J. Lu <address@hidden>
Date:   Wed Aug 2 08:32:00 2017 -0700

    i386: Don't define multiarch __memmove_chk in libc.a [BZ #21791]
    
    There is no need to define multiarch __memmove_chk in libc.a since they
    aren't used at all.
    
        [BZ #21791]
        * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
        (MEMCPY_CHK): Define only if SHARED is defined.
        * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK):
        Likewise.
        * sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK):
        Likewise.

commit edf66db113cdaded68871e13ccaae158eef2a321
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 20:57:34 2017 +0530

    Rotate ChangeLog correctly
    
    I incorrectly assumed that the ChangeLog numbers (.1, .2, etc.) are in
    order.  They're not and the latest non-current ChangeLog is the one
    with the highest number.  Fixed.

commit 92c3af3c140f671ea49c751368d17df2e10d0eeb
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 20:45:20 2017 +0530

    Rotate ChangeLog

commit 00cdcf5a4110f7ac68651f5662693c82f7bffaca
Author: Siddhesh Poyarekar <address@hidden>
Date:   Wed Aug 2 19:23:16 2017 +0530

    Open master for development

-----------------------------------------------------------------------


hooks/post-receive
-- 
glibc maintenance



reply via email to

[Prev in Thread] Current Thread [Next in Thread]